在excel中,如果我有以下
=match("abc",A:A,0)
如果它出错,那么它会抛出一些类似的东西
#value
所以我说
=iserror((match("abc",A:A,0),"未找到",match("abc",A:A,0) )
但这似乎是混乱的代码..两次运行相同的公式,可以更好地格式化以给出相同的结果吗?
干杯
在excel中,如果我有以下
=match("abc",A:A,0)
如果它出错,那么它会抛出一些类似的东西
#value
所以我说
=iserror((match("abc",A:A,0),"未找到",match("abc",A:A,0) )
但这似乎是混乱的代码..两次运行相同的公式,可以更好地格式化以给出相同的结果吗?
干杯
您使用的是哪个版本的 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")
我不知道执行此操作的内置方法,但您可以编写自己的 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")