
下記の様な、データ行数の決まっていない各空白行に自動でSUM関数を入力するにはどうすれば良いでしょうか。
A列 B列 C列
1行 123 酒 100
2行 123 酒 100
3行(空白) (SUM)
4行 215 ビール 200
5行 215 ビール 200
6行 215 ビール 200
7行(空白) (SUM)
8行 324 ワイン 300
9行 324 ワイン 300
10行 324 ワイン 300
11行 324 ワイン 300
12行(空白) (SUM)
(SUM)表記のセルにそれぞれのデータのSUM関数を自動で入れたいのですが。
実際のデータは3千行ほどあります。よろしくお願いいたします。
No.5
- 回答日時:
通し番号を振った上で、集計、オートフィルタ、ピボットテーブルなどを利用するのが手軽だとは思いますが…。
SUM関数を書く方法も次のとおり考えてみました。
(1)D1に「=if(c1,,row())」と入力し、このセルをコピー。D列の2行目以下に貼る。
(2)E2に「=if(c2,,max(D$1:d1))」と入力。E列の3行目以下をオートフィル。
(3)F3に「=if(c3,,"=SUM(C"&(e3+1)&":C"&(d3-1)&")")」と入力。F列の4行目以下をオートフィル。
(4)F列全体をコピーし、G列に値のみ貼り付ける。
(5)G列全体を選択した状態でリボンの「検索と選択」の「置換」ウィザードを起動し、「0」を「」(空白)に置換。
(6)G列全体を選択した状態でリボンの「区切り位置」ウィザードを起動し、何もせずに「完了」をクリック。
ここまでで、G列にSUM関数が並んだ状態になっているはず。
(7)D~F列を削除。
(8)C列全体を選択した状態でジャンプ(Ctrl+G)を実行し、「セル選択」ボタンの中の「空白セル」をクリックし、「OK」を押す。
(9)(8)により選択されている空白セルを「左方向にシフト」により削除。
これで完成。
※質問文のC列の「(SUM)」と書いてある各セルは、実際には未入力だと解釈して回答文を作成しています)
No.3
- 回答日時:
A列が空白の時、C列にSUM関数が入るようになっています。
Sub Macro1()
COUNTER = 0
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
COUNTER = COUNTER + 1
If IsEmpty(Range("A" & i)) Then
aa = (COUNTER - 1) * -1
Range("C" & i).FormulaR1C1 = "=SUM(R[" & aa & "]C:R[-1]C)"
COUNTER = 0
End If
Next i
End Sub
No.2
- 回答日時:
こんばんは!
質問ではA列が同じデータごとの「小計」のようですのでSUMIF関数を使用してみてはどうでしょうか?
ただ・・・決まったセルではないようなので
やはりVBAの方が簡単だと思います。
その一例です。
Sheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてマクロを実行してみてください。
Sub 小計() 'この行から
Dim i As Long
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row + 1
If Cells(i, 1) = "" Then
With Cells(i, 1)
.Value = "小計"
.HorizontalAlignment = xlCenter
.Offset(, 2) = WorksheetFunction.SumIf(Columns(1), Cells(i - 1, 1), Columns(3))
End With
End If
Next i
End Sub 'この行まで
※ 余計なお世話かもしれませんが、A列に「小計」と表示するようにしてみました。
参考になりますかね?m(_ _)m
No.1
- 回答日時:
VBAの力でも借りないと無理ですね。
ピボットテーブルで集計した結果ではダメなのでしょうか。
その方が、よっぽどすっきりすると思うのですが。
D列で良ければ
D2セルに(D1セルは何もなしで)
=IF(C2="",SUMIF(A:A,A1,C:C),"")
と入れて下までコピーしてみてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
マイクロソフト オフィスのサポ...
-
エクセル 日付順に並べてかえた...
-
【Excel VBA】PDFを作成して,...
-
outlookのメールが固まってしま...
-
エクセルで質問です。 ハイパー...
-
Office2021を別のPCにインスト...
-
エクセル 同じ数字を他の列に自...
-
Teams内でショートカットって貼...
-
大学のレポート A4で1枚レポー...
-
Microsoft Formsの「個人情報や...
-
パソコンWindows11 Office2021...
-
Officeを開くたびの「再起動メ...
-
マクロ自動コピペ 貼り付ける場...
-
表の作成について
-
Excelで〇のついたものを抽出し...
-
office2019 のoutlookは2025年1...
-
エクセルからメールを作れるか...
-
エクセル:一定間隔で平均値を...
-
Excel 日付を比較したら、同じ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
大学のレポート A4で1枚レポー...
-
Office2021を別のPCにインスト...
-
エクセル 同じ数字を他の列に自...
-
エクセルからメールを作れるか...
-
Microsoft365、ページ設定がで...
-
快活CLUBについて 私用で使う書...
-
パソコンWindows11 Office2021...
-
libreoffice calcで行を挿入し...
-
エクセルで質問です。 ハイパー...
-
outlookのメールが固まってしま...
-
Microsoft Formsの「個人情報や...
-
別シートの年間行事表をカレン...
-
Microsoft Formsでクイズの解答...
-
マクロ自動コピペ 貼り付ける場...
-
Excelで〇のついたものを抽出し...
-
Excel 日付を比較したら、同じ...
-
エクセルで特定のセルの値を別...
-
Officeを開くたびの「再起動メ...
-
office2019 のoutlookは2025年1...
おすすめ情報