【问题标题】:Index Match Formula Shows Wrong Result索引匹配公式显示错误结果
【发布时间】:2020-04-30 13:29:11
【问题描述】:

我有两个表,这个是包含原始数据的初始表(在表 2 上)

第二个表(在工作表 1 上)包含基于第一个表数据的公式

我使用这个公式来计算数据,但正如我们在图片中看到的那样,它不会产生正确的结果。你能帮我修改一下公式吗?

=IFERROR(INDEX(Sheet2!$E$2:$E$12,MATCH(Sheet1!$B$1&Sheet1!B$2&Sheet1!$A3,Sheet2!$C$2:$C$12&Sheet2!$B$2:$B$12&Sheet2!$D$2:$D$12,0)),"")

【问题讨论】:

  • 我会在原始数据上使用一个辅助列来连接 3 个键来查找值:用户、日期和时间。然后一个简单的VLookUp 就可以了
  • 你能举个例子吗?
  • B3 中放入:=IFERROR(INDEX(Sheet2!$E:$E,MATCH(1,INDEX((Sheet2!$B$1:$B$12=B$2)*(Sheet2!$D$1:$D$12=$A3)*(Sheet2!$C$1:$C$12=$B$1),),0)),"") 并向右和向下拖动...顺便说一句:合并的单元格在 *** 中很痛苦,而不是取消合并 =)

标签: excel indexing excel-formula match


【解决方案1】:

首先是辅助列,使用连接运算符&

那么公式就是:

=VLOOKUP(B$2&$E$1&$A3;Sheet2!$A:$G;6;0)

如果您想要描述而不是活动,请将 6 更改为 7。

【讨论】:

    【解决方案2】:

    请试试这个公式。它应该进入单元格 Sheet1!B3 必须使用 Ctl+Shift+Enter 确认,因为它是一个数组公式。 (017)

     =IFERROR(INDEX(Table,MATCH(1,(INDEX(Table,,3)=$A$1)*(INDEX(Table,,2)=B$2)*(INDEX(Table,,4)=$A3),0),5),"")
    

    在准备此公式工作时,您需要设置一个名为“表”的命名范围,该范围由 Sheet2!A2:Fxx 组成。最好动态设置此范围,以便它随着您添加更多数据而扩展,但您也可以将其声明为 Sheet2!A2:F1000,其中 1000 是您预计永远不需要的行数。

    此表有 6 列,A:F,我故意将其包含在您不需要的列 A 中,以便范围列和工作表列相同。 Table,,3 只定义了第三列。您可以将其替换为 Sheet2!$C$2:$C$1000。如果这样做,请确保所有范围的大小都相同。

    公式末尾附近的 5,位于 ,0),5),"") 处,标识范围 Table 的第 5 列,如果 3 个条件匹配,则从该范围返回结果。将此数字更改为 6 以返回 F 列的结果,如果您需要 A 列的值,则更改为 1。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-01
      • 2016-04-30
      • 2020-06-23
      • 1970-01-01
      • 2015-07-14
      • 2017-08-16
      • 2018-11-10
      • 1970-01-01
      相关资源
      最近更新 更多