• ベストアンサー

【Excel2007】関数などを使いすばやく作業を進めたいのですが…

【Excel2007】関数などを使いすばやく作業を進めたいのですが… シート1のA列に「文字列a」があります。 シート2のA列にはシート1と同じ「文字列a」があるのですがセルの順番が違います。 シート2のB列に「文字列b」があり文字列aが同じ場合、シート2のB列にある「文字列b」を シート1のB列に表示したいのですが関数等で簡単に処理できないでしょうか。 例)シート1のA64に「イロハ」、シート2のA205に「イロハ」で同じものがある場合、シート2のB205にある文字列「ニホヘト」をシート1のB64に表示したい。 良い方法があれば教えて下さい。宜しくお願いいたします。

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

  • ベストアンサー
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

VLOOKUP関数で良い気がします  =VLOOKUP(A64,Sheet2!A:B,2,0) これでOK ただしこの場合、一致する値が無いとエラー(#/A)が返ってきますので  =IF(ISERROR(VLOOKUP(A64,Sheet2!A:B,2,0)),"",VLOOKUP(A64,Sheet2!A:B,2,0)) と ISERROR関数と IF関数を組み合わせて使用してみてください ※ VLOOKUP関数で他のシートやブックを参照する場合、セルを絶対参照の形にする必要があります   上の例では A:B と言う形ですが、$A$1:$B$300 として、A1:B300 の範囲を絶対参照しても良いです

noname#132031
質問者

お礼

ご提案いただいたVLOOKUP関数で完璧にできました! 膨大な量がありましたがあっという間に終えることができ感謝しております。 ※の部分説明も大変わかりやすかったです。 ご回答ありがとうございます、とても参考になりました。

その他の回答 (1)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 今仮に、Sheet1の文字列がA1~99の範囲に入力されていて、Sheet2の文字列がA1~999の範囲に入力されているものとします。  まず、Sheet1のB1セルに、以下の数式を入力して下さい。 =IF(COUNTIF(Sheet2!$A$1:$A$999,A1)>0,VLOOKUP(A1,Sheet2!$A$1:$B$999,2,FALSE),"")  次に、Excelのオートフィル機能か若しくはコピー&ペースト機能を使用して、Sheet1のB1セルを、Sheet1のB2~B99セルにコピーして下さい。  以上で、Sheet1のB列に目的の文字列が表示されるはずです。

noname#132031
質問者

お礼

kagakusukiさんの数式も試させていただき正確に表示できました! 同じような作業が度々あるので参考にさせていただきます。 ご回答ありがとうございました!!