Использование условного соответствия индекса для указания того,

Использование условного соответствия индекса для указания того,

Я чувствую себя довольно комфортно с INDEX MATCH, но я столкнулся с проблемой, в которой я хотел бы использовать его, но не уверен, что он работает. У меня есть два листа: первый меньший лист содержит небольшое подмножество имен, которые находятся на другом листе, и имеет набор дат, связанных с каждым именем. Другой больший лист имеет другой набор дат, связанных с каждым именем. Я хотел бы иметь возможность ИНДЕКСИРОВАТЬ даты на большем листе и СОПОСТАВЛЯТЬ имена только ЕСЛИ эта дата больше даты на меньшем листе и меньше конца месяца, связанного с этой датой. Вместо того, чтобы возвращать значение MATCH, я хотел бы вернуть, скажем, 1, если критерии выполнены. Можно ли это сделать довольно легко с помощью INDEX MATCH или мне следует поискать другой набор функций? Как бы вы поступили?

решение1

Я полагаю, что ваш вопрос вращается вокруг написания формулы ИНДЕКС/ПОИСКПОЗ вокруг следующих критериев:

  • ИНДЕКСИРУЙТЕ даты на большем листе

  • СОПОСТАВЛЯЙТЕ имена только ЕСЛИ эта дата больше даты на меньшем листе

    • менее конца месяца, связанного с этой датой
  • Затем возвращаем 1, если критерии соблюдены.

Это можно сделать, вложив ИНДЕКС/ПОИСКПОЗ в условие ЕСЛИ:

=IF(

    INDEX([LargerSheet!*Range with Dates*],

       MATCH(

         IF([SmallerSheet!*First Date in Range*]<[LargerSheet!*First Date in Range],
         [SmallerSheet!*Range with Dates]),

       [SmallerSheet!*Range with Dates*],0)

    )>0,1,"")

Функция ПОИСКПОЗ будет возвращать значения для каждого найденного совпадения, и по определению это значение будет больше 0. Следовательно, мы хотим возвращать 1 для каждого вхождения этого значения.

Надеюсь это поможет!

решение2

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

Для вашего требования я бы использовал команду «Объединить», чтобы объединить два листа по имени и расширить столбец даты из вашего большего листа.

http://office.microsoft.com/en-au/excel-help/merge-queries-HA104149757.aspx

Это приведет ко всем возможным совпадениям. Поэтому я бы использовал команду Filter, чтобы перейти только к датам в диапазоне. Для этого вам может потребоваться изменить функцию Filter. Обратите внимание, что есть функция Power Query для вывода End of the Month:

http://office.microsoft.com/en-au/excel-help/date-endofmonth-HA104110485.aspx?CTT=5&origin=HA104122363

Наконец, я бы перенес запрос в новую таблицу Excel.

Связанный контент