Oto bardzo przydatna funkcja. Narodziła się z potrzeby stworzenia arkusza analizującego plan produkcyjny, czyli pewien ciąg liczb przyporządkowanych do dni modeli produkcyjnych i dni w kalendarzu. Oto jak wygląda ciąg wejściowy:



Jak widać plan produkcyjny rozpoczyna się w przypadku pierwszej pozycji 29 czerwca (10 sztuk). Co zrobić by Excel odnalazł tę wartość i podał kiedy dany LOT (partia produkcyjna) będzie produkowany. Dodatkowo przyda się również ilość dni produkcyjnych LOTu.

Oto pierwsza funkcja:


[C16]=INDEX(E9:K9;MATCH(TRUE;E9:K9<>0;0))


[PL : INDEX=INDEKS
MATCH=PODAJ.POZYCJĘ
TRUE=PRAWDA]


Uwaga: Jest to funkcja ciągu a zatem zatwierdzenie jej następuję po jednoczesnym naciśnięciu CTRL+SHIFT+ENTER (nie samo ENTER jak w przypadku zwykłych funkcji!). Excel zamknie funkcję dwoma nawiasami klamrowymi {}.

Funkcja indeksująca wyszukuje w pewnym ciągu cyfr (tutaj linia 2 naszego zapisu) pierwszą wartość od lewej różną od zera i podaje wartość napotkanej komórki.
Kolejna funkcja poda absolutne położenie komórki względem lewej krawędzi arkusza, a więc numer kolumny:



[D16]=MATCH(C16;9:9;0)


[PL : MATCH = PODAJ.POZYCJĘ]

Posiadamy już zatem wartość komórki i jej pozycję w kolumnach. Numer kolumny musimy teraz wykorzystać do ponownego indeksowania tym razem wiersza daty (w moim arkuszu nadałem mu nazwę data.


[E16]=INDEX(data;D16)


[PL : INDEX = INDEKS]

W polu pobierającym datę musimy oczywiście zmienić formatowanie na format daty.

Na końcu potrzebujemy jeszcze ilości dni produkcyjnych dla danego LOTu. Otrzymujemy je za pomocą kolejnej przydatnej funkcji:


[F16]=COUNTIF(9:9;">0")


[PL COUNTIF=LICZ.JEŻELI]

Funkcja ta zwróci nam w pewnym ciągu (tu: cały wiersz 9) ilość komórek, których wartość jest różna od zera.

I to tyle na dziś. Mam nadzieję, że te funkcje będą Wam przydatne.