INDEX / MATCH з декількома критеріями, включаючи діапазон дат


0

Я намагаюся витягнути ціни залежно від того, чи відповідає код, і якщо дата знаходиться в певному діапазоні.

Я хочу витягнути стовпчик Hна основі цих умов:

  • Стовпці Aта Fсірники
  • Стовпець Gзнаходиться між стовпцями Bта дорівнює їмC

Я вважав, що формула масиву з INDEX/ MATCHбуде найкращим методом, але поки не була успішною.

Я намагався формулу, використовуючи логіку, подібну до цієї:

{=INDEX(H2:H10, MATCH(1, IF(A2=F2:F10,IF(B2<=G2:G10,IF(C2>=G2:G10,1),0),0),0))}


Зразок малюнка


чи буде дублююча інформація, яка відповідає критеріям? якщо ні, то SUMIFS буде простішим та ефективнішим.
Скотт Кренер

Так, на жаль, є дублікати.
Рамзі Сауд

Відповіді:


0

Якщо ви хочете першим, то використовуйте цю форму масиву INDEX:

=INDEX($H$2:$H$10,MATCH(1,(($F$2:$F$10=A2)*($G$2:$G$10>=B2)*($G$2:$G$10<=C2)),0))

Будучи формулою масиву, вона повинна бути підтверджена Ctrl-Shift-Enter замість Enter під час виходу з режиму редагування.

введіть тут опис зображення


0

Якщо вам потрібні всі відповідні ціни, ви можете скористатися TEXTJOIN()функцією:

Скріншот робочого листа

В масив введіть таку формулу D3та скопіюйте / вставте / заповніть стовпець:

{=TEXTJOIN(", ",TRUE,IFERROR(1/(1/(($F$2:$F$10=A2)*($G$2:$G$10>=B2)*($G$2:$G$10<=C2)*($H$2:$H$10))),""))}

Зверніть увагу, що TEXTJOIN()це доступно лише в Excel 2016. У попередніх версіях Excel необхідний UDF з полівним заповненням. (Дивіться цю публікацію як основну.)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.