Проблема с несколькими критериями INDEX MATCH формула - PullRequest
0 голосов
/ 17 июня 2019

, поэтому я использовал эту формулу массива с INDEX MATCH:

{=INDEX(ENTRIES!$F$4:$F$28;MATCH(C4&F4&G4;ENTRIES!$C$4:$C$28&ENTRIES!$G$4:$G$28&ENTRIES!$H$4:$H$28;0))}

Вот то, я пытался отобразить цену листа «записи» на листе «продажи», проблема возникаеткогда есть разные цены на один «Код» или продукт с течением времени.Я попытался решить эту проблему с помощью формулы соответствия индекса (см. Выше), которая сопоставляет цену кода (продукта) с месяцем и годом, но не определяет цену или какое-либо значение в месяцах между обновлениями цены. см. Рисунок

пример: на 6-й месяц должна быть назначена цена на 5-й месяц, потому что нет никаких обновлений или изменений.и то же самое для 9 месяца это должно быть то же самое е 8 месяца для этого продукта.Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 18 июня 2019

@ Ответ JVDV был полезен, но он не работал для меня, потому что он дает мне более высокое значение вместо последней цены за последний месяц, а не за следующую.

В любом случае, глядя на вашу формулу, я наконец-то придумал:

{=IFERROR((INDEX(ENTRIES!$F$4:$F$28;MATCH(C8&J8&K8;ENTRIES!$C$4:$C$28&ENTRIES!$G$4:$G$28&ENTRIES!$H$4:$H$28;0)));INDEX(ENTRIES!$F$4:$F$28;MATCH(1;(ENTRIES!$C$4:$C$28=C8)*(ENTRIES!$G$4:$G$28=J8-1)*(ENTRIES!$H$4:$H$28=K8);0)))}

Первая часть - моя оригинальная формула, но теперь, когда она выдает ошибку, применяется второй ИНДЕКС, который находит цену за месяц до месяца без цены в данных. Конечно, он тоже не идеален, потому что мне приходится «обновлять» цену как минимум каждые два месяца.

Я попробовал другой способ со знаком <=, но он тоже не сработал. </p>

0 голосов
/ 17 июня 2019

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

Кроме того, сопоставляя несколькоКритерии, связанные с объединением ячеек и столбцов, могут усложниться, если числовые значения / даты используются, и могут отбрасывать неправильные / неожиданные результаты.Вместо этого попробуйте что-то вроде этого:

MATCH(1,((Criteria1)*(Criteria2)*(Criteria3))...

Таким образом, все это будет выглядеть так:

=INDEX(ENTRIES!$F$1:$F$28;MAX(((ENTRIES!$C$4:$C$28=C4)*(ENTRIES!$G$4:$G$28<=G4)*(ENTRIES!$H$4:$H$28=H4)*ROW(ENTRIES!$F$4:$F$28))))

Введено через Ctrl Сдвиг Введите

...