- ベストアンサー
行をまとめる計算式
- エクセルで表をまとめる方法について
- 同一の顧客と商品名の行を合計して一行にまとめる方法を説明します
- 顧客ごとに販売数量と売上の合計を計算し、コストの平均値を求める方法について
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
作業列を使わないと大変ですね。 Sheet1 A B C D E F G 1 顧客 商品名 販売数量 コスト 売単価 売上 2 ああ かかか 10 200 300 3000 3 ああ ききき 10 300 400 4000 4 いい かかか 10 200 300 3000 5 いい かかか 10 200 300 3000 6 いい ききき 10 300 400 4000 : : : : G列を作業列として G2=IF(AND(A2=A1,B2=B1),G1,G1+1) 下までコピー。 Sheet2 A B C D E F 1 顧客 商品名 販売数量 コスト 売単価 売上 2 Sheet1のデータが100行目まであるとして A2=INDEX(Sheet1!A$2:A$100,MATCH(ROW(A1),Sheet1!$G$2:$G$100,0)) B2 A2の式をコピー C2=SUMIF(Sheet1!$G$2:$G$100,ROW(A1),Sheet1!C$2:C$100) D2=SUMIF(Sheet1!$G$2:$G$100,ROW(A1),Sheet1!D$2:D$100)/COUNTIF(Sheet1!$G$2:$G$100,ROW(A1)) E2 A2の式をコピー F2=C2*E2 A2~F2を下へコピー。 下へコピーする行数は、Sheet1のG列の最大値と同じです。 (質問欄の例だと、G列の最大値は6なので、7行目までコピー)
その他の回答 (2)
- NIWAKA_0
- ベストアンサー率28% (508/1790)
顧客から順にA列・B列にあるとして、 1つ目の表の、使用しない列(例えばH列)に =A1&B1 これを下までコピー。 使い方によっては列記号の前に絶対参照を入れた方が良いかも =$A1&$B1 これでH列には ああかかか ああききき いいかかか : : のようになります。 100行まであったとして、 2番目の表には、例えば販売数量(2番目の表の1行目:C1セル)であれば =SUMIF(Sheet1!$H$1:$H$100,$A1&$B1,Sheet1!$C$1:$C$100) とすれば、顧客&商品名が合致したものを抽出して合計してくれます。 ただその「顧客・商品名」の組み合わせの抽出は別に手を考えなければなりませんが。 マクロを使えば出来るのでしょうが、私マクロはよくわかりませんので他の方にお任せします。 力押しでやるなら、 http://okwave.jp/qa2513311.html が参考になるかもしれません。
お礼
解決しました。 ありがとうございます。
- mshr1962
- ベストアンサー率39% (7417/18945)
「データ」「ピボットテーブル」で 「顧客」「商品」を行に設定 「販売数量」「コスト」「売単価」「売上」をデータに設定 「販売数量」「売上」はデータの合計を計算 「コスト」「売単価」はデータの平均値を表示 でいいのでは?
お礼
解決しました。 ありがとうございます。
補足
データが大量にあり、印刷する関係上どうしてもピボットテーブルは使えません。それぞれの列に式を入力するような形でできないでしょうか。よろしくお願いいたします
お礼
お返事ありがとうございます。 いろいろ私なりに研究した結果、このやり方が一番わかりやすく、データも加工しやすく、簡単にできました。 助かりました!