• ベストアンサー

売上の多い顧客順に合計金額を抽出する。

エクセルの下のようなデータから    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です。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! 一例です。 ↓の画像のように作業用の列を設けています。 作業列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

kamar3
質問者

お礼

ありがとうございます。 完璧にできました。 感謝、感謝です。

その他の回答 (4)

noname#204879
noname#204879
回答No.5

[ピボットテーブル レポート](ピボテ)に依る方法が簡単だと思います。 添付図の左が最初にピボテを作成した状態 合計の欄の範囲 B5:B7 を選択した後で、[データ]→[並べ替え]を実行 “降順”に目玉を入れて[OK]すると添付図の右になります。

kamar3
質問者

お礼

ありがとうございます。 まずはピボットテーブルは使った事がないので 勉強してからやってみます。 助かりました。

  • tamta2
  • ベストアンサー率25% (2/8)
回答No.3

Excel2010なら、恐らく統合ツールで解決すると思います。 (1)メニューバーより[データ]タブをクリックし、アイコンから[統合]をクリック。 (2)統合の設定が開きますので、以下の通りに設定 ・集計の方法:合計 ・統合範囲:Sheet1!$B$2:$C$6   ←B列2行目からC列6行目を選択 ・統合の基準:左端列にチェックを入れる (3)上記設定でOKを押す。 ここでデータ集計は完了。 (4)集計結果を範囲指定し、[データ]タブの[並び替え]横の[ZA↓]をクリック。 参考になったでしょうか?

kamar3
質問者

お礼

説明不足で申し訳ありませんでしたが 実際はB列、C列の間にはデータの入った列が存在しています。 が、とりあえず抽出はできました。 あとはちょっと工夫してやってみます。 ありがとうございました。

noname#164823
noname#164823
回答No.2

「アウトライン」の「小計」を使うと思った結果が得られます。 顧客名をキーにして「昇順」に並べ替えてから作業して下さい。 この方法は下記のサイトを見ながらどうぞ。 http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-syukei.html グループの基準を「顧客名」「集計の方法」を「合計」 「集計するフィールド」の「顧客名」と「売上」にチェック。 アウトラインモードになるので「2」をクリックすると顧客名ごとの 合計が出ます。 これで合計が出るので、Ctrl+Gで「セル選択」「可視セル」 Ctrl+Cでコピー。他シートで貼り付け。

kamar3
質問者

お礼

ありがとうございます。 ただし、元のデータはいじりたくないので ちょっと違うようです。 でも、一つの手であることは参考になりました。

  • barokich
  • ベストアンサー率29% (17/57)
回答No.1

元のデータのあるシートで、オートフィルタをかけるとあっという間です。 わざわざ別のシートにしなくても、元のデータでフィルタをかければ、 売上の列を「降順で並べ替え」れば一瞬で出来ます。 どうしても別シートに載せたいのであれば、この「降順で並べ替え」た状態で表をコピーして別シートにそのまま貼り付ければ良いのです。 ところで「オートフィルタ」はご存じないのですか? ないのであればまずはそこから覚えなければなりませんが、至って簡単ですよ。

参考URL:
http://www.excel.studio-kazu.jp/cgi-bin/estindex/estseek2.cgi
kamar3
質問者

お礼

ありがとうございます。 ただし、元のデータはいじりたくないので ちょっと違うようです。 でも、一つの手として参考になりました。