【问题标题】:Add condition to this INDEX MATCH formula if it returns #N/A如果返回 #N/A,则向此 INDEX MATCH 公式添加条件
【发布时间】:2013-02-01 19:40:57
【问题描述】:

我在 Sheet3 中有一个公式可以从 sheet1 中查找一个值并返回它,但有时,如果值不在 sheet1 中,我希望它检查 sheet2。 sheet1 和 sheet2 在 A:A 列中具有相同的数据,只有列具有不同的值。

=INDEX(Sheet1!D:D,MATCH(Sheet3!A2&"MAN_CHANGE",Sheet1!A:A,0))

如果 sheet1 中没有匹配项,我如何修改公式以签入 sheet2?

【问题讨论】:

    标签: vba excel excel-formula excel-2010


    【解决方案1】:

    很高兴再次收到您的来信!)请试试这个:

    =INDEX(Sheet1!D:D,IFERROR(MATCH(Sheet3!A2&"MAN_CHANGE",Sheet1!A:A,0),MATCH(Sheet3!A2&"MAN_CHANGE",Sheet2!A:A,0)))
    

    【讨论】:

    • 我决定将公式更改为 =IFERROR(VLOOKUP(A2&"MAN_CHANGE",Sheet1!A:D,4,FALSE),VLOOKUP(A2&"MAN_CHANGE",Sheet2!A:D,4,FALSE)) 因为之前的公式 Index(Sheet1!D:D, 仍然希望从那里获取价值。
    • @Mowgli 我认为这是最好的情况——当您不只是复制和粘贴所提供的答案,而是可以轻松地采用它来满足您的进一步需求,并完全了解什么和为什么)
    【解决方案2】:

    iferror 将检查索引公式中的任何错误结果

    =iferror(INDEX(Sheet1!D:D,MATCH(Sheet3!A2&"MAN_CHANGE",Sheet1!A:A,0)),"NOT FOUND")
    

    您也可以使用 isNA 仅搜索#N/A

    =if(ISNA(INDEX(Sheet1!D:D,MATCH(Sheet3!A2&"MAN_CHANGE",Sheet1!A:A,0)),"NOT FOUND",INDEX(Sheet1!D:D,MATCH(Sheet3!A2&"MAN_CHANGE",Sheet1!A:A,0)))
    

    【讨论】:

      【解决方案3】:

      我嵌套了两个 INDEX,MATCH 公式,它起作用了。

      =IFERROR(INDEX('活动报告 11-30-17'!G:G,MATCH('侦察报告 11-30-17'!C2,'活动报告 11-30-17'!D:D, 0)),INDEX('活动报告 11-30-17'!G:G,MATCH('侦察报告 11-30-17'!D2,'活动报告 11-30-17'!D:D,0) ))

      【讨论】:

      • 这太糟糕了,不可读且无法维护。
      猜你喜欢
      • 2021-10-15
      • 1970-01-01
      • 2021-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-29
      • 1970-01-01
      相关资源
      最近更新 更多