始めまして、よろしくお願いします。
このようなシートがあります。
A B C
1 赤 青 黄
2
3
4 1 1 14
5 9
6
7 4
8 1 -1 4
9 3
10 2 1 ・
11 ・ ・ ・
12 ・ ・ ・
4行に(A4に1入力)データーが入力され、データーは下へスライドコピーされていきます。B列に数字が入る場合(ここでは4行、8行、10行になります)に、B列の無記入行のA列の計(B5,B6,B7,が無記入なので合計されるA列の値はデーター入力されるA4とB列無記入にあたるA5,A6,A7の計です)をC列に表示されるようなC4に入る関数式を教えていただきたく、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
C1000セルまで入力し、A1001:C1001セルには何も入力しないとして
そのまま数式に表わすと
C1000セルに
=IF(B1000="","",
SUMIF(B1001:B$1001,"",A1001:A$1001)+A1000
+SUMIF(B1001:B$1001,"<>",A1001:A$1001)-SUM(C1001:C$1001))
上へオートフィル
でよくよく数式を眺めると
C1000セルに
=IF(B1000="","",SUM(A1000:A$1000)-SUM(C1001:C$1001))
上へオートフィル
No.2
- 回答日時:
2行目から下方にデータが入力されるとして、作業列を作って対応するのがよいでしょう。
E2セルには次の式を入力して下方にオートフィルドラッグします。=IF(B2="","",MAX(D$1:D1)+1)
C列にはお求めのデータを表示させるとしてC2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(B2="","",SUM(A2:INDIRECT("A"&IF(COUNTIF(D:D,D2+1)=0,MATCH(10^10,A:A),MATCH(D2+1,D:D,0)-1))))
ここでMATCH(10^10,A:A)はA列で数値のデータが入力されている最終の行番号を求めるものです。
回答ありがとうございます。うまく導き出せましたが、できれば作業列を作らないやり方を考えております。参考にさせて頂きたいと思います。
No.3
- 回答日時:
関数でやるのは難しい課題だ。
出来ても相当長い難しい式になると予想される(初心者には意味がわからない式だろう。)位置が不定であることが問題を複雑にする。
ーー
其れで、作業列を使い、やや?やさしくしてみる(imogasi方式)
例データ
A列からD列、D列は作業列
赤青黄作業列
11141
91
1
41
1-142
32
2133
63
D4セルに =IF(B4="",D3,MAX($D$3:D3)+1) といれて下方向に式複写
結果上記D列。
意味は、B列で、データ出現までの行を、ひと塊として、上行から連番を振ったもの。
ーー
D4に =IF(D4<>D3,SUMIF(D4:D100,D4,A4:A100),"")
意味は、D列で前の行と数字が変わったときだけ、D列の数字でA列の数をSUMIFする。
下方向に式を複写
結果
赤青黄作業列合計
1114114
91
1
41
1-1424
32
21338
63
ーーーーーーー
質問の文章表現がわかりにくい
「B列で(次に)数字が現れる手前行までについて、A列の数字を足して、先頭行(B列に数字のある行)のC列に出したい」などどうかな。
回答ありがとうございます。当方生粋の日本人ですが、いまだに母国語の日本語を上手に使いこなせていないようです。日本語は難しい言語ですね。回答は参考にさせていただきたいと思います。
No.5
- 回答日時:
回答No2です。
作業列を使わないでとのことですので次の式をC2セルに入力してからCtr+Shit+Enterで式を確定してから下方にオートフィルドラッグします。
=IF(B2="","",SUM(A2:INDIRECT("A"&IF(COUNT(B$2:B2)=COUNT(B:B),MATCH(10^10,A:A),SMALL(IF(SUBTOTAL(103,INDIRECT("B"&ROW(B$1:B$1000))),ROW(B$1:B$1000)),COUNT(B$1:B1)+2)-1))))
No.6
- 回答日時:
こんにちは!
ご希望の関数でなく、VBAでの一例です。
画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub test() 'この行から
Dim i, j, k As Long
For i = Cells(Rows.Count, 1).End(xlUp).Row To 4 Step -1
k = i
Do Until Cells(i, 2) <> ""
i = i - 1
Loop
j = i
Cells(i, 3) = WorksheetFunction.Sum(Range(Cells(j, 1), Cells(k, 1)))
Next i
End Sub 'この行まで
尚、一旦マクロを実行すると元に戻せませんので別Sheetにコピー&ペーストしてマクロを試してみてください。
m(__)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBAで次の様にデーターをテンプレートに反映したいのですが、よろし 5 2022/04/17 15:52
- Visual Basic(VBA) エクセルVBAで次の様にデーターをテンプレートに反映したいのですが、よろしくお願い致します。 1 2022/04/17 15:56
- Visual Basic(VBA) VBAで列の再表示設定 1 2023/04/25 10:19
- Excel(エクセル) VBA SUM関数を入力したい 6 2022/08/20 20:10
- Excel(エクセル) エクセルデーターの並び替え 5 2022/08/06 09:59
- Excel(エクセル) エクセルの計算式を教えてください 3 2023/03/14 13:48
- Excel(エクセル) B列に、A列の数字が偶数の場合は1減算した数字、奇数の場合はそのまま数字を自動表示したい 4 2022/04/16 12:01
- Excel(エクセル) エクセルシートの合計の変動 5 2022/04/05 15:56
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) エクセルの関数について 5 2023/04/30 17:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
はがきについて。
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
【関数】先頭だけにある、半角...
-
Excel ピボットテーブルで日付...
-
Excelのpivotについて質問です
-
時間によってファイル名が変わ...
-
エクセル 白黒印刷で白線を印刷...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
WPS OFFICEでの縦書きについて
-
Excelのチェックボックスの使い...
-
エクセルの条件付き書式につい...
-
エクセルのセルに同じ大きさの...
-
エクセルの関数について教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報