私が次のものを持っている場合はExcelで
= match( "abc"、A:A、0)
エラーが発生した場合は、次のようなものがスローされます
#value
だから私はこう言ってこれを乗り切る
= iserror((match( "abc"、A:A、0)、 "見つかりません"、match( "abc"、A:A、0))
しかし、これは厄介なコードのようです。同じ式を2回実行すると、同じ結果が得られるようにこれをより適切にフォーマットできますか?
乾杯
私が次のものを持っている場合はExcelで
= match( "abc"、A:A、0)
エラーが発生した場合は、次のようなものがスローされます
#value
だから私はこう言ってこれを乗り切る
= iserror((match( "abc"、A:A、0)、 "見つかりません"、match( "abc"、A:A、0))
しかし、これは厄介なコードのようです。同じ式を2回実行すると、同じ結果が得られるようにこれをより適切にフォーマットできますか?
乾杯
どのバージョンの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")