1

私が次のものを持っている場合はExcelで

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

エラーが発生した場合は、次のようなものがスローされます

#value

だから私はこう言ってこれを乗り切る

= iserror((match( "abc"、A:A、0)、 "見つかりません"、match( "abc"、A:A、0))

しかし、これは厄介なコードのようです。同じ式を2回実行すると、同じ結果が得られるようにこれをより適切にフォーマットできますか?

乾杯

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 に答える