- ベストアンサー
エクセル関数
こんにちは。早速質問です。エクセルで以下のことが出来ますか? シート1に購入先(A)ごとに購入物(B)と購入地域(C)を表にしています。例、 A B C 1 甲社 みかん 愛媛 2 甲社 りんご 青森 3 乙社 本マグロ 青森 4 丙社 カキ 広島 このシート1をDBとしてシート2は日々購入したリストを作成 例 A B C D E 1 12/1 みかん 200個 () () 2 12/2 りんご 150個 () () 3 12/3 みかん 100個 () () 4 12/3 カキ 50個 () () 5 12/4 本マグロ 1本 () () このD列に先ほどのシート1から購入地域、E列に購入先が自動で入力される関数ありませんか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
VLOOKUP関数を使えば可能です。 ただし、VLOOKUP関数はインデックスが行列の左端にないとダメなので、シート1は以下のような順番にすべきです。 A B C 1 みかん 甲社 愛媛 2 りんご 甲社 青森 3 本マグロ 乙社 青森 4 カキ 丙社 広島 (商品名=検索キーを、左端の列へ) その上で、シート2のD1には =VLookUp(B1, Sheet1!$A:$C, 3) シート2のE1には =VLookUp(B1, Sheet1!$A:$C, 2) と入れてやり、後はコピーペーストでE2~E5に上記の式をコピーしてやれば、完成します。
その他の回答 (2)
- ham_kamo
- ベストアンサー率55% (659/1197)
VLOOKUPをつかわない方法です。シート1の列を入れ替える必要はありません。 D1=OFFSET(Sheet1!$A$1,MATCH($B1,Sheet1!$B:$B,0)-1,2) E1=OFFSET(Sheet1!$A$1,MATCH($B1,Sheet1!$B:$B,0)-1,0) として下にコピーしてください。
お礼
いろいろ方法があるんですね。 非常に参考になりました。 ありがとうございました。
- hirorin00
- ベストアンサー率50% (446/884)
はじめまして Sheet1が購入物、購入先、購入地域の順で、さらにA列(購入物)でソート(並び替え・整列)されていれば「VLOOKUP」関数が使えます。 Sheet2のD1に =VLOOKUP(B1,Sheet1!$A$1:$C$4,2,FALSE) E1に =VLOOKUP(B1,Sheet1!$A$1:$C$4,3,FALSE) と入れ、必要なだけ下にコピーすればいけるはずです。 なお「$C$4」の部分は、品数によって変えてみてください。 的外れでしたらごめんなさい。
お礼
こちらも速攻でご返答ありがとうございます。 こちらも完璧です。 ありがとうございました。
お礼
速攻のご返答ありがとうございます。 完璧です。 ありがとうございました。