• ベストアンサー

EXCEL:macro

EXCEL 次のようなマクロを書きたいのですが、教えてください。 (前提) sheet1とsheet2と空白なsheet3があります。 sheet1: 表A 1000行位×5列があります。   項目のタイトル  項目1、項目2、項目3、項目4、項目5 sheet2:表B  10行位×2列     許可された 項目1と項目2の組合せの表B    最後の行は99、99と入っているとします。      空白なsheet3: (処理) sheet1: 表Aの中から項目1と項目2の組合せで異なるものをすべて取り出し次のような表Cにし、sheet3に出します。         (表C)         項目1、項目2、件数、 許可の有無 (1) 項目1、項目2は、 項目1,2の順にソートされる。 (2) 表Aの中に、項目1,2の組合せと同じものが、何件あるかカウントし対応した件数のところへ書き込む。 項目1,2の組合せが、sheet2の表Bの中に登録されているものと一致すれば、 許可の有無に1を、登録されていなければ、0を書き込む。

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

  • ベストアンサー
noname#16474
noname#16474
回答No.3

#2です 作業列をC列 C1 =A1&B1 とすれば、 COUNTIFでカウントすれば件数は出ますね。 しかも、sheet1とsheet2でマッチングできますから、 countifを使えば有無もわかりますね。

taktta
質問者

お礼

回答とても参考になりました.どうもありがとうございました。

taktta
質問者

補足

一つ質問します。ソートしたままでは同じものが、ずらっと並んで表示されたままでその中から代表の先頭のものを一つ選んで,sheet3にする作業は行の数が3000行位あるとしんどい作業ですが、どのような簡単な操作がありますか。以上宜しくお願いします。

その他の回答 (2)

noname#16474
noname#16474
回答No.2

この程度の処理であれば、マクロを使うまでもないと思うので (作業列と関数の組み合わせで充分処理出来ますね) おそらく質問者様は、マクロのお勉強が目的かと思いますので、 マクロの記録をしながら手作業で実行し、 コードを見ながら不要なラインを削除していくのが良いかと思います。

taktta
質問者

お礼

>おそらく質問者様は、マクロのお勉強が目的かと思いますので、 >マクロの記録をしながら手作業で実行し、 早速の回答ありがとうございます。そうですね。このようにしてやってみたいのですが、ソートなど操作していけばいいものですか。

taktta
質問者

補足

作業列と関数の組み合わせとは、どのようなことをやればよいのでしょうか。宜しくお願いします。

回答No.1

失礼ですが、VBAはどれくらいご存知ですか? また、今回のマクロはどれくらい出来ていますか? (どの辺りが分からないのですか?) ※まる投げ的な質問を嫌う方が多いと思いますので、確認させてください。

taktta
質問者

お礼

これからまず考えるところです。ヒントを得られればと思いました。

taktta
質問者

補足

(2) 表Aの中に、項目1,2の組合せと同じものが、何件あるかカウントし対応した件数のところへ書き込む。 これらは、項目1で一致するか調べ、一致したら更に項目2で一致かとやるんですよね。

関連するQ&A

専門家に質問してみよう