web-dev-qa-db-ja.com

2つのセルが一致する場合、3番目からの値を返します

ここで私が問題を抱えているものの簡単な説明です。

列A:2300の注文番号のリスト
列B:注文番号に関連付けられたメールアドレス
列C:メールアドレスが必要な100個の注文番号のリスト

したがって、Cと一致する値を列Aで検索し、列Bの電子メールアドレスを新しい列(D)で返すことを探しています。

現在の式はほとんど機能しますが、AがCに一致した電子メールアドレスを返す代わりに、同じ行から電子メールアドレスを返します。

=IF(ISERROR(MATCH(C2,A:A,0)),B2)    

基本的に、一致した同じ行から値を返すには、上記の式でB2が必要です。

16
mn8809

あなたが望むものは次のようなものだと思います:

=INDEX(B:B,MATCH(C2,A:A,0))  

MATCH は、A:A内で値が見つかるpositionをチェックする(0、またはFALSE、パラメータ。完全に一致するもののみを検索し、その性質、最初に見つかったインスタンスのみ)、 INDEX はB:B内のその位置の値を返します。

42
pnuts

あなたがしなければならないのは、次のように列dにIF条件を書くことです:

=IF(A1=C1;B1;" ")

その後、この式をその上のすべての行に適用します。

2
Alexey
=IF(ISNA(INDEX(B:B,MATCH(C2,A:A,0))),"",INDEX(B:B,MATCH(C2,A:A,0)))

必要な答えを返し、ルックアップリストに表示されないために結果が見つからなかった場合に表示される#N/A結果も削除します。

ロス

2
Ross