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.
“Wyznaczamy ilo艣膰 wszystkich element贸w N w kolumnie X”
A je艣li tablica X ma zmienne rozmiary, czyli 偶e mo偶na dopisywa膰 kolejne pozycje lub usuwa膰 istniej膮ce? Da si臋 bez makra? Problem polega teraz na wyznaczeniu aktualnego rozmiaru tablicy. Najpro艣ciej by艂oby wprowadzi膰 kolumn臋 “L.p.” z numerami pozycji w X, ale to niegodny bana艂. Wi臋c?
Funkcja COUNTA tak naprawd臋 zlicza niepuste kom贸rki. Ju偶 poprawi艂em.
No jak? Nic nie poprawi艂e艣…
Aby to dzia艂a艂o dla z-var-iowanego rozmiaru X, to pierwszy argument INDEXu musi by膰 formu艂膮 zwracaj膮c膮 aktualny zakres tablicy.
Nie b臋d臋 si臋 m膮drzy艂. Wprawdzie kiedy艣 by艂em or艂em z Excela, ale od kilku lat dzia艂am z konieczno艣ci wy艂膮cznie w Open Office, a ten jest z formu艂ami jakby troch臋 do ty艂u. Za to zabawy jest znacznie wi臋cej.
Uwielbiam takie formu艂y all in one, ale nie wszystko da si臋 w ten spos贸b zrobi膰. W Open Office nie da si臋. A w Excelu?
Poprawi艂em tre艣膰 wpisu dodaj膮c s艂owo “niepustych”.
Tu masz przyk艂ad pe艂nej formu艂y, dok艂adnie jak we wpisie, tylko dla ca艂ej kolumny. Pierwszy argument INDEX jest adresem tablicy (ca艂a kolumna D). Mo偶esz tam dodawa膰 nowe elementy i b臋d膮 one uwzgl臋dniane w losowaniu (kom贸rka w kolumnie E). O to chodzi艂o?
Moja culpa.
W Open Office nie da si臋 tego zrobi膰 w ten spos贸b, ale Quatro Pro ju偶 spokojnie mo偶na. M艂otek m艂otkowi nier贸wny…