1

在excel中,如果我有以下

=match("abc",A:A,0)

如果它出错,那么它会抛出一些类似的东西

#value

所以我说

=iserror((match("abc",A:A,0),"未找到",match("abc",A:A,0) )

但这似乎是混乱的代码..两次运行相同的公式,可以更好地格式化以给出相同的结果吗?

干杯

4

2 回答 2

3

您使用的是哪个版本的 Excel?在 Excel 2007 或更高版本中,您可以使用 IFERROR 函数来避免重复

=IFERROR(MATCH("abc",A:A,0),"Not found")

或在早期版本中,您可以使用 COUNTIF

=IF(COUNTIF(A:A,"abc"),MATCH("abc",A:A,0),"Not found")

于 2012-04-20T19:48:19.823 回答
0

我不知道执行此操作的内置方法,但您可以编写自己的 VBA 函数:

Function GracefulError(varValue As Variant, strMessage As String) As Variant
    If IsError(varValue) Then
        GracefulError = strMessage
    Else
        GracefulError = varValue
    End If
End Function

用法:

=GracefulError(match("abc",A:A,0), "Not found")
于 2012-04-20T14:43:59.097 回答