![](https://cdn.wiki-base.com/4429227/excel_formula_approximate_match_with_multiple_criteria__2.png.webp)
Обобщение
За търсене и приблизително съвпадение въз основа на повече от един критерий можете да използвате формула на масив, базирана на INDEX и MATCH, с помощта на функцията IF. В показания пример формулата в G8 е:
(=INDEX(D5:D10,MATCH(G7,IF(B5:B10=G6,C5:C10),1)))
Целта на тази формула е да върне "размер", когато му се даде животно и тегло.
Забележка: това е формула на масив и трябва да се въведе с Control + Shift + Enter
Обяснение
В основата си това е просто формула INDEX / MATCH. Проблемът в този случай е, че трябва да „екранираме“ ненужните записи в таблицата, така че ни остават само записи, които съответстват на животното, което търсим.
Това се прави с проста IF функция тук:
IF(B5:B10=G6,C5:C10)
Този фрагмент тества стойностите в B5: B10, за да види дали те съответстват на стойността в G6 (животното). Когато има съвпадение, се връщат съответните стойности в C5: C11. Когато няма съвпадение, се връща FALSE. Когато G6 съдържа "котка", полученият масив изглежда така:
(FALSE; FALSE; FALSE; 5; 10; 15)
Това влиза във функцията MATCH като масив. Справочната стойност за съвпадение идва от G7, който съдържа теглото (9 lbs в примера).
Имайте предвид, че съвпадението е конфигурирано за приблизително съвпадение, като се зададе match_type на 1 и това изисква стойностите в C5: C11 да бъдат сортирани.
MATCH връща позицията на тежестта в масива и това се предава на функцията INDEX като номер на реда. Lookup_array за INDEX са размерите в D5: D10, така че INDEX връща размер, съответстващ на позицията, генерирана от MATCH (числото 4 в показания пример).