Формула Excel: приблизительное совпадение по нескольким критериям -

Содержание

Резюме

Для поиска и приблизительного совпадения на основе более чем одного критерия вы можете использовать формулу массива, основанную на ИНДЕКС и ПОИСКПОЗ, с помощью функции ЕСЛИ. В показанном примере формула G8 имеет следующий вид:

(=INDEX(D5:D10,MATCH(G7,IF(B5:B10=G6,C5:C10),1)))

Цель этой формулы - вернуть «размер» при задании животного и веса.

Примечание: это формула массива, которую необходимо вводить с помощью Control + Shift + Enter.

Объяснение

По сути, это просто формула ИНДЕКС / ПОИСКПОЗ. Проблема в этом случае заключается в том, что нам нужно «отсеивать» посторонние записи в таблице, чтобы у нас остались только те записи, которые соответствуют животному, которое мы ищем.

Здесь это делается с помощью простой функции ЕСЛИ:

IF(B5:B10=G6,C5:C10)

Этот фрагмент кода проверяет значения в B5: B10, чтобы узнать, соответствуют ли они значению в G6 (животное). Если есть совпадение, возвращаются соответствующие значения в C5: C11. Если совпадений нет, возвращается ЛОЖЬ. Когда G6 содержит «кота», результирующий массив выглядит так:

(ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; 5; 10; 15)

Это входит в функцию ПОИСКПОЗ как массив. Значение поиска для совпадения поступает из G7, который содержит вес (9 фунтов в примере).

Обратите внимание, что match настраивается на приблизительное совпадение, устанавливая match_type равным 1, и для этого требуется, чтобы значения в C5: C11 были отсортированы.

ПОИСКПОЗ возвращает положение веса в массиве, и оно передается в функцию ИНДЕКС как номер строки. Lookup_array для INDEX - это размеры в D5: D10, поэтому INDEX возвращает размер, соответствующий позиции, сгенерированной MATCH (число 4 в показанном примере).

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