質問: Excelのマクロに関する質問です。良い回答は、500~1000ポイント差し上げます。 各シートの抽出条件を[リスト一覧]シートからデータを抽出したい。 ※抽出条件は、[都道府県]と[品質]が一致したとき ※抽出したい項目は、[送料]等の項目 [リスト一覧]シート 3 都道府県 送料 品質 4 青森 元払い AA 5 岩手 着払い AAA 6 愛媛 相談 AA 7 愛知 元払い AAA ---集計後のイメージ--- [りんご]シート 3 都道府県 品質 入金 出金 損害金 送料 4 青森 AA 500 1000 300 元払い 5 岩手 AAA 1000 300 100 着払い [みかん]シート 3 都道府県 品質 入金 出金 損害金 送料 4 愛媛 AA 300 900 100 相談 5 愛知 AAA 900 800 500 元払い マクロでの回答は、ソースも記述願います。 どうか宜しくお願いします。
回答: ちょっと前提条件がずれているかもしれませんが・・・ [りんご]シートや、[みかん]シートに入力したとき、 [リスト一覧]シートから、データを拾ってくれば良いのですよね? 関数だけで回答します。 【作業1】 [リスト一覧]シートに作業列を作ります。 作業列は、[都道府県]-[品質]になるように文字を結合します。 A4セルなら =B4&"-"&D4 でA列にコピーします。 邪魔なら、非表示にしてください。 都道府県(検索や抜き出すデータ)より前(左側)に作るのがポイントです。 [リスト一覧]シート 3 作業列 都道府県 送料 品質 4 青森-AA 青森 元払い AA 5 岩手-AAA 岩手 着払い AAA 6 愛媛-AA 愛媛 相談 AA 7 愛知-AAA 愛知 元払い AAA 【作業2】 [りんご]シートと[みかん]シートのデータを拾ってきたい セルに以下のVLOOKUP関数でデータを拾ってきます。 F4セル(送料)なら =VLOOKUP(A4&"-"&B4,リスト一覧!$A$4:$D$7,3,FALSE) [リスト一覧]シートにデータが無いと、#N/Aエラーになりますので、 気になるようなら、ERROR.TYPE関数などで弾いて、 =IF(ISERROR(VLOOKUP(A4&"-"&B4,リスト一覧!$A$4:$D$7,3,FALSE)),"",VLOOKUP(A4&"-"&B4,リスト一覧!$A$4:$D$7,3,FALSE)) などとすればよいかと。 作業列を作るのは、VLOOKUP関数が、複数の列のセルを検索することができないためです。 参考になれば。