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

Съдържание

Обща формула

=INDEX(range2,MATCH(TRUE,COUNTIF(range1,range2)>0,0))

Обобщение

За да извлечете първото съвпадение в два диапазона от стойности, можете да използвате формула, базирана на функциите INDEX, MATCH и COUNTIF. В показания пример формулата в G5 е:

=INDEX(range2,MATCH(TRUE,COUNTIF(range1,range2)>0,0))

където "range1" е наименуваният диапазон B5: B8, "range2" е наименуваният диапазон D5: D7.

Обяснение

В този пример наименуваният диапазон "range1" се отнася до клетки B5: B8, а наименуваният диапазон "range2" се отнася до D5: D7. Използваме именувани диапазони само за удобство и четливост; формулата работи добре и с редовни препратки към клетки.

Ядрото на тази формула е INDEX и MATCH. Функцията INDEX извлича стойност от range2, която представлява първата стойност в range2, която се намира в range1. Функцията INDEX изисква индекс (номер на ред) и ние генерираме тази стойност с помощта на функцията MATCH, която е настроена да съответства на стойността TRUE в тази част от формулата:

MATCH(TRUE,COUNTIF(range1,range2)>0,0)

Тук стойността на съвпадението е TRUE, а масивът за търсене се създава с COUNTIF тук:

COUNTIF(range1,range2)>0

COUNTIF връща броя на стойностите на диапазона2, които се появяват в диапазона1. Тъй като range2 съдържа множество стойности, COUNTIF ще върне множество резултати, които изглеждат така:

(0;0;1)

Използваме "> 0", за да принудим всички резултати да бъдат ИСТИНСКИ или НЕВЯРНИ:

(FALSE;FALSE;TRUE)

Тогава MATCH прави своето и връща позицията на първата ИСТИНА (ако има такава), която се появява, в този случай числото 3.

И накрая, INDEX връща стойността в тази позиция "Red".

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