Wyszukiwanie pierwszej niezerowej wartości w ciągu
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.
1 Response to Wyszukiwanie pierwszej niezerowej wartości w ciągu
Świetne, tego szukałem. Sprawdza się u mnie doskonale i działa także przy wyszukiwaniu niezerowej wartości tekstowej.
Something to say?