Не уверен, что кто-нибудь может мне помочь, но думал, что я попробую ...

Я пытаюсь создать формулу для извлечения информации из таблицы данных. Лист данных содержит значительный объем информации, разделяя данные в зависимости от местоположения магазина, местоположения клиента и типа информации (доход, информация GP1, информация GP2).

Мне бы хотелось, чтобы формула была динамичной, чтобы при ее копировании в моем сводном листе она автоматически проверяла подходящее местоположение магазина, местоположение покупателя и тип информации и соответственно извлекала ее. В настоящее время я настроил формулу как;

= ИНДЕКС ('[Анализ рентабельности FY13.xlsx] Таблица данных S13'!$ B $ 8:$ EH $ 85, MATCH ($ A17, ('[Анализ рентабельности FY13.xlsx] Таблица данных S13'!$ E $ 8:$ E $ 85), 0), MATCH (1, $ B17 = «Анализ рентабельности FY13.xlsx] Таблица данных S13»!$ B $ 4:$ EH $ 4)* (J14 = '[Анализ рентабельности FY13.xlsx] Таблица данных S13'!$ B $ 7:$ EH $ 7), 0)

Идея состоит в том, что формула должна искать в ячейках в B8 - EH85 данных, а затем извлекать информацию на основе значения вертикального поиска (местоположение магазина), указанного в ячейке A17 , и значения горизонтального поиска на основе клиента местоположение (ячейка B17) и тип информации (ячейка J14) выровнены.

Проблема с этой формулой, похоже, заключается в аспекте нескольких критериев (горизонтальный взгляд вверх). У кого-нибудь есть предложения, как мне перефразировать формулу, чтобы она работала правильно?

1 ответ1

1

Ваша формула выглядит хорошо для меня, за исключением некоторых проблем с круглыми скобками, попробуйте эту версию

=INDEX('[Profitability Analysis FY13.xlsx]Data Sheet S13'!$B$8:$EH$85,MATCH($A17,'[ Profitability Analysis FY13.xlsx] Data Sheet S13'!$E$8:$E$85,0),MATCH(1,($B17=' Profitability Analysis FY13.xlsx] Data Sheet S13'!$B$4:$EH$4)*(J14='[Profitability Analysis FY13.xlsx] Data Sheet S13'!$B$7:$EH$7),0))

Это нужно подтвердить, нажав CTRL+SHIFT+ENTER.

Для простоты общая форма

=INDEX(Matrix,MATCH("x",row_labels,0),MATCH(1,("y"=headers1)*("z"=headers2),0))

что у вас есть выше

.... или вы можете добавить другую функцию INDEX чтобы избежать "записи массива", то есть в общей версии:

=INDEX(Matrix,MATCH("x",row_labels,0),MATCH(1,INDEX(("y"=headers1)*("z"=headers2),0),0))

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