
Všeobecný vzorec
=LOOKUP(2,1/(A:A""),A:A)
Zhrnutie
Ak chcete nájsť hodnotu poslednej neprázdnej bunky v riadku alebo stĺpci, môžete použiť funkciu LOOKUP v tomto prekvapivo kompaktnom vzorci. Ako ďalší bonus tento vzorec nie je maticový vzorec a nie je volatilný.
Vysvetlenie
Kľúčom k pochopeniu tohto vzorca je rozpoznať, že vyhľadávacia hodnota 2 je zámerne väčšia ako akékoľvek hodnoty, ktoré sa objavia vo vyhľadávacom vektore.
- Výraz A: "" vracia pole pravdivých a nepravdivých hodnôt: (PRAVDA, NEPRAVDA, PRAVDA, …).
- Číslo 1 je potom rozdelené týmto poľom a vytvorí nové pole zložené z buď jedničiek, alebo vydeľte nulovými chybami (# DIV / 0!): (1,0,1, …). Toto pole je vyhľadávací_vektor.
- Ak nie je možné nájsť hodnotu lookup_value, funkcia LOOKUP bude zodpovedať nasledujúcej najmenšej hodnote.
- V tomto prípade je lookup_value 2, ale najväčšia hodnota v lookup_array je 1, takže vyhľadávanie sa bude zhodovať s poslednou 1 v poli.
- LOOKUP vráti zodpovedajúcu hodnotu v result_vector (tj. Hodnota na rovnakej pozícii).
Zaoberanie sa chybami
Ak sa vo vyhľadávacom vektore vyskytujú chyby, najmä ak sa vyskytla chyba v poslednej neprázdnej bunke, je potrebné tento vzorec upraviť. Táto úprava je potrebná, pretože „“ kritériá vrátia samotnú chybu, ak bunka obsahuje chybu. Ak chcete tento problém obísť, použite ISBLANK s NIE:
=LOOKUP(2,1/(NOT(ISBLANK(A:A))),A:A)
Posledná číselná hodnota
Ak chcete získať poslednú číselnú hodnotu, môžete pridať funkciu ISNUMBER takto:
=LOOKUP(2,1/(ISNUMBER(A1:A100)),A1:A100)
Pozícia poslednej hodnoty
Ak chcete získať pozíciu (v tomto prípade číslo riadku) poslednej hodnoty, môžete vyskúšať nasledujúci vzorec:
=LOOKUP(2,1/(A:A""),ROW(A:A))
Tu vložíme čísla riadkov rovnakého rozsahu do vyhľadávania vektora výsledkov a získame späť číslo riadka poslednej zhody.