• ベストアンサー

エクセルでのデータのマッチング

表が2つあります。 一つには 商品番号とその商品番号の商品名が書かれている エクセルの表です。2列になっているわけです。 もう一つの方の表には その商品番号の一覧とその商品の 詳細が書かれているものがあります。 そして、二つ目の表のA列に 一つ目の表の商品名をマッチングさせて A列に商品名を入れていきたいのですが どのようにすればできるでしょうか? 例えばこのような形です。 表1 A ごはん B パン C パスタ D ジュース E サラダ 表2 A01 1999年もの  A02 2000年もの B01 1987年もの B02 1966年もの B03 1977年もの C01 2003年もの C02 2002年もの D01 1975年もの D03 1996年もの E03 1950年もの となっているものを 表2 ごはん  A01 1999年もの  ごはん  A02 2000年もの パン   B01 1987年もの パン   B02 1966年もの パン   B03 1977年もの パスタ  C01 2003年もの パスタ  C02 2002年もの ジュース D01 1975年もの ジュース D03 1996年もの サラダ  E03 1950年もの とゆうようにしたいのですが 量が大量にあるため 手作業で一個一個やっていくには・・・ よろしくお願いします。

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

  • ベストアンサー
  • fiva205c
  • ベストアンサー率43% (234/533)
回答No.1

Sheet1のA,B列に表1の内容が入っているものとします。 表2は一番左に一列挿入し、A,B,C列となっているものとします。 A1に以下の式を入れます。 =VLOOKUP(LEFT(B1,1),Sheet1!A:B,2,0) A2以下にA1の式をコピーします。 ・VLOOKUP()関数で値を検索しています。 ・LEFT()関数で「A01」の一番左の「A」だけ抽出しています。

syousyou
質問者

お礼

アドバイスありがとうございました。 みなさんの意見を参考にさせていただきまして 解決することができました。 ありがとうございました。

syousyou
質問者

補足

さっそくの教えありがとうございます。 Sheet1 に表1をいれました。 Sheet2 に表2をいれました。 表2は一番左に一列挿入し、A,B,C列としました。 A1に以下の式を入れます。 =VLOOKUP(LEFT(B1,1),Sheet1!A:B,2,0) A2以下にA1の式をコピーします。 としましたところ #N/Aとなってしまいました。 申し訳ございません、初心者のため ・VLOOKUP()関数で値を検索しています。 ・LEFT()関数で「A01」の一番左の「A」だけ抽出しています。 の部分がわかりませんでした。 どこがいけなかったのでしょうか? お手数ですがご指摘をお願いします。

その他の回答 (1)

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

Sheet1のA1:B5に A ごはん B パン C パスタ D ジュース E サラダ A-Eのセルの第2文字以下はDELキーで削除しておくこと。スペース等はいっていてはだめ。 Sheet2のC1に =VLOOKUP(MID(A1,1,1),Sheet1!$A$1:$B$5,2,FALSE) といれ、C10まで複写します。$はこの通り付けること。$B$5は本番ではSheet1の最下行に変えること。 結果はSheet2のA1:C10に A01  1999年もの  ごはん A02  2000年もの ごはん B01  1987年もの パン B02  1966年もの パン B03  1977年もの パン C01  2003年もの パスタ C02  2002年もの パスタ D01  1975年もの ジュース D03  1996年もの ジュース E03  1950年もの サラダ C10以下に複写すると#N/Aが出ますが 防ぐならC1の式を =IF(A1="","",VLOOKUP(MID(A1,1,1),Sheet1!$A$1:$B$5,2,FALSE))などとすれば良いでしょう。

syousyou
質問者

お礼

アドバイスありがとうございました。 みなさんの意見を参考にさせていただきまして 解決することができました。 ありがとうございました。

関連するQ&A