• ベストアンサー

【Excel】一致するデータの検索

Excel2003を使用しています。 Sheet1のB列の値がSheet2のA列に入力されている値と一致したら、Sheet1のC列とD列の値をSheet2のC列とD列に表示させたく、VLOOKUP関数を使用したところ、Sheet1のB列とSheet2のA列のデータの並び方(順序)が同じではないためか、VLOOKUP関数ではできませんでした。 こういう場合、マクロで処理することは可能でしょうか?可能であれば、どのようにコードを記述すればいいでしょうか? Sheet1のデータは4行目から、Sheet2のデータは6行目から入力されています。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#176215
noname#176215
回答No.1

INDEX関数と MATCH関数の組み合わせでできるでしょう。 参考URLをご覧下さい。

参考URL:
http://www.kenzo30.com/ex_kisotyu/ex_ks_tyukyu9_9_7.htm
rx-z5815
質問者

お礼

回答ありがとうございます。 教えていただいたURL拝見しました。 今回はアドバイスいただいたように、INDEX関数とMATCH関数の組み合わせで処理したいと思います。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

私もこの問題はVLOOKUP関数の第4引数をFALSEにすれば、解決すると思います。 またシート間の検索なので式がおかしいのかも知れません。具体的に 式を1例挙げてみれば、回答者には誤り箇所がわかるでしょう。 VBAなど持ち出すまでも無いと思います。 >Sheet1のB列とSheet2のA列のデータの並び方(順序)が同じではないためか、 これを良く誤解している方がいるが、FALSE型では関係ありません。 それより、余分な前後のスペースなど気にすべきです。

rx-z5815
質問者

お礼

回答ありがとうございます。 >それより、余分な前後のスペースなど気にすべきです。 これは、確認してから質問させていただきました。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

検索方法でFASLE型を選択すれば並び順に関係しませんので次の数式をお試し下さい。 シート2のC列は、=VLOOKUP(A1,Sheet1!B:D,2,FALSE) シート2のD列は、=VLOOKUP(A1,Sheet1!B:D,3,FALSE)

rx-z5815
質問者

お礼

回答ありがとうございます。 教えていただいた方法で、VLOOKUP関数でもできました。 検索方法でFALSE型を選択すれば、並び順に関係しないということを今回初めて知り、勉強になりました。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A

専門家に質問してみよう