Я думаю, что у меня есть хороший.

Мне нужно MIN-IF (и MAX-IF) по нескольким критериям, где требуются близкие совпадения. Я знаю, как выполнить MIN IF по нескольким критериям, используя продукт множества операторов IF как описано здесь, но мне нужно использовать близкие совпадения / подобные совпадения, и IF не принимает синтаксис "*" & criteria & "*" таких функций, как COUNTIF, VLOOKUP,... Я могу обработать MAX-IF с помощью метода ISNUMBER SEARCH .

Я хотел бы опубликовать фотографию моих фиктивных данных, но у меня нет представителя, чтобы сделать это. Поэтому я постараюсь описать это как можно лучше.

Столбец A содержит данные для первого критерия в строках 2:14.

Столбец B содержит данные для второго критерия в строках 2:14.

Столбец C содержит значения, по которым я хочу определить близкое совпадение MIN в строках 2:14.

У меня есть критерии 1 в ячейке F1 и критерии 2 в ячейке F2 . Формула, которую я имею для МАКСИМАЛЬНОГО ЕСЛИ, ниже:

{=MAX(IF(ISNUMBER(SEARCH(F1,A2:A14)) * ISNUMBER(SEARCH(F2,B2:B14)), ISNUMBER(SEARCH(F1,A2:A14)) * ISNUMBER(SEARCH(F2,B2:B14)))*C2:C14)}

Я попытался точно повторить это с MIN вместо MAX , но он просто возвращает 0 .

В настоящее время я использую Excel 20113 и открыт для функциональных решений на основе рабочих таблиц или решений на основе VBA. Есть мысли по этому поводу?

Благодарю.

1 ответ1

1

Вы можете сократить максимальную формулу массива до:

=MAX(IF((ISNUMBER(SEARCH(F1,A2:A14))) * (ISNUMBER(SEARCH(F2,B2:B14))),C2:C14))

Затем попробуйте это для вашего мин:

=MIN(IF((ISNUMBER(SEARCH(F1,A2:A14))) * (ISNUMBER(SEARCH(F2,B2:B14))),C2:C14))

Если у вас 2010 или более поздняя версия, вам не нужна формула массива CSE, используйте эти:

Максимум:

=AGGREGATE(14,6,C2:C14/((ISNUMBER(SEARCH(F1,A2:A14)))*(ISNUMBER(SEARCH(F2,B2:B14)))),1)

Min:

=AGGREGATE(15,6,C2:C14/((ISNUMBER(SEARCH(F1,A2:A14)))*(ISNUMBER(SEARCH(F2,B2:B14)))),1)

Теперь самое интересное: если у вас последняя версия 365 или вы используете офис онлайн, тогда вы можете использовать их новые MINIFS() и MAXIFS():

=MAXIFS(C2:C14,A2:A14,"*" & F1 & "*",B2:B14,"*" & F2 & "*")
=MINIFS(C2:C14,A2:A14,"*" & F1 & "*",B2:B14,"*" & F2 & "*")

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .