不确定是否有人可以帮助我,但我想我会尝试一下......
我正在尝试创建一个公式来从数据表中检索信息。数据表包含大量信息,根据商店位置、客户位置和信息类型(收入、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))