• 締切済み

複数条件での集計方法について(Excel2003)

複数の条件で集計を行い、データの個数を表示させたいと考えてます。 対処方法をご教示下さい。 <例>     列A    列B   列C  列D 1 注文番号 メーカ名 タイプ  購入日 2  123     NEC   NOTE  2010/1 3  123     NEC   NOTE  2010/1 4  123     NEC   DESK  2010/1 5  456     HP    NOTE  2010/2 6  456     HP    NOTE  2010/2 上記の表を列A~列Dの集計により     列A    列B   列C  列D  列E 1 注文番号 メーカ名 タイプ  購入日 個数 2  123     NEC   NOTE  2010/1  2 3  123     NEC   DESK  2010/1  1 4  456     HP    NOTE  2010/2  2 列Eにデータの個数を表示 尚、集計の条件としては、列Aの注文番号が最優先の集計キー、次いで列B、列C、列Dとなります。 又、行数は約1500行前後です。 宜しくお願い致します。

  • jego2
  • お礼率33% (2/6)

みんなの回答

  • OtenkiAme
  • ベストアンサー率77% (69/89)
回答No.3

こんにちは。 ピボットテーブル機能を利用してもいいなら次のように作業をしてみてください。 作業の目的:データリストに名前を付ける  リストの一つのセルをクリックしてCtrl+Shift+*  名前ボックスに Database と入力してEnter 作業の目的:集計表を作成するシートを用意する  Shift+F11 作業の目的:ピボットテーブルを作成する  データ-ピボットテーブルと…をクリック   次へ をクリック   Database と表示されていることを確認して 次へ をクリック   オプション をクリック    列の総計のチェックを外して OK をクリック   レイアウト をクリック    注文番号 を行エリアにドラッグしてダブルクリック     集計の なし を選択して OK をクリック    メーカ名 を行エリアにドラッグしてダブルクリック     集計の なし を選択して OK をクリック    タイプ を行エリアにドラッグしてダブルクリック     集計の なし を選択して OK をクリック    購入日 を行エリアにドラッグ    メーカ名 をデータエリアにもドラッグしてダブルクリック     名前を 個数 にして OK をクリック   レイアウトの OK をクリック   既存のワークシートを選択して A1セルをクリック   完了 をクリック 作業の目的:集計結果の書式を変更して数値化する  ピボットテーブルツールバーの レポートの書式設定 をクリック  オートフォーマットダイアログの右下にある なし をクリックして OK をクリック  コピー をクリック  貼付の▼をクリックし 値 をクリック  塗りつぶしの色の▼をクリックし 塗りつぶしなし をクリック 作業の目的:空白セルに上の値を表示させる数式を入力する  Ctrl+G セル選択 空白セル OK をクリック  = を入力し ↑ を押し、Ctrl+Enter 作業の目的:数式を数値化する  Ctrl+Shift+*  コピー をクリック  貼付の▼をクリックし 値 をクリック  Ctrl+Home Esc を押す

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

No.1です! たびたびごめんなさい。 投稿した後気づいたのですが、 前回の方法は単純に列ごとの並びを比較して違うものの集計をしただけですので、 希望通りにならないと思います。 「集計の条件の優先順位がある」というところが引っかかりましたので 再び顔を出してしまいました。 単にSheet1で、集計キーの優先順位の並び替えだけではお望みの結果にならないかもしれません。 どうも何度も失礼しました。m(__)m

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

こんばんは! 外していたらごめんなさい。 ↓の画像のようにSheet1に作業用の列を2列設けさせてもらっています。 尚、日付に関してはシリアル値が入力してあり、表示形式だけがユーザー定義から yyyy/m となっているとしています。 Sheet1の作業列E2セルに =IF(COUNTBLANK(A2:D2)>0,"",A2&B2&C2&MONTH(D2)) F2セルに =IF(OR(E2="",COUNTIF($E$2:E2,E2)<>1),"",ROW(A1)) として、E2・F2セルを範囲指定し、F2セルのフィルハンドルでダブルクリック、又はオートフィルで下へコピーします。 そして、Sheet2のA2セルに =IF(COUNT(Sheet1!$F$2:$F$2000)<ROW(A1),"",INDEX(Sheet1!A$2:A$2000,SMALL(Sheet1!$F$2:$F$2000,ROW(A1)))) として、購入日のD2セルまでオートフィルでコピーします。 (購入日のセルの表示形式はSheet1同様に、ユーザー定義から yyyy/m としておきます) 結果のE2セルだけは数式が違います。 =IF(A2="","",COUNTIF(Sheet1!$E$2:$E$2000,INDEX(Sheet1!$E$2:$E$2000,MATCH(SMALL(Sheet1!$F$2:$F$2000,ROW(A1)),Sheet1!$F$2:$F$2000,0)))) 最後にA2~E2セルを範囲指定し、E2セルのフィルハンドルで下へコピーすると 画像のような感じになります。 こんなんで良いのですかね? 以上、参考になれば幸いですが、 最初に書いたように的外れなら読み流してくださいね。m(__)m

関連するQ&A

  • Excel2002:複数条件のデータの個数の集計

    苦手な集計について質問させてください。 [A] [B] [1] AAA aaa [2] BBB bbb [3] AAA aaa [4] AAA bbb [5] BBB ccc 上記のようなデータで[A]と[B]のAND条件でみたときの個数を集計したいと思います。 例えば上記であれば、 [A]AAAかつ[B]aaa・・・2個 [A]BBBかつ[B]bbb・・・1個 [A]AAAかつ[B]bbb・・・1個 [A]BBBかつ[B]ccc・・・1個 になります。[B]のデータは[A]のデータに依存せず、[A]の各値にまたがっています。([B]bbbは[A]AAAと[A]BBBの場合があります) 実際のシートでは、全パターンを網羅したリストがA列とB列、集計対象がD列とE列にあります。 上記の例でいえば、以下のようになっています。 [A] [B] [C] [D] [E] [1] AAA aaa AAA aaa [2] AAA bbb BBB bbb [3] BBB bbb AAA aaa [4] BBB ccc AAA bbb [5] BBB ccc つまり[A]列と[B]列が組み合わせパターン、[D]列と[E]列が集計元データです。 ちなみにパターン数が414個、集計元データは29000個程度です。 そして最終的な各パターンの個数を[C]列に表示させたいと思います。 VLOOKUPやピボットテーブルを考えましたが、ピンと来ません。 適切なやり方を教えてください。よろしくお願いします。

  • Excel関数 2つの条件で集計するには?

    エクセル関数についての質問があります。 A列に赤・黄・青のいずれか B列に○・△・□のいずれか C列に数値のデータが入力されているとします。 このとき、A列が赤且つB列が○となっている 数値を集計する関数もしくは方法はありますか? SUMIFでは条件は一つしか使えませんよね? 現在はC列の数値を、B列が○のときはD列に B列が△のときはE列に、B列が□のときはF列に 表示させるようにし、B列をキーにD~F列の数値 をそれぞれ集計しています。 件数が多いときはめんどうなので、いい方法が ありましたら、教えてください。 よろしくお願いします。

  • 【Excel】この条件で集計を3つに分けたい…??(謎

     今、お小遣い帳のようなのを作っているのですが… 以下の条件で集計したい場合、D~F列に入れる式は、 どのようにすれば… というか、式で可能ですか?(謎 分からなくて困ってます。よろしくお願いいたします☆ ・1行目は項目名です。 ・2行目には前の月の繰越金を入力します。 ・A列で、文末に●があるものの集計はE列に出す。 ・A列で、文末に■があるものの集計はF列に出す。 ・A列で、●も■も無い項目の集計はD列に出す。 図にすると↓こんな感じです。※変になるかも;(>_<) ┌─┬──┬──┬──┬──┬──┬──┬ │  │ A │ B │ C │ D │ E │ F │ ├─╋━━┿━━┿━━┿━━┿━━┿━━┿ │1 ┃摘要│収入│支出│合計│●計│■計│ ├─╂──┼──┼──┼──┼──┼──┼ │2 ┃繰越│   │   │1000│1000│1000│ ├─╂──┼──┼──┼──┼──┼──┼ │3 ┃…●│1000│   │   │2000│   │ ├─╂──┼──┼──┼──┼──┼──┼ │4 ┃……│ 500│   │1500│   │   │ ├─╂──┼──┼──┼──┼──┼──┼ │5 ┃…■│   │ 500│   │   │ 500│ ├─╂──┼──┼──┼──┼──┼──┼ ちなみに、●と■には、それぞれ違う銀行名を入れる予定です。 ( つまり、お小遣いと同じシートで預金も管理したいかなーって。) お願いします☆  

  • 複数の条件で関数(エクセル)

    A列が「あ」の条件でB列-E列が10を超えている個数を数えたいのですが 適切な関数を教えてください。 A列が「い」の場合はVALUEになってかまいません。 ご指導よろしくお願いします。 A列 B列 C列 D列 E列 あ  11 10  5  10  い  10 23  1   1 あ  10  1  2   1  

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

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

  • SUMPRODUCT関数で複数条件適用されない

    Sheet1 A列:日付 B列:注文番号 C列:品名 D列:整理番号 E列:数量 集計 A列:品名 B~AF列:日付(1~31日) 【集計】B~AF列の日付、A列の品名が 【Sheet1】A列の日付、C列の品名と一致したら 【Sheet1】E列の数量を【集計】の該当するセルに抽出する 式をSUMPRODUCT関数で作成しました。 例)10/1 りんご 20 【集計】B3セルに以下の数式を入れましたが なぜか数量が「0」のままになります。 =SUMPRODUCT('Sheet1'!$A$3:$A$200='集計'!B$2)*('Sheet1'!$C$3:$C$200="りん ご")*('Sheet1'!$E$3:$E$200) 特に数式のミスはないと思うのですが どうしても正しい値が入りません。 数式に間違いがあればご指摘いただけませんでしょうか。 また、他に良き方法があればご教示いただけるとありがたいです。

  • Excel2003 または07に関しての集計

    B列のデータがあります。このデータの個数を数えようとしています。 (1)が2つ、(2)とAAが各1あります。 それがc列で、式の結果がd列、式がe列です。 d列の結果が明らかにおかしいです。何故でしょうか? なお、下表でアンダーバー_はスペースです。 ____B____ C____ D____ E 2____ (2) 3 4____ AA 5____ (1) 6 7____ (1) ------- 9____ (1)___ 2____ 2____ =COUNTIF($B$2:$B$7,CB9) 10 ___ (2)___ 1____ 2____ =COUNTIF($B$2:$B$7,C10) 11 ___ AA___ 1____ 2____ =COUNTIF($B$2:$B$7,C11) 以上

  • 複数条件でのカウント

    データの個数のカウントで行き詰りましたので質問させていただきました。 複数条件で検索するのですが、その条件の中に AND と OR があります。 現状ではCOUNTIFSを足していって算出していますが、場合により条件が多くて とんでもなく長い式になってしまっています。 なんとか簡潔に短い式にまとめられないかと思いまして試行錯誤したり調べたり してみたのですが答えが出ませんでしたので質問に至りました。 現状では以下の様になっております。 A列・・・2ケタの数字 B列・・・数字・文字列の混合 データは約1000行あります。  このデータから、A列の 10 or 15 のデータで、 かつB列の 4 or 1_100 のデータの個数を求める式です。 =COUNTIFS(A1:A1000,C1,B1:B1000,D1)+COUNTIFS(A1:A1000,C1,B1:B1000,D2) +COUNTIFS(A1:A1000,C2,B1:B1000,D1+COUNTIFS(A1:A1000,C2,B1:B1000,D2) 条件を変えていろいろカウントしたいので、 C1~C2にA列の検索条件を入力するセルとし、 D1~D2にB列の検索条件を入力するセルとしております。 上記の式は条件がそれぞれ2個ずつとなっておりますが、 片方だけで6個までいく事もあり、その場合式がかなり長くなります。 これをどうにかして簡潔に短くまとめたいと思っております。 ご存知の方がおられましたらご教授下さい。 よろしくお願いいたします。

  • Excel関数で集計をしたいのですが

    下のような表があり、Excelで有効期限のあるポイント(現在から過去一年間)の集計をしたいのですが、    A      B        C        D         E 1 名前  2004/01/24  2008/03/15  2008/08/02   1年間有効 2 太郎     2        3        2         5 3 花子              2                  2 Eの列に集計を出したいと思いますが、関数で出すことは出来ますでしょうか? 宜しくお願いいたします。

  • エクセル複数のシート集計で困っています。

    シート1のデータを ほかの複数のシートにそれぞれ集計しようと思うのですが、いくつかの箇所がうまくできません。お分かりになる方教えていただけないでしょうか。 シート1にデータがあります。     A   B   C    D 1  100   90   80   100      単価 2  もも  りんご ぶどう  リンゴ    名称 3  山梨  青森  長野  長野     適用 4   5    0    10    5       注文a 5   7    9     2    5       注文b シート2(4行目のデータ集計・注文b)    A    B   C     D 1  もも  5   100    山梨 2 3 ぶどう 10   80    長野 4 りんご  5   100   長野     シート1に注文数がある場合 シート2 シート3・・・それぞれB列に数量が自動で入るように設定しています。 数字が入った場合だけA列・C列・D列の内容がシート1のセルから自動で入るよう設定したいのですが、うまくできません。  (シート1のデータはいろいろ変わります。) どなたか、アドバイスいただけないでしょうか?よろしくお願いいたします。

専門家に質問してみよう