如何使用带有两个水平参数的 INDEX MATCH 公式?

如何使用带有两个水平参数的 INDEX MATCH 公式?

不确定是否有人可以帮助我,但我想我会尝试一下......

我正在尝试创建一个公式来从数据表中检索信息。数据表包含大量信息,根据商店位置、客户位置和信息类型(收入、GP1、GP2 信息)拆分数据。

我想要一个动态的公式,这样当它被复制到我的摘要表中时,它会自动查看适用的商店位置、客户位置和信息类型并相应地检索它。我目前已将公式设置为;

=INDEX('[盈利能力分析 FY13.xlsx]数据表 S13'!$B$8:$EH$85,MATCH($A17,('[盈利能力分析 FY13.xlsx] 数据表 S13'!$E$8:$E$85),0),MATCH(1,$B17=' 盈利能力分析 FY13.xlsx] 数据表 S13'!$B$4:$EH$4)*(J14='[盈利能力分析 FY13.xlsx] 数据表 S13'!$B$7:$EH$7),0)

这个想法是,公式应该B8 - EH85在数据表中的单元格内查找,然后根据单元格中指定的垂直查找值(商店位置)检索信息A17,并且基于客户位置(单元格 B17)和信息类型(单元格 J14)的水平查找值对齐。

此公式的问题似乎在于多个条件方面(水平查找)。有人能建议我如何重新表述公式以使其正确运行吗?

答案1

你的公式对我来说看起来不错,除了括号中有一些问题,请尝试这个版本

=INDEX('[Profitability Analysis FY13.xlsx]Data Sheet S13'!$B$8:$EH$85,MATCH($A17,'[ Profitability Analysis FY13.xlsx] Data Sheet S13'!$E$8:$E$85,0),MATCH(1,($B17=' Profitability Analysis FY13.xlsx] Data Sheet S13'!$B$4:$EH$4)*(J14='[Profitability Analysis FY13.xlsx] Data Sheet S13'!$B$7:$EH$7),0))

需要用++CTRL确认SHIFTENTER

为了简单起见,通用形式是

=INDEX(Matrix,MATCH("x",row_labels,0),MATCH(1,("y"=headers1)*("z"=headers2),0))

这就是你上面所拥有的

....或者您可以添加另一个INDEX函数来避免“数组输入”,即在通用版本中:

=INDEX(Matrix,MATCH("x",row_labels,0),MATCH(1,INDEX(("y"=headers1)*("z"=headers2),0),0))

相关内容