Arkusz kalkulacyjny, to potężne narzędzie do wszelakich obliczeń i zarządzania dużymi zbiorami danych. Co zrobić, jeśli nie można użyć makropolecenia, a koniecznie należy przeszukać duże zbiory danych i wybrać z nich odpowiednie informacje? Najprostsze rozwiązanie, to funkcja wyszukaj.pionowo lub tabela przestawna, lecz dużo efektywniejsze jest wykorzystanie formuł tablicowych. Przykład opracowany dla firmy SKANSKA zlicza części występujące w tabeli
=SUMA(JEŻELI(LICZ.JEŻELI(A5:A1004;WIERSZ(A1:A1000))>0;1;0))
W kolumnie oznaczonej CZĘŚCI użytkownik wpisuje numery pewnych podzespołów. Numery te mogą się powtarzać i mogą być w przedziale 1 do 1000. Naszym zadaniem jest policzyć ile różnych numerów podzespołów wpisano. Na przykład jeżeli wpisane są następujące numery: 1,2,5,3,5,2,1, to wynik wynosi 4 (bo 4 różne numery: 1,2,3,5).
Na obrazku obok przedstawiono kolejne operacje, które wykonywane są na wektorach w pamięci komputera.
Objaśnienia do formuły tablicowej:
=SUMA(JEŻELI(LICZ.JEŻELI(A5:A1004;WIERSZ(A1:A1000))>0;1;0))
WIERSZ(A1:A1000) tworzy wektor, z kolejnymi liczbami naturalnymi od 1 do 1000.
LICZ.JEŻELI(A5:A1004; ... ) porównuje numery części z liczbami naturalnymi i zlicza ilość wystąpień numerów części, np. część o numerze 5 występuje 2 razy
JEŻELI( ... >0;1;0) jeżeli dany numer części występuje więcej niż 1 raz, to w nowym wektorze wpisuje 1, w przeciwnym wypadku wpisuje 0 (każdy numer części, który występuje na liście ma przypisaną jedynkę)
SUMA(...) sumujemy jedynki i otrzymujemy ilość wpisanych części
Wacław Libront