![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
下記の様な、データ行数の決まっていない各空白行に自動で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で質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) 計算式にはゼロ表示をしたい 6 2022/05/14 09:33
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
- Excel(エクセル) VBA SUM関数を入力したい 6 2022/08/20 20:10
- Excel(エクセル) エクセルの数式を等間隔にオートフィルできるやり方を教えていただきたいです。 実際の作業↓ A3セルに 7 2023/06/05 19:04
- 会計ソフト・業務用ソフト ExcelのSUM関数と+の違い 2 2022/07/12 18:32
- Excel(エクセル) エクセル (空白ではなくゼロに) 3 2023/04/22 19:11
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- Excel(エクセル) A列が指定数値以上になったらD列の計算式を変更 3 2022/07/11 11:03
- Excel(エクセル) スプレットシートでA1~G1にデータが入っていて、 それを1列ずつ空けて表示する関数がわかる方いまし 4 2022/08/25 09:39
- C言語・C++・C# プログラミング実行後の表示される値を答えよ #include<stdio.h> void main( 7 2022/05/20 00:07
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
英数字のみ全角から半角に変換
-
Outlook 電源OFFの受診の仕方
-
「生産性ソフトウェア」とは何...
-
web上にあるエクセルをショート...
-
複数の写真を1枚に印刷
-
会社PCのメールが更新されない
-
会社のOutlookにてメールを予約...
-
エクセルでXLOOKUP関数...
-
VBAで横データを縦データに変換...
-
office2016のパソコン2台インス...
-
teams設定教えて下さい。 ①ビデ...
-
Outlookで、任意のメールアドレ...
-
Windows 11で、IME言語バー(IM...
-
大学のレポート A4で1枚レポー...
-
Excelのセルの重複チェックが出...
-
VBA CSV出力について
-
WEBの記事を印刷する際にA...
-
Excelに貼ったリンクについて E...
-
1つのPCに「Excel 2010」「Exc...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
英数字のみ全角から半角に変換
-
Excelで空白以外の値がある列の...
-
会社PCのメールが更新されない
-
Excel 日付を比較したら、同じ...
-
マイクロソフト 一時使用コード...
-
ウィンドウィズ メモ帳で日付だ...
-
MicrosoftOfficeの1ユーザー2...
-
Microsoft Formsの「個人情報や...
-
Officeの字体
-
エクセルでXLOOKUP関数...
-
Microsoft365で自動保存が出来...
-
Outlookで、任意のメールアドレ...
-
outlookのメールが固まってしま...
-
Microsoft 365 の一般法人向け...
-
Office2021を別のPCにインスト...
-
Microsoft 365のディフェンダー...
-
Excelに貼ったリンクについて E...
-
MicrosoftOffice2019なんですが、
-
Outlook で宛先が複数の場合の人数
おすすめ情報