- ベストアンサー
売上の多い顧客順に合計金額を抽出する。
エクセルの下のようなデータから A B C 1 日付 顧客名 売上 2 11/10 A社 10000 3 11/11 B社 5000 4 11/11 C社 10000 5 11/12 A社 5000 6 11/13 B社 2000 別シートに、下記のように顧客売上順に合計を抽出したいのですが A B 1 顧客名 売上 2 A社 15000 3 C社 10000 4 B社 7000 どなたか教えていただける方がいましたらよろしくお願いします。 エクセルは2010です。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! 一例です。 ↓の画像のように作業用の列を設けています。 作業列D2セルに =IF(COUNTIF($B$2:B2,B2)=1,ROW(),"") という数式を入れイーとフィルで下へずぃ~~~!っとコピー! そして、F2セルに =IF(COUNT(D:D)<ROW(A1),"",INDEX(B:B,SMALL(D:D,ROW(A1)))) G2セルに =IF(F2="","",SUMIF(B:B,F2,C:C)) という数式を入れ、F2・G2セルを範囲指定し、G2セルのフィルハンドルで下へコピー これで各顧客での合計が表示されますので、ここで降順に並び替えればOKだと思います。 だた、ここまでやったのでついでに関数で降順に表示してみます。 I2セルに =IF(COUNTIF($F$2:$F$100,"?*")<ROW(A1),"",INDEX(F$2:F$100,MATCH(LARGE($G$2:$G$100,ROW(A1)),$G$2:$G$100,0))) (とりあえず、F・G列の100行目まで対応できるようにしています) という数式を入れ、列方向と行方向にオートフィルでコピーすると 画像のような感じになります。 以上、参考になれば良いのですが 他に良い方法があればごめんなさいね。m(__)m
その他の回答 (4)
- tamta2
- ベストアンサー率25% (2/8)
Excel2010なら、恐らく統合ツールで解決すると思います。 (1)メニューバーより[データ]タブをクリックし、アイコンから[統合]をクリック。 (2)統合の設定が開きますので、以下の通りに設定 ・集計の方法:合計 ・統合範囲:Sheet1!$B$2:$C$6 ←B列2行目からC列6行目を選択 ・統合の基準:左端列にチェックを入れる (3)上記設定でOKを押す。 ここでデータ集計は完了。 (4)集計結果を範囲指定し、[データ]タブの[並び替え]横の[ZA↓]をクリック。 参考になったでしょうか?
お礼
説明不足で申し訳ありませんでしたが 実際はB列、C列の間にはデータの入った列が存在しています。 が、とりあえず抽出はできました。 あとはちょっと工夫してやってみます。 ありがとうございました。
「アウトライン」の「小計」を使うと思った結果が得られます。 顧客名をキーにして「昇順」に並べ替えてから作業して下さい。 この方法は下記のサイトを見ながらどうぞ。 http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-syukei.html グループの基準を「顧客名」「集計の方法」を「合計」 「集計するフィールド」の「顧客名」と「売上」にチェック。 アウトラインモードになるので「2」をクリックすると顧客名ごとの 合計が出ます。 これで合計が出るので、Ctrl+Gで「セル選択」「可視セル」 Ctrl+Cでコピー。他シートで貼り付け。
お礼
ありがとうございます。 ただし、元のデータはいじりたくないので ちょっと違うようです。 でも、一つの手であることは参考になりました。
- barokich
- ベストアンサー率29% (17/57)
元のデータのあるシートで、オートフィルタをかけるとあっという間です。 わざわざ別のシートにしなくても、元のデータでフィルタをかければ、 売上の列を「降順で並べ替え」れば一瞬で出来ます。 どうしても別シートに載せたいのであれば、この「降順で並べ替え」た状態で表をコピーして別シートにそのまま貼り付ければ良いのです。 ところで「オートフィルタ」はご存じないのですか? ないのであればまずはそこから覚えなければなりませんが、至って簡単ですよ。
お礼
ありがとうございます。 ただし、元のデータはいじりたくないので ちょっと違うようです。 でも、一つの手として参考になりました。
お礼
ありがとうございます。 完璧にできました。 感謝、感謝です。