前提・実現したいこと
EXCELのVBAにて2条件が一致したときに合計を表示する方法を探しております。
1111 aaa 100 1
2222 bbb 100 1
3333 ccc 100 1
4444 ddd 100 1
5555 eee 100 1
1111 aaa 200 2
2222 bbb 200 2
3333 ccc 200 2
4444 ddd 200 2
5555 eee 200 2
1111 aaa 300 1
2222 bbb 300 1
3333 ccc 300 1
4444 ddd 300 1
5555 eee 300 1
出したい表示
aaa 400
bbb 400
ccc 400
ddd 400
eee 400
四列目が1の時に一列目のナンバーをキーとして二列目の商品名と三列目の合計を表示させたいです。
発生している問題・エラーメッセージ
計算結果が出てこない。
該当のソースコード
ソースコード
試したこと
SUMIF 複数条件にて検索しましたが、これといったものが見つかりませんでした。
sumifsも試しましたが、一列目のナンバーをキーとしてというところで引っかかっております。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
VBA全く詳しくないですけど複数条件で合計するならSUMIFS関数使えば良いのでは?
左から列がA・B・C・Dだとして、これで出ませんでしょうか。
=SUMIFS(C:C,D:D,"1",A:A,"1111")
条件を満たしたらC列を合計する/条件1:D列が「1」の場合/条件2:A列が「1111」の場合(ここはセルを参照すれば良いかと)
質問のサンプルでは、四列目が1の時に一列目のナンバーが同じものが複数ありますが、これはサンプルとして誤りですか?
誤りでないなら、一列目のナンバーが同じものは同じ結果としたいという事でしょうか?
sazi様
ご指摘の通り一列目をキーとして同じものの合計を表示したいのです。
mai1210様
ご連絡いただいた方法ですと「1111」のみの合計が表示されます。
他の「2222」から「5555」まで(実際は600行ほどありますが)の合計も表示させたいのです。
「1111」のところを書き換えるか、該当のセルを参照するようにしていただければ、「2222」の合計も「5555」の合計も出ると思いますが…
2222の合計 =SUMIFS(C:C,D:D,"1",A:A,"2222")
・
・
5555の合計 =SUMIFS(C:C,D:D,"1",A:A,"5555")
もしくは、「1111」~「5555」まで全部足しちゃっていいんでしょうか?
4列目が「1」だったら3列目をすべて合計
=SUMIFS(C:C,D:D,"1")
質問が紛らわしくすいません。
実現したいことを修正しました。
一列目をキーとして二列目の項目ごとに集計したいのです。
編集された内容では、四列目が1のデータを二列目の項目で集計しただけのように見えますけど、一列目も条件ならそれが分かるような結果にして下さい。
※結果に一列目は現れてないので、どんな条件なのかさっぱり分かりません。
回答2件
あなたの回答
tips
プレビュー