- ベストアンサー
エクセル関数でA列(品名)D列(金額)・・品名ごとに合計
A列に品名があり、D列に金額があります。 A B C D 1 商品1 ¥100 2 商品2 ¥150 3 商品1 ¥100 4 商品3 ¥200 5 商品2 ¥100 求めたい答えは各商品ごとの合計金額なのですが、関数で可能ですか?(VBAになりますか?) 商品1 ¥200 商品2 ¥250 商品3 ¥200 宜しくお願いします。(アクセスでやれと言われそうですが・・)
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 ■作業列を使う方法です。 Sheet1 の F列を作業列にします。(作業列はどの列でもかまいません) Sheet1 の F1に↓ ----------------------------------- =IF(COUNTIF($A$1:A1,A1)=1,ROW(),"") ----------------------------------- この数式を予測されるA列の最大行までコピーしてください。 A500 までデータが入るだろうと思えば、F500までコピー。 Sheet2 の A1に↓ ----------------------------------------------- =IF(COUNT(Sheet1!F:F)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!F:F,ROW(A1)))) ----------------------------------------------- Sheet2 の B1に↓ ----------------------------------------------- =IF(A1="","",SUMIF(Sheet1!A:A,A1,Sheet1!D:D)) ----------------------------------------------- 上の2つの数式を、商品の種類の数+アルファ、コピーしてください。 商品の種類が最大50種類ぐらいだと思えば、50行+アルファ 作業列が目障りなら非表示にしてください。
その他の回答 (2)
- maruru01
- ベストアンサー率51% (1179/2272)
No.1です。 列指定を間違えました。 ×=SUMIF(A:A,F1,B:B) ↓ ○=SUMIF(A:A,F1,D:D) です。
お礼
ご解答感謝します。
補足
少し質問を訂正させて下さい。 A列の品名はランダムに入力されるので、特定のセルに商品名がリストのように並んでいるわけではありません。次のシートのA列に重複しないように拾い上げるにはどうすれば良いですか?その上で先ほどの内容です。(支離滅裂な文章ですみません。) sheet1 A B C D 1 商品1 ¥100 2 商品2 ¥150 3 商品1 ¥100 4 商品3 ¥200 5 商品2 ¥100 sheet2 A B 1 商品1 ¥200 2 商品2 ¥250 3 商品3 ¥200 ↑ 商品名もA列から重複させないように拾い上げたいのです。そしてその隣の列へその合計を・・ 宜しくお願いします。
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 とりあえず、数式での方法です。 仮にF1に「商品1」とある場合は、 =SUMIF(A:A,F1,B:B) という感じになります。 データの変更がないなら、ピボットでやってもいいでしょう。
お礼
出来ました!! 感謝です。有難うございました。