Excel上的MATCH函数返回错误

时间:2017-10-19 11:51:37

标签: excel match

出于某种原因,excel上的MATCH函数返回错误。 不幸的是我无法共享数据以便复制问题,但我想知道是否有人比我更有经验可能会在我的代码中找到一个小错误或者我错过了什么。

我根据这些directions使用了这些函数,我也尝试了一个解决方案here,但两个来源都没有多大帮助。

=INDEX(IB_RAW!A2:L301,MATCH(1,(IB_RAW!$B:$B=IB!P10)*(IB_RAW!$D:$D=IB!A9)*(IB_RAW!$C:$C=IB!Q9)*(IB_RAW!$L:$L=IB!P7),0),IB_RAW!$J:$J)

我会尝试尽可能地描述数据:

  • IB:我想要显示提取值的工作表
  • IB_RAW:我从
  • 获取信息的表格
  • A2:L301:我用来查找参数的整个数据集 (在IB_RAW中)
  • J:我要提取的值(在IB_RAW中)

问题在于MATCH函数,因为它返回#N/A,我使用Show Calculation Steps...选项查看问题所在,

所以

(IB_RAW!$B:$B=IB!P10) returns TRUE
(IB_RAW!$D:$D=IB!A9) returns FALSE
(IB_RAW!$C:$C=IB!Q9) returns TRUE
(IB_RAW!$L:$L=IB!P7) returns TRUE

因此MATCH(1,0,0)但这会返回#N/A

1 个答案:

答案 0 :(得分:0)

好的,解决方案来自此detailed指南。它实际上解释了你必须按Ctrl+Shift+Enter来激活该功能,而且我不得不稍微更改一行代码。

希望这对想要像我一样做同样事情的人有所帮助。

=INDEX(IB_RAW!I2:I301,MATCH(1,(IB_RAW!B2:B301=IB!P10)*(IB_RAW!D2:D301=IB!A9)*(IB_RAW!C2:C301=IB!Q9)*(IB_RAW!L2:L301=IB!P7),0))