下記のような表でB欄、C欄の小計をA欄の条件ごとに集計したいのですが
A B C
12 14 20 A欄12のB欄合計 C欄合計
12 15 21 A欄13のB欄合計 C欄合計
12 16 22
13 17 23
13 18 24
13 19 25
A欄12・13の間に行を挿入してΣすればよいと思いますが、データが1000行以上でA欄の条件も100以上なので、何とか手間を少なく出来ないかと考えております。A欄の属性数値12とか13を入力することで簡単に集計できないかと、ネット検索してDSUMとかVLOOKとか挑戦してみましたがダメでした。
よろしくお願いいたします。
No.11ベストアンサー
- 回答日時:
『集計機能』そのもののように思われます。
質問の表で行なうと、
1.まず、A欄でソートしておきます。
2.表の内部を選択しておいて、データ→集計 を実行。
出てきたダイアログボックスで、
→グループの基準を『A』
→集計の方法を『合計』
→集計するフィールドの『B』、『C』をチェック
→『現在の集計表と置き換える』にチェック
→『グループごとに改ページを挿入する』はチェックしない
→『集計行をデータの下に挿入する』にチェック
3.すぐ集計が終わります。
左にアウトラインが表示されるので、小さな『2』をクリックすれば、質問の答えでしょう。
この集計結果のみをコピーしたい場合は、
4.小さな『2』をクリックして折りたたんだ状態で、表の中を選択し、
5.Ctrl+Shift+*(コントロールキーとシフトキーを押した状態でアスタリスクキーを押します)でデータをすべて選択
6.編集→ジャンプ→セル選択 でダイアログボックスの『可視セル』を選択しOK
7.Ctrl+C でコピーします
8.貼り付ける位置を選択し、Ctrl+V で貼り付け
算式など一切使わず、集計できるはずです。
また、集計処理を元に戻すには、表内をクリックした状態で、データ→集計→すべて削除 とします。元の表に戻ります。
おかげさまで出来ました。こんなに簡単にできるとは!感激です。エクセルって知れば知るほど便利になってくるんですね。有難うございました。
No.12
- 回答日時:
A B C D E F
12 14 20 1 =SMALL(A:A,D1) =SUMIF(A:A,E1,B:B)
12 15 21 2 =SMALL(A:A,D2) =SUMIF(A:A,E2,B:B)
12 16 22 3 =SMALL(A:A,D3) =SUMIF(A:A,E3,B:B
13 17 23 4 ・ ・
13 18 24 5 ・ ・
13 19 25 6 ・ ・
下へコピー 下へコピー
では、いかがでしょう?
E列は、A列のリストがD列のランク順に表示されます。
候補がなくなり次第、エラーが出るので、その行以上(300くらい?)の式(DEF列)は必要ありません
あ、G列には =SUMIF(A:A,E1,C:C) を入力し、同じく下へコピーです。
多分、簡単な方法ではないかと思うのですが・・・
(準備列は多いですけど^^)
No.10
- 回答日時:
》 …DSUMとかVLOOKとか挑戦してみましたがダメでした。
そうですか。それでは、=DSUM()関数を用いる方法を示しておきます。
A B C D E F G
1 FLD1 FLD2 FLD3 FLD1 FLD1
2 12 14 20 12 13
3 12 15 21
4 12 16 22 B欄合計→ 45 54
5 13 17 23 C欄合計→ 63 72
6 13 18 24
7 13 19 25
8
F4: =DSUM($A$1:$C$1500,ROW(2:2),F$1:F$2)
此れを右および下に複写
有難うございます。やり方がおかしいのか、数値が0と表示されます。
すみません勉強不足で、ROW(2:2)はどのような意味なのですか?
No.9
- 回答日時:
例データ Sheet1
A列 B列
コード計数
121
122
123
134
135
131
132
143
(1)A列の重複なきコードの作成
A列A1を指定
データーフィルターフィルタオプションの設定
重複するレコードは無視する
で出てきたものをコピーしSheet2に貼り付け
(2)集計計数
Sheet2のA列 フィルタの結果貼り付けたコード
B2の式
=SUM(IF(Sheet1!$A$2:$A$10=A2,Sheet1!$B$2:$B$10))
と入れてSHIFT+CTRL+ENTERの3つのキーを同時押し(配列数式)
B3,B4にB2の式を複写。
結果
コード計数集計
126
1312
143
C列に当たる計数合計は類推でできると思うので略。
有難うございました。SHIFT+CTRL+ENTER同時押ししましたら、「値の更新Sheet1」というウィンドウが表示されました。計算結果が0と表示されてしまいましたので、私のやり方がまずいようです。出来るでやってみます。
No.8
- 回答日時:
No.5に追加。
間に合わせ的な方法でよければ、subtotal関数で代用できます。
上の表なら、
B8のセルに「=subtotal(9,b2:b7)」
C8のセルに「=subtotal(9,c2:c7)」と書きます。
(subtotalのあとの「9」は「合計を出しますよ」との意味)
次に、範囲を全部選択→データ→フィルタ→オートフィルタ。
Aの列のオートフィルタのプルダウンで「12」とか「13」とかを選べば、
B8セルやC8セルに答えが出ます。
Aの全部の条件について合計を出すには不便ですが、
特定のどれかの条件についてだけ合計を出すには簡便です。
ピボットテーブルとの同時使用もできますよ。
No.7
- 回答日時:
No.6です。
すみません、間違えました。> No.4の回答者の方法でやる場合は、E1,F1にそれぞれ
> =SUMPRODUCT((A1:A1000=D1)*(B1:B1000))
> =SUMPRODUCT((A1:A1000=D1)*(C1:C1000))
ではなくて、
=SUMIF(A:A,D1,B:B)
=SUMIF(A:A,D1,C:C)
でした。失礼いたしました。
No.6
- 回答日時:
他の回答者の書かれているようにピボットテーブルを使えば一発なのですが、ファイルサイズが大きくなって開くのに時間がかかるようになったりするのが嫌であれば、No.3やNo.4の方のような関数を使った方が軽くなります。
しかし、データが1000行以上でA列の条件も100以上だということなので、条件を1つ1つ抽出して式にあてはめていくのも大変だと思います。そこで、A列の条件を抽出する方法です。
まずA列全体を選択し、コピーし、別シートに貼り付けます。
貼り付けた列にタイトル行がなければタイトル行を先頭に挿入します。
貼り付けた列全体を選択し、「データ」>「フィルタ」>「フィルタオプションの設定」を選択します。
出てきた画面で、「重複するレコードは無視する」にチェックを入れ、OKボタンを押します。
重複のないデータが抽出されるので、抽出されたデータをコピーし、元のシートの、たとえばD列に貼り付けます。
No.3の回答者の方法でやる場合は、E1,F1にそれぞれ
=SUMPRODUCT((A1:A1000=D1)*(B1:B1000))
=SUMPRODUCT((A1:A1000=D1)*(C1:C1000))
No.4の回答者の方法でやる場合は、E1,F1にそれぞれ
=SUMPRODUCT((A1:A1000=D1)*(B1:B1000))
=SUMPRODUCT((A1:A1000=D1)*(C1:C1000))
と入力し、抽出したデータ分だけ下にコピーすればいいです。
No.5
- 回答日時:
Excelのバージョンによって微妙に違うのですが、大筋としては、
範囲(左上のAから右下の25まで)をドラッグして選択。
データ→ピボットテーブル
次へ→次へ
レイアウト
「列」の白四角に「A」をドラッグ&ドロップ
「行」の白四角に「B」をドラッグ&ドロップ
行の左・列の下の広い白四角に「C」をドラッグ&ドロップ。
完了
「c:データの個数」とか書いてある灰色のところを右クリックして、
「合計」のところまで動かす。
みたいな感じで、お望みの表が出来ます。
1000行でも10000行でもなんでもござれ。
ただし、Excelのファイルサイズが、これをやると
あっという間に何十メガバイトになります。
パソコンのメモリよりも大きなファイルになっちゃうと扱いきれませんので、それだけは注意。
No.4
- 回答日時:
こんにちは。
A列の12のB列合計 =SUMIF(A:A,12,B:B)
A列の12のC列の合計 =SUMIF(A:A,12,C:C)
のように、表示したいセルに↑の関数を入れてみてください。
ちなみに、13であれば =SUMIF(A:A,13,B:B)というふうに
「,」と「,」の間の数字を変えればよいです。
有難うございます。簡単なので驚きました。
「,」「,」の間に入力候補が300あるので300回関数を入力しますが、簡単に入力候補の数列だけで出来る方法などはないでしょうか?そのくらいの手間はかけなければダメでしょうね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの警告について
-
タイムスタンプとテキストから...
-
シートの情報を別のシートへま...
-
マクロの処理が遅くなった
-
Excelでの文字色
-
ワークシートに出現したこの画...
-
EXCELの散布図で日付が1900年に...
-
OFFSET関数を使用したいのです...
-
エクセルでファイルの最終更新...
-
エクセルの文字が途中から消える
-
エクセルデーターから必要な項...
-
Excel 大小比較演算子による「...
-
SUBTOTALは、参照された数字で...
-
エクセルの数式バーのフォント...
-
エクセルの「条件付き書式」を...
-
Excelについて教えてください。...
-
エクセルVBA 月の中で、月~土...
-
Excelの数字の前に入っている空...
-
Excelの関数について このよう...
-
セルの数を求めたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
Excelで数値を時間数に変換する...
-
エクセルの数式バーのフォント...
-
エクセルで数字の組み合わせを...
-
エクセルを使用して、円周率を...
-
Excelで特定の文字列が含まれて...
-
Excel 対象のセルに入力が無い...
-
任意の値が存在する行に名前を...
-
エクセルでファイルの最終更新...
-
index関数の説明をお願いします。
-
条件付き書式でやりたいのですが
-
重複しない値を取り出したい
-
【ExcelVBA】UTF-8(BOM無)でC...
-
【マクロ】マクロが割当てされ...
-
エクセル IF計算式?でしょうか?
-
エクセルで曜日を入れたい
-
表中の指定した条件の文字列を...
-
【Excel】版が同じ事を示す番号...
-
EXCELの散布図で日付が1900年に...
-
Excelについて。Excelに縦1列に...
おすすめ情報