INDEX / MATCH有多个标准,包括日期范围


0

我试图根据代码是否匹配以及日期是否在一定范围内来提取价格。

我想H根据这些条件提取列:

  • AF匹配
  • G之间或等于列BC

我认为一个数组公式用INDEX/ MATCH将是最好的方法,但到目前为止还没有成功。

我一直在尝试使用类似于此的逻辑的公式:

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


样本图片


是否会有符合条件的重复信息?如果没有,则SUMIFS将更容易,更有效。
Scott Craner

是的,不幸的是有重复。
Ramzi Saud

Answers:


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。(参见这篇文章的基本内容。)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.