• ベストアンサー

グループ集計

グループ毎に集計をしたいのですが。 A1 B1 ------ A 0 B 0 C 0 A 1 B 0 としたときに、 \| 0 | 1 --|-----|----- A | 1 | 1 --|-----|----- B | 2 | 0 --|-----|----- C | 1 | 0 となるように集計したいのですが。 どのようにしたらいいでしょうか??

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

  • ベストアンサー
  • tomo-yuki
  • ベストアンサー率39% (11/28)
回答No.1

手元にEXCEL97しかないので別バージョンでは若干違うかもしれません。 メニューバーの「データ」の「ピボットテーブルレポート」を使用すれば可能です。 > A1 B1 この部分が見出しだとします。 ピボットテーブルには見出しが必要なので、見出しがない場合は適宜つけてください。 わかりにくい説明かもしれませんが、おおまかな流れは下記のようになると思います。 1)見出し部分を含めて対象範囲を選択 2)メニューバーの「データ」の「ピボットテーブルレポート」を使用  ピボットテーブルウィザードが起動します 3)「分析するデータのある場所」は「EXCELのリスト/データベース」を選択 4)「対象範囲」はそのまま 5)「行」に「A1」をドラッグ 「列」に「B1」をドラッグ 6)「データ」に「B1」をドラッグ後、ドラッグした「B1」をクリックして「集計の方法」を 「数値の個数」に変更 7)「ピボットテーブルの作成先」は適宜変更 8)ウィザードを完了させた後、見出し部分の「B1」を右クリックして、「オプション」を 選択し、「空白セルに表示する値」に0を入力する

snowsaab
質問者

お礼

ありがとうございましたm(__)m この『ピボットテーブル』でなんとか、集計できました。 『ピボットテーブル』という集計方法をはじめて知り、 とても勉強になりました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

もし表をソート(並べ替え)しても良いのなら、文字どうり 「集計」で出来ます。 (1)A1よりB6に下記データを入れる。 クラス 計数 A 1 B 2 C 3 A 4 B 5 (2)メニューのデータ-並べ替えでソートする。 (3)メニューのデータ-集計(B)-(グループの基準)クラス-(集計の方法)合計-(集計するフィールド)計数 「現在の・・」と「集計行を・・・」をONにしてOKを クリック。 (4)行番号の左の上の2四角をクリックすると クラス 計数 A 計 5 B 計 7 C 計 3 総計 15 となります。

snowsaab
質問者

お礼

そのような、方法も可能ですね。 ためしてみたいと思います。 ありがとうございましたm(__)m

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.2

アプリケーションが不明なので、外しているかもしれませんが、 Excelなら、「ピボットテーブル」 Accessなら、「クロス集計」 ――で、なんとかなりませんか? 詳しくは、それぞれのヘルプをどうぞ。

snowsaab
質問者

お礼

ありがとうございますm(__)m 『ピボットテーブル』でなんとか集計することができました。

関連するQ&A

  • エクセル 集計について

    立て続けの質問ですいません。 エクセルデータの列がA,B,C,Dとあったとします。 Aをグループ化して Dを集計します。 この場合、集計行のB,C欄は空欄になると思います。 B,C欄の表記が同グループ内では同一の場合、その表記を集計行に 表示することは可能でしょうか。

  • GROUP BY句の集計について

    はじめまして。 いろいろ調べて、何度試しても思うように 結果がでなかったので、投稿させて頂きました。 グループの集計をしてるのですが、 何個のグループがあるのかカウントしたいのです。 aaa bbb 110 a 110 b 111 c 112 d というDBに select aaa, bbb, count(*) as cnt from database GROUP BY aaa ORDER BY aaa だとそのグループ内の該当レコード数がカウントされてしまいます。 上記の例だとグループ数が“3”と結果を返すようにしたいのです。 では。宜しくお願いします。

    • ベストアンサー
    • MySQL
  • グループごとの集計、全体の集計について

    いつもお世話になっております。 VBAでの課題で行き詰ってしまったので、どなたかお力をお貸しいただけないでしょうか? コードの効率のよい書き方が分からないため 非常に長くなってしまいますが、すべて書かせていただきます。 課題は A グループ1 商品1    300000 A グループ1 商品2    460000 A グループ2 商品1    120000 A グループ2 商品2     80000 A グループ3 商品3     71000 B グループ1 商品1    200000 B グループ1 商品2    208000 B グループ2 商品1     2300 となっている表を A グループ1 商品1    300000 A グループ1 商品2    460000   グループ1        760000 A グループ2 商品1    120000 A グループ2 商品2     80000   グループ2        200000 A グループ3 商品3     71000   グループ3         71000 支店A            1031000 B グループ1 商品1    200000 B グループ1 商品2    208000   グループ1        408000   B グループ2 商品1     2300   グループ2         2300 支店B            410300 合計(A+B)        1441300 このように、グループが変わるとグループ合計を出し、 支店名が変わると支店合計を出し、 最終的にすべての合計を出力するコーディングをしています。 今回は配列変数を使わないということなのですが 以下のような流れで考えました '変数の宣言 Dim X As String Dim Y As String Dim siten_A As String '支店名 Dim siten_B As String Dim kubun_A As String '区分 Dim kubun_B As String Dim syohin_A As String '商品名 Dim syohin_B As String Dim kingaku_A As Long '金額 Dim kingaku_B As Long Dim k_goukei As Long '区分合計 Dim s_goukei As Long '支店合計 Dim goukei As Long '合計 'ファイルを開く Open "C:\My Documents\INFILE.txt" For Input As #1 Open "C:\My Documents\OUTFILE.txt" For Output As #2 '1行目を読み込み、変数に格納 Line Input #1, X siten_A = Left(X, 10) kubun_A = Mid(X, 11, 10) kingaku_A = Right(X, 8) syohin_A = Mid(X, 21, 15) Do Until EOF(1) '2行目以降を読み込み変数に格納 Line Input #1, Y siten_B = Left(Y, 10) kubun_B = Mid(Y, 11, 10) kingaku_B = Right(Y, 8) syohin_B = Mid(Y, 21, 15) If siten_A = siten_B And kubun_A = kubun_B Then Print #2, siten_A & kubun_A & syohin_A & kingaku_A k_goukei = kingaku_A + kingaku_B kingaku_A = kingaku_B siten_A = siten_B kubun_A = kubun_B syohin_A = syohin_B ElseIf siten_A = siten_B And kubun_A <> kubun_B Then Print #2, siten_A & kubun_A & syohin_A & kingaku_A s_goukei = s_goukei + k_goukei k_goukei = k_goukei Print #2, k_goukei siten_A = siten_B kubun_A = kubun_B syohin_A = syohin_B kingaku_A = kingaku_B Else Print #2, siten_A & kubun_A & syohin_A & kingaku_A Print #2, k_goukei s_goukei = s_goukei + k_goukei Print #2, s_goukei siten_A = siten_B kubun_A = kubun_B syohin_A = syohin_B kingaku_A = kingaku_B End If Loop Print #2, siten_A & kubun_A & syohin_A & kingaku_A k_goukei = k_goukei + kingaku_A Print #2, k_goukei s_goukei = s_goukei + k_goukei Print #2, s_goukei goukei = goukei + s_goukei Print #2, goukei Close #1 Close #2 End Sub となっています。 これを実行すると、各レコードを出力した後に 合計を出したいのですが 各レコードの金額が、一つ前の金額に足されたものになっており 期待通りの出力ができません。 前半で間違っているため、後半の支店合計や全体の合計も 変わってきてしまい、どこをなおせばよいかわからない状態です。 VBは初心者なので、長くなってもかまわないので 教えていただければと思います。 長くなりましたが、よろしくお願いします。

  • エクセルのグループ別集計について

    縦に種類別にA,B,Cがランダムに並んでいます。 横に数量1から6まで6列並べたら表があります。 この表から列ごとに種類別(A,B,C)に集計する方法を教えてください。 サンプル表を添付します。

  • Access 集計【初心者】

    質問する前に色々ネットで調べてみたのですがうまく検索できなかったので教えてください。 下記のようなデータがあります。 A 5,000円 B 5,000円 C 3,000円 C 3,000円 B 5,000円 B 5,000円 で、クエリで以下のような形に集計をさせた形で表示させたいのです。 A 5,000円 B 15,000円 C 6,000円 グループ化のボタンを押したのですがなぜか集計されてなくて…。 本当に初歩的な質問でお恥ずかしいのですがよろしくお願い致します。

  • エクセル関数でグループ単位に集計を行う

    エクセル初心者です。 入力伝票データを元に、集計シートに自動的に品名コード順の合計を作成したいのですが、うまくできません。 データシートのデータをソートせずに関数だけで出来る方法をお教えください。 ※エクセルはExcel2003を使用しています。 《データシート》例 [見出し] A1:年月日,B1:伝票番号,C1:品名コード,D1:数量,E1:単価,F1:金額 [データ] A2:2008/10/1,B2:Z-001,C2:S0001,D2:3,E2:1,000,F2:3,000 A3:2008/10/1,B3:Z-002,C3:S0002,D2:1,E3:2,000,F3:2,000 A4:2008/10/1,B4:Z-003,C4:S0003,D4:2,E4:3,000,F4:6,000 A5:2008/10/2,B5:Z-004,C5:S0002,D5:1,E5:2,000,F5:2,000 A6:2008/10/2,B6:Z-005,C6:S0001,D6:3,E6:1,000,F6:3,000 A7:2008/10/3,B7:Z-006,C7:S0003,D7:2,E7:3,000,F7:6,000 《集計シート》例 [見出し] A1:品名コード,B1:伝票数,C1:数量計,D1:合計金額 [集計値] A2:S0001,B2:2,C2:6,D2: 6,000 A3:S0002,B3:2,C3:2,D3: 4,000 A4:S0003,B4:2,C4:4,D4:12,000 ※品名コードは固定せず、データシートに入力されたものだけを集計したい

  • EXCEL集計の方法で。。

    こんにちは。 EXCELの集計方法で質問なのですが、例えば、 A店、B店、C店、における1か月分の商品別売り上げ表があるとします(下記のような表) 店 日  物   個数 A店 10/1 トマト  2個 B店 10/1 キャベツ 1個 A店 10/1 キャベツ 1個 C店 10/2 トマト  3個 B店 10/4 キャベツ 4個 A店 10/4 きゅうり 1個 A店 10/4 キャベツ 2個 これを集計し、店別でしかも商品別の売り上げ個数を求めるのはどのようにしたら良いでしょうか?? 集計でグループ基準を店、集計方法を合計、集計するフィールドを個数にしてすると、下記のような問題が生じてしまします。 (1)同じ売り上げ日の同じ店の売り上げはTOTALされる。 (2)集計部分(太字の部分)に商品名が出てこない できれば、アウトライン2を使用して、集計結果を以下のようにしたいのです。 A店  トマト  2個 B店  キャベツ 5個 A店  キャベツ 3個 C店  トマト  3個 A店  きゅうり 1個    どなたか、お分かりになるかたいらっしゃいますでしょうか??長々と書いてしまいましたが、どうぞ よろしくお願い致します。

  • 分ごとの集計で

     初めまして、よろしくお願いします。  A列に 2007/9/6 15:09:46      2007/9/6 15:09:50      2007/9/6 15:10:06 " " と表示されているデータで、分ごとの集計を出したいと思います。  ここで B列には集計されるデーター数が、 C列に =IF(A1<>"",FLOOR(A1,"0:01"),"")  と言う関数を使い、秒数を切り捨て、 D列に  2007/9/6 15:09:00 すぐ下に関数=D1+"0:01:00" E列に集計させる関数=SUMIF(c:c,d1,b:b)  という風に作ったのですが、部分的に集計がでるのですが、集計0とでてしまう部分が多くありました。これはなぜでしょうか。また、何か別の方法でいいものがあれば教えて頂きたく、よろしくお願いします。

  • ピボットテーブルの集計結果を使って、さらに条件を付けて集計をしたいです

    ピボットテーブルの集計結果を使って、さらに条件を付けて集計をしたいです。 たとえば、このようなピボットテーブルから、 [A]      [B]       [C]       [D]                         1月 Group  Account1   Account2 G0    田中         東京     5         加藤         大阪     2 G1     佐藤        大阪      3 G1    田中         名古屋       A列のGroupをキーにして、D列を集計します。 G0の合計は7で個数は2、G1の合計は3で個数は1、という結果を出すにはどのようにしたら良いでしょうか?

  • グループ化による集計

    グループ化による集計 お世話になります。 下記の様にSQLで集計しようと考えています。 品番で小計額を出そうとしているのですが、 下記記述ですと、小計行が何か2行位ダブって表示されてしまっている様です。 どの様に記述したらダブらないで表示されるでしょうか。 私には少し高度な気がします。 どなたかご親切な方、ご教授下さいます様、宜しくお願いします。            記 select a.計画ID,a.品番,sum(a.合格本数) as 合格本数,sum(a.不良本数) as 不良本数, grouping(a.品番),TO_CHAR(a.受信日,'YYYY/MM/DD')as 受信日 from 伝票LOG a group by rollup(a.計画ID, a.品番, TO_CHAR(a.受信日,'YYYY/MM/DD')) order by a.計画ID 現在の表示 ID       品番   合格本数   不良本数    grouping(a.品番) 1030-2     yyy     20          0      0 1030-2     yyy      30          0      0   1030-2     yyy      50          0      0  ←この行は余計 1030-2     yyy       50          0      0  ←この行は余計 1030-2     (null)       50          0      1

専門家に質問してみよう