繁体   English   中英

发出多标准INDEX MATCH公式

[英]Issue with a multiple criteria INDEX MATCH formula

所以我在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个月的e相同。 我怎样才能做到这一点?

在我看来,它正在抛出这些错误,因为它无法找到这些月份。 在所有情况下,这几个月都会丢失,至少在您的数据中,您可以告诉公式使用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 Shift Enter输入

@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)))}

第一部分是我的原始公式,但现在当它抛出错误时,应用第二个INDEX,它找到月份前一个月的价格,数据中没有价格。 当然,这也不完美,因为我必须至少每两个月更新一次价格。

我用<=符号尝试了另一种方式,但它也没有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM