Formuła programu Excel: pobierz wartość ostatniej niepustej komórki -

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.

  1. Wyrażenie A: A „” zwraca tablicę wartości true i false: (TRUE, FALSE, TRUE,…).
  2. 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.
  3. Jeśli nie można znaleźć lookup_value, LOOKUP dopasuje następną najmniejszą wartość.
  4. W tym przypadku lookup_value to 2, ale największa wartość w lookup_array to 1, więc lookup dopasuje ostatnie 1 w tablicy.
  5. 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.

Interesujące artykuły...