2017-08-09 4 views
0

この質問は単純に見えますが、複雑ですが、とにかく私の運を試してみます。2つの異なるシートの列を一致させて複数の列を返す[Excel]

2枚のシートがあり、いずれも同様の第1列(コード)があります。あなたが望むならば、コードは「マスターキー」です。各コードは、各シートに多くの異なる情報(約200〜300列のデータ)を持っています。また、これらのコードは同じではなく、ランダムにクラスタ化されています。これらのコードのいくつかは一致します。サンプル画像で黄色で一致するコードを強調表示しました。

私がやっているのは、最初の列(コード)に一致するデータのすべての列を新しいシートに追加することです。私のサンプルシートと理想的なソリューションは、この

Sheet Sample and Solution

のようになります。私は、この使用して、いくつか= VLOOKUP関数を解決することを試みたが、私は立ち往生続けます。私はデータのいくつかの列を持っているので、もしvLookupが何かを使うべきであるかどうかわからない。私はExcelにもかなり新しいので、誰かが正しい方向に私を見せてくれたら嬉しいです。

+0

はい、VLOOKUPは正しい関数です。正しい戻り列番号(式の3番目の引数)を手動で入力するか、MATCH関数を使用します。おそらくIFERRORと組み合わせると、ヘッダーの両方のシートをチェックすることができます。 – tigeravatar

答えて

0

提供されたサンプルデータを使用して、私は次のソリューションを作成しました。シート「シートSOLN」細胞J1(任意の細胞であってもよいと兼ね備えた場合に隠すことができる)で

は、どのように多くのマッチングコードを識別するために、この式は、両方のシートにあるれる:=SUMPRODUCT(COUNTIF(Sheet2!A:A,Sheet1!A2:A7))実際の範囲と一致するようにA2:A7を調整します。これは、この計算が1回だけ実行され、後で参照されて式の計算が削減される(ワークブックの効率が向上する)ように行われます。

次に、あなたのシートSOLNに、セルA2は、この式を使用し、両シートに存在しているだけのコードを取得するには、下にコピー:=IF(ROW(A1)>$J$1,"",INDEX(Sheet1!$A$2:$A$7,MATCH(1,INDEX((COUNTIF(A$1:A1,Sheet1!$A$2:$A$7)=0)*COUNTIF(Sheet2!$A:$A,Sheet1!$A$2:$A$7),),0)))

とセルB2の使用で、この式および取得するためにオーバーダウンコピーそのコードのそれぞれのヘッダーの値:=IF($A2="","",IFERROR(VLOOKUP($A2,Sheet1!$A:$E,MATCH(B$1,Sheet1!$A$1:$E$1,0),FALSE),VLOOKUP($A2,Sheet2!$A:$E,MATCH(B$1,Sheet2!$A$1:$E$1,0),FALSE)))

+0

ありがとうございます! B2セルは#N/Aを示していますが、今どこに行くかはわかります。私は自分で残りを修正することができます。再度、感謝します! – sneha99

関連する問題