У меня есть 2 листа, которые работают вместе. Рабочий лист "Приложение" содержит столбец DATE, столбец CODE (однозначное число) и столбец VALUE со значением в долларах.

Рабочий лист "Запланировано" также имеет столбец ДАТА.

Мне нужна формула на рабочем листе «Запланированные», которая будет смотреть на рабочий лист приложения, находить строку с заданной датой и заданным кодом, а затем возвращать номер 1-й строки, соответствующий обоим этим критериям. Я могу получить номер строки для одного критерия или другого, но не для обоих. Например:

= ПОИСКПОЗ (D4, Application!C $ 1:C $ 279)

Вернет номер строки с датой в D4. Но как мне добавить второй критерий к этому?

2 ответа2

2

Я бы использовал Power Query Add-In для этого. У него есть команда Merge, которая может выполнить это требование без написания ни одной формулы или какого-либо кода.

http://office.microsoft.com/en-au/excel-help/merge-queries-HA104149757.aspx?CTT=5&origin=HA103993872

Я бы запустил запрос на основе вашей таблицы приложений. Я бы добавил столбец индекса (номер строки).

Тогда я бы начал другой запрос на основе вашей таблицы запланированных. Я бы слил это с запросом приложения, сопоставляя по дате и коду. Затем я использовал команду Group By, чтобы свернуть по дате и коду и получить минимальный индекс.

1

Вы также можете комбинировать критерии с формулой массива. Если ваш второй критерий соответствует E4 а соответствующий столбец - Application!D$1:D$279 , тогда сработает следующая формула. Он должен быть введен с помощью Ctrl+Shift+Enter, поскольку это формула массива.

{=MATCH(D4&"|"&E4,Application!C$1:C$279&"|"&Application!D$1:D$279)}

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