Формула на Excel: Вземете клетка за последно съвпадение съдържа -

Обща формула

=LOOKUP(2,1/SEARCH(things,A1),things)

Обобщение

За да проверите клетка за едно от няколко неща и да върнете последното съвпадение, намерено в списъка, можете да използвате формула, базирана на функциите LOOKUP и SEARCH. В случай на намерени множество съвпадения, формулата ще върне последното съвпадение от списъка с „неща“.
В показания пример формулата в C5 е:

=LOOKUP(2,1/SEARCH(things,B5),things)

Обяснение

Контекст: имате списък с неща в посочения диапазон "неща" (E5: E8) и искате да проверите клетките в колона Б, за да видите дали те съдържат тези неща. Ако е така, искате да върнете последния елемент от „нещата“, който е намерен.

В тази формула функцията SEARCH се използва за търсене на клетки в колона Б по следния начин:

SEARCH(things,B5)

Когато SEARCH намери съвпадение, той връща позицията на съвпадението в търсената клетка. Когато търсенето не може да намери съвпадение, връща грешка #VALUE. Тъй като даваме на SEARH повече от едно нещо, което да търси, това ще върне повече от един резултат. В показания пример SEARCH връща масив от резултати като този:

(8;24;#VALUE!;#VALUE!)

След това този масив се използва като делител на числото 1. Резултатът е масив, съставен от грешки и десетични стойности. Грешките представляват неща, които не са намерени, а десетичните стойности представляват намерени неща. В показания пример масивът изглежда така:

(0.125;0.0416666666666667;#VALUE!;#VALUE!)

Този масив служи като "lookup_vector" за функцията LOOKUP. Справочната стойност се предоставя като число 2, а резултатният вектор е наименованият диапазон "неща". Това е умната част.

Формулата е конструирана по такъв начин, че векторът за справка никога няма да съдържа стойност, по-голяма от 1, докато стойността за справка е 2. Това означава, че стойността за справка никога няма да бъде намерена. В този случай LOOKUP ще съответства на последната числова стойност, намерена в масива, която съответства на последното „нещо“, намерено от SEARCH.

И накрая, използвайки посочения диапазон "неща", предоставени като вектор на резултата, LOOKUP връща последното намерено нещо.

С твърдо кодирани стойности

Използването на диапазон като „неща“ улеснява модифицирането на списъка с думи за търсене (и добавяне на повече думи за търсене), но това не е изискване. Можете също така да твърдо кодирате стойности директно във формулата по следния начин:

=LOOKUP(2,1/SEARCH(("red","blue","green"),B5),("red","blue","green"))

Интересни статии...