
Обща формула
=LOOKUP(2,1/(A:A""),A:A)
Обобщение
За да намерите стойността на последната непразна клетка в ред или колона, можете да използвате функцията LOOKUP в тази изненадващо компактна формула. Като допълнителен бонус, тази формула не е формула на масив и не е летлива.
Обяснение
Ключът към разбирането на тази формула е да се разпознае, че lookup_value на 2 е умишлено по-голяма от всички стойности, които ще се появят в lookup_vector.
- Изразът A: "" връща масив от истински и фалшиви стойности: (TRUE, FALSE, TRUE, …).
- След това числото 1 се разделя на този масив и създава нов масив, съставен или от 1, или разделен с нула грешки (# DIV / 0!): (1,0,1, …). Този масив е lookup_vector.
- Когато lookup_value не може да бъде намерен, LOOKUP ще съответства на следващата най-малка стойност.
- В този случай lookup_value е 2, но най-голямата стойност в lookup_array е 1, така че търсенето ще съответства на последното 1 в масива.
- LOOKUP връща съответната стойност в result_vector (т.е. стойността на същата позиция).
Справяне с грешки
Ако има грешки в lookup_vector, особено ако има грешка в последната непразна клетка, тази формула трябва да бъде коригирана. Тази корекция е необходима, защото "" критериите ще върнат самата грешка, ако клетката съдържа грешка. За да заобиколите този проблем, използвайте ISBLANK с NOT:
=LOOKUP(2,1/(NOT(ISBLANK(A:A))),A:A)
Последна числова стойност
За да получите последната числова стойност, можете да добавите функцията ISNUMBER по следния начин:
=LOOKUP(2,1/(ISNUMBER(A1:A100)),A1:A100)
Позиция на последната стойност
Ако искате да получите позицията (в този случай номер на ред) на последната стойност, можете да опитате формула като тази:
=LOOKUP(2,1/(A:A""),ROW(A:A))
Тук подаваме номерата на редовете от същия диапазон в търсене за вектора на резултата и връщаме номера на реда на последното съвпадение.