excel如果我有以下
=匹配(“abc”,A:A,0)
如果它出错,那么就会抛出一些像
这样的东西#value
所以我通过说
来说明这一点= iserror((匹配(“abc”,A:A,0),“未找到”,匹配(“abc”,A:A,0))
但这似乎是凌乱的代码..两次运行相同的公式,这可以更好地形成以得到相同的结果吗?
干杯
答案 0 :(得分: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")
答案 1 :(得分: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")