Индекс Excel Соответствие или функция - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь создать формулу INDEX MATCH, которая включает 3 критерия, а третьим критерием является оператор OR.Это приложение для платежных ведомостей, где я хотел бы, чтобы информация о сотруднике поступала из поиска статических данных сотрудника.

Screenshot of table

В настоящее время у меня есть следующееработая по 3 критериям (я удалил часть INDEX, чтобы ее было легче читать):

={MATCH(1,($M$2= EMPLOYEES[NAME])*($N$2>=EMPLOYEES[Date])*(($N$2<=EMPLOYEES[EndDate])),0)}

Если первые 2 критерия возвращают TRUE, но дата не указана, она вернется #N/A.В идеале я бы хотел, чтобы 3-й критерий был оператором ИЛИ, чтобы дата

Когда я изменял последний критерий на оператор OR, как показано, он возвращает неверный результат.Он игнорирует второй и третий критерии с оператором OR, поэтому эффективно возвращает позицию первого сотрудника, которая соответствует EMPLOYEES[NAME].

={MATCH(1,($M$2=EMPLOYEES[NAME])*($N$2>=EMPLOYEES[Date])*(OR(($N$2<=EMPLOYEES[EndDate]),(EMPLOYEES[EndDate]=0),0)))}

Использую ли я здесь неправильный синтаксис илиOR операторы, несовместимые с функцией MATCH?

Любая помощь будет принята с благодарностью.

ОБНОВЛЕННЫЙ ПРИМЕР Обновленный пример листа

Iбудет ожидать, что P5 вернет значение £ 40,00, поскольку дата ввода больше, чем дата в C7.Или я неправильно понял ??

Еще раз спасибо за вашу помощь.

1 Ответ

0 голосов
/ 26 июня 2018

Чтобы получить столбец Info из таблицы примеров на следующем изображении, используйте его в P2, затем заполните.

=INDEX(employees[info], AGGREGATE(15, 7, (ROW(employees[info])-ROW(employees[#Headers]))/((employees[name]=M2)*(employees[date]<=N2)*SIGN((employees[enddate]=TEXT(,))+(employees[enddate]>=N2))), 1))

(ссылки на структурированные таблицы всегда немного многословны)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...