• ベストアンサー

Excel 2007 データ転記

Excel 2007 データ転記 Sheet1とSheet2にデータがあります。 Sheet1とSheet2の会社主キーを比較します。 合致した会社主キーについて、Sheet1の姓、名、職種にSheet2のデータを転記したいです。 完成形を含めて画像を添付しました。 どのように解決すればよろしいでしょうか。 マクロ、関数のいずれでもかまいません。 アドバイス頂けますでしょうか。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

シート1およびシート2でA、B,C,D列の1行名は項目名で、2行目から下方にデータがあるとします。 シート1のB2セルには次の式を入力してD2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(COUNTIF(Sheet2!$A:$A,$A2)=0,"",INDEX(Sheet2!$A:$D,MATCH($A2,Sheet2!$A:$A,0),COLUMN(B2)))

hyogara777
質問者

お礼

ご回答ありがとうございます。少し複雑に感じる関数ですが思いつかない内容でした。助かりました。

その他の回答 (4)

  • aokii
  • ベストアンサー率23% (5210/22063)
回答No.5

姓、名、職種をvlookup関数で記載してはいかがでしょう。

hyogara777
質問者

お礼

ご回答ありがとうございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

一例です。 仮に各シートのA:D列範囲として、列構成も同一としています。 シート1のB2に=IF(COUNTIF(Sheet2!$A:$A,$A2),VLOOKUP($A2,Sheet2!$A:$D,COLUMN(),FALSE),"")を設定、縦横に必要分コピー

hyogara777
質問者

お礼

ご回答ありがとうございました。COUNTIFとVLOOKUPの組み合わせ勉強になりました。

  • mar00
  • ベストアンサー率36% (158/430)
回答No.2

B2=IF(ISERROR(VLOOKUP(A2,Sheet2!A:B,2,FALSE)),"",VLOOKUP(A2,Sheet2!A:B,2,FALSE)) C2=IF(ISERROR(VLOOKUP(A2,Sheet2!A:C,3,FALSE)),"",VLOOKUP(A2,Sheet2!A:C,3,FALSE)) D2=IF(ISERROR(VLOOKUP(A2,Sheet2!A:D,4,FALSE)),"",VLOOKUP(A2,Sheet2!A:D,4,FALSE))

hyogara777
質問者

お礼

ご回答ありがとうございます。わかりやすい関数で助かりました。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.1

VLOOKUP関数でできますよ。 VLOOKUP関数をネット検索すれば、使用例がたくさん見つかります。

hyogara777
質問者

お礼

ご回答ありがとうございました。

関連するQ&A