[[20250224193127]] 『計算式入っているセルに、数値が入ったら計算』(ゆきひで) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『計算式入っているセルに、数値が入ったら計算』(ゆきひで)

下記について教えてください。

  A  B
 日計 累計
1  1  1
2  1  2
3    2
4    2
5    2
6    2

・A列には別シートから数値が入る計算式があります
 (別シートはDWHで、更新ごとにA列に数値反映)
・A3は別シートの数値がまだ未反映のため空欄
・今のままだとB3以降がB2の累計数値がずっと続きます

教えてほしいこと
A列に反映がある行まで累計を表示したい

よろしくお願いいたします。

< 使用 Excel:Microsoft365、使用 OS:Windows11 >


B2セル以下に、下記をコピーするのではどうですか?
=IF(A2="","",B1+A2)

# A列の式が、何もなければ""を返す設定になっている前提です。
# その場合に「0を返すが、0は非表示にしている」ということなら、
# A2=0に変更する必要があるかもしれない。
(とおりすがる) 2025/02/24(月) 20:19:08


とおりすがるさん
ありがとうございます!できました!!

ですが・・・

  A  B
 日計 累計
1  1  1
2  1  2 ←ここまでは反映するようになりました
3      ←ここでA3が別シート数値が「0」の場合、B列の累計も消え、B4以降の数値も消える
4  1   
5  1   
6  1  

出来れば 
  A  B
 日計 累計
1  1  1
2  1  2 
3    2 ←A3列は「0」表示でも、ブランクでも構わない
4  1  3 
5  1  4 
6  1  5

こうなるのが理想なのですが、無理なのでしょうか?

(ゆきひで) 2025/02/25(火) 13:37:29


 実際には1行目が見出しでレイアウトが
    A     B
 1 日計 累計
 2   1    1
 3   1    2
 4        2
 5   1    3
 6   1    4
 7   1    5
 だとして。
 また空白は式で""で返してるとして(0を非表示にはしていない)
 B2セルに
 =IF(ROW()>MATCH(100,A:A,1),"",SUM(A$2:A2))
 ではどうだろうか?

 なお、MATCH関数の中の100部分はA列に出てくる数値の最大値より大きい値にしてくれ。
 例えばA列に出てくる数値の最大値が20であれば20より大きい値であればいい。
(ねむねむ) 2025/02/25(火) 13:58:29

 とおりすがるさんの数式を若干アレンジして。
 B2 =A2
 B3 =IF(A3="",MAX(B$2:B2),B2+A3)
 下にコピーとか。

(行きずり) 2025/02/25(火) 14:10:29


 行きずりさん、それでは

    A     B
 1 日計 累計
 2   1    1
 3   1    2
 4        2
 5   1    3
 6        3
 7        3
 になってしまうのでは?
 最初の質問にある例題からみると6行目、7行目は累計を空白にしたいものだと思うが。
(ねむねむ) 2025/02/25(火) 14:20:58

 あーそういうことか?
 >A列に反映がある行まで累計を表示したい
 ちゃんと質問を理解してませんでした。
 ねむねむさん、ご指摘有難うございます。
 なので、私(行きずり)のはなかったことにしてください。

(行きずり) 2025/02/25(火) 14:54:10


> 日計 累計
>1  1  1
>2  1  2 ←ここまでは反映するようになりました
>3      ←ここでA3が別シート数値が「0」の場合、B列の累計も消え、B4以降の数値も消える
そうですか。
そのときB3にはどんな計算式が入っているのでしょうか。
=IF(A3="","",B2+A3)
が入っているはずなので、
2+0 で2になるはずなのに、消えてしまうのですか、私には想像できないです。

数値の0では支障は出ないはずですが、
もし、""の後の行で、数値が開始するようなケースがあるなら、
前行までの累計は使えず、過去の合計を再計算する必要があります。

(とおりすがる) 2025/02/25(火) 15:03:35


 ああ、
 >また空白は式で""で返してるとして(0を非表示にはしていない)
 として式をたてたが、もし
 ># その場合に「0を返すが、0は非表示にしている」ということなら、
 ># A2=0に変更する必要があるかもしれない。
 で変更しているのならば
 =IF(ROW()>AGGREGATE(14,6,ROW($1:$100)/(A$1:A$100<>0),1),"",SUM(A$2:A2))
 ではどうだろうか?

 なお、A列が0または空白の両方に対応する場合は
 =IF(ROW()>AGGREGATE(14,6,ROW($1:$100)/((A$1:A$100<>"")*(A$1:A$100<>0)),1),"",SUM(A$2:A2))
 で。

 なお上記式ではデータが100行目までに対応している。
 もっとデータが多い場合は式中の2か所のA$100部分を大きくしてくれ。
(ねむねむ) 2025/02/25(火) 15:14:56

とおりすがるさん、ねむねむさん、行きずりさん
みなさん、ありがあとうございました!
(ゆきひで) 2025/02/25(火) 19:01:53

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.