Niedawno dostałem do rozwiązania względnie proste zadanie: wypełnić kolumnę Y w Excelu losowo wybranymi wartościami z kolumny X. Mogą się powtarzać.
Rozwiązanie jest łatwe, chociaż na pierwszy rzut oka nieoczywiste:
Wyznaczamy ilość wszystkich elementów N w kolumnie X
Następnie dla każdej komórki w kolumnie Y:
- Losujemy liczbę P z przedziału 1..N
- Wstawiamy P-ty element kolumny X do komórki w kolumnie Y.
A jak to zrobić w Excelu?
A tak:

No dobra, widać, że działa, ale jak to właściwie jest zrobione?
A tak:

Po rozebraniu tego na kawałki wygląda to następująco:
Funkcja INDEX potrzebuje trzech argumentów: tablicy, numeru wiersza oraz numeru kolumny; zwraca wartość z tablicy z zadanego wiersza / kolumny.
Tablica jest zakodowana na stałe: $A$2:$A$17 – to nasza jednokolumnowa tablica X.
Numer wiersza losujemy z wartości między 1 a COUNTA(tablica). COUNTA to z kolei funkcja, która zlicza ilość niepustych komórek w tablicy.
Numer kolumny ustawiamy na 1 bo X jest tablicą jednokolumnową.
Proste?
No pewnie że proste.