查找单元格是否包含多个选项之一并查找结果

查找单元格是否包含多个选项之一并查找结果

我有一个错误消息列表,我想将它们合并为“用户友好”的消息:

      error        | friendly_error

failed with error1 | =VLOOKUP(A1, error_table, 1, false)
failed with error2 |
something else error3 |
error 4 failed with error5 |
failed with error1 |

还有一个包含一些关键字的友好值表

contains | friendly_error
error1   | Message for error1
error2   | Message for error 2
etc...

是否有命令可以执行此操作?或者我是否需要一堆不太有条理的 if/else 注释?

Vlookup 会在较大的值中查找较小的值,但我想查找较大的值以查看它是否包含较小的值。

现在我正在这样做,但随着我添加更多可能的值,它也会增长:

=IF(ISNUMBER(SEARCH(G3,A1)),
    H3,
    IF(ISNUMBER(SEARCH(G4,A1)),
        H4, 
        IF (ISNUMBER(SEARCH(G5,A1)),
            H5,
            A1
        )
    )
)

答案1

假设错误类型是实际的 Excel 错误类型,您可以使用Error.Type()

=VLOOKUP(ERROR.TYPE(A2),$E$1:$F$9,2,FALSE)

A2返回错误的公式在哪里#N/A#REF!等等。

在此处输入图片描述

编辑:或者,如果我完全误解了,只需将您的内容替换VLOOKUP()为:

=VLOOKUP(SUBSTITUTE(A1,"failed with ",""), error_table, 1, false)

假设A1failed with error1在其中。

答案2

您可以使用它来迭代错误并测试它是否是 A 中错误的子字符串。然后将行号返回给 INDEX,后者返回正确的友好错误。

=IFERROR(INDEX(H:H,AGGREGATE(15,6,ROW($G$1:$G$3)/(ISNUMBER(SEARCH($G$1:$G$3,A2))),1)),"")

在此处输入图片描述

相关内容