
Formuła ogólna
=LOOKUP(2,1/(A:A""),A:A)
Podsumowanie
Aby znaleźć wartość ostatniej niepustej komórki w wierszu lub kolumnie, możesz użyć funkcji WYSZUKAJ w tej zaskakująco zwartej formule. Dodatkową korzyścią jest to, że ta formuła nie jest formułą tablicową i nie jest zmienna.
Wyjaśnienie
Kluczem do zrozumienia tej formuły jest zrozumienie, że lookup_value równa 2 jest celowo większa niż jakiekolwiek wartości, które pojawią się w lookup_vector.
- Wyrażenie A: A „” zwraca tablicę wartości true i false: (TRUE, FALSE, TRUE,…).
- Liczba 1 jest następnie dzielona przez tę tablicę i tworzy nową tablicę składającą się z 1 lub błędów podzielonych przez zero (# DIV / 0!): (1,0,1,…). Ta tablica to lookup_vector.
- Jeśli nie można znaleźć lookup_value, LOOKUP dopasuje następną najmniejszą wartość.
- W tym przypadku lookup_value to 2, ale największa wartość w lookup_array to 1, więc lookup dopasuje ostatnie 1 w tablicy.
- WYSZUKAJ zwraca odpowiednią wartość w wektorze wyniku (tj. Wartość na tej samej pozycji).
Radzenie sobie z błędami
Jeśli w lookup_vector występują błędy, zwłaszcza jeśli wystąpił błąd w ostatniej niepustej komórce, należy dostosować tę formułę. Ta korekta jest potrzebna, ponieważ kryterium „” samo zwróci błąd, jeśli komórka zawiera błąd. Aby obejść ten problem, użyj ISBLANK z NOT:
=LOOKUP(2,1/(NOT(ISBLANK(A:A))),A:A)
Ostatnia wartość liczbowa
Aby uzyskać ostatnią wartość liczbową, możesz dodać funkcję ISNUMBER w następujący sposób:
=LOOKUP(2,1/(ISNUMBER(A1:A100)),A1:A100)
Pozycja ostatniej wartości
Jeśli chcesz uzyskać pozycję (w tym przypadku numer wiersza) ostatniej wartości, możesz wypróbować następujący wzór:
=LOOKUP(2,1/(A:A""),ROW(A:A))
Tutaj wprowadzamy numery wierszy z tego samego zakresu do wyszukiwania wektora wynikowego i zwracamy numer wiersza z ostatniego dopasowania.