我正在尝试使用 Index excel 创建一个公式,但其中存在错误,我无法弄清楚,下面是我的公式
=INDEX(TABLES!$D$98:$S$189,MATCH(1,($C$3=TABLES!$D$97:$S$97)*($C$4=TABLES!$C$98:$C$189)*($C$5=TABLES!$B$98:$B$189)*($C$6=TABLES!$A$98:$A$189),0))
在评估我的公式时,问题出在单元格C3
、C4
、C5
&上C6
。
这些单元格用于数据验证表,表格涵盖从 2008 年到 2023 年的年份,价值从 10,000 美元到 100,000 美元,类别包括私人居住、公共汽车、摩托车……以及产品 a、产品 b 等计划……
那么可能是什么问题呢?
答案1
您的 MATCH 使用的是 2D 数组,它需要是 1D 数组。将水平和垂直拆分为两个单独的 MATCH,并将它们放入 INDEX 中的正确标准中:
=INDEX(TABLES!$D$98:$S$189,MATCH(1,($C$4=TABLES!$C$98:$C$189)*($C$5=TABLES!$B$98:$B$189)*($C$6=TABLES!$A$98:$A$189),0),MATCH($C$3,TABLES!$D$97:$S$97,0))
INDEX 用途:INDEX(array,RelativeRow,RelativeColumn)
通过将 Check 列拉入其自己的 MATCH,它将返回正确的相关列。我们保留 MATCH 的数组版本以进行 Row 检查,但由于只有一个列匹配,我们可以使用标准 MATCH。
注意:对于没有动态数组的旧版本 Excel,退出编辑模式时需要使用 Ctrl-Shift-Enter 而不是 Enter。