91

セル値が列に存在するかどうかを確認した後、一致するセルの隣にあるセルの値を取得する必要があります。たとえば、 の値が にcell A1存在するかどうかを確認column Bし、一致すると仮定するとB5、 の値が必要になりますcell C5

問題の前半を解決するために、私はこれをしました...

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", "Match")

...そしてそれはうまくいきました。次に、 SO に関する以前の回答のおかげで、一致するセルの行番号も取得できました。

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", "Match on Row " & MATCH(A1,B:B, 0))

当然、次のセルの値を取得するために、試しました...

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", C&MATCH(A1,B:B, 0))

...そして、うまくいきません。

私は何が欠けていますか?目的の結果を得るために、返された行番号に列番号を追加するにはどうすればよいですか?

4

3 に答える 3

100

VLOOKUPなどの別の関数を使用します。

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", VLOOKUP(A1,B:C,2,FALSE))
于 2012-10-16T13:11:18.583 に答える
39

t.thielemans の答えの後、私はそれをやりました

=VLOOKUP(A1, B:C, 2, FALSE) 

#N/A正常に動作し、一致しない場合に返されることを除いて、私が望んでいたことを行います。そのため、値がルックアップ列に確実に存在することがわかっている場合に適しています。

編集(t.thielemans のコメントに基づく): 不一致

を避ける#N/Aには、次のようにします。

=IFERROR(VLOOKUP(A1, B:C, 2, FALSE), "No Match")
于 2012-10-16T13:51:57.733 に答える
7

これはどう?

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", INDIRECT(ADDRESS(MATCH(A1,B:B, 0), 3)))

末尾の「3」はC列を意味します。

于 2012-10-16T13:21:21.073 に答える