
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
> 単にサムの範囲を常に増やしておくと同じですね??
違いますよ。
質問にある式は、
=SUM(OFFSET(D5,0,0,1,COUNTA(5:5)-3))
ですよね。
この数式をCOUNTA関数の範囲である5行目以外のセルで使えば、
合計が正しく出せるはずです。(例えばC1セルで計算するなど)
No.2に添付した画像で説明するなら、
=SUM(OFFSET(D5,0,0,1,5))
と同じ意味なので、この数式をC5セルに記載でも同じ値になります。
問題は、COUNTA(5:5)の範囲にC5セルがあることなのです。
COUNTA(5:5)では、5行目全体を範囲にして値のあるセルの個数を
出すものですが、この範囲内に計算式があることで循環参照の対象
になり、計算が正しくならない場合があるということです。
[オプション:で[反復計算を行う]のチェックを入れれば、循環参照でも
計算してくれますが、PCに負担をかけるので処理が遅くなります。
計算式が増えてくると、遅さに拍車をかけることになります。
計算したいセルが、行全体を指定したときに含まれる場合、行全体を
指定しないで、計算したいセルを除く範囲を指定すべきなのです。
質問にある式の、
=SUM(OFFSET(D5,0,0,1,COUNTA(5:5)-3))
と
=SUM(OFFSET(D5,0,0,1,COUNTA(A5:XFD5)-3))
とは同じことは理解できますよね。
これは、計算式のあるセル範囲であるA5:C5セルまでと、D5セルから
最終のXFD5セルまでを指定したことと同じになります。
=SUM(OFFSET(D5,0,0,1,COUNTA(A5:C5,D5:XFD5)-3))
-3の意味がA5:C5セルを除く範囲の値のある個数なのですから、
=SUM(OFFSET($D5,0,0,1,COUNTA($D5:$XFD5)))
が成り立つのです。
計算式のあるセルまでを除くことで、循環参照の範囲内にはならない
ことになり、計算する範囲が可変したい範囲と一致するのです。
以上の説明で、SUM関数で計算する範囲が、COUNTAで出した個数
までの範囲ということなるので、常に増やしておくこととは意味が違う
ということは理解できると思います。
ちなみに、No.3の回答者さんが指摘していることも大事です。
可変範囲内に、空白セルがあると無意味だからです。
No.3
- 回答日時:
C5に入れる関数 =SUM(OFFSET(D5,,,,50))
C6に入れる関数 =SUM(OFFSET(D6,,,,50))
横方向を可変にする必要がないのではないですか。
可変にするのを、COUNTAで出すようであれば、途中に空白があったら、合計がおかしくなるし、
横方向の終わりをセルに入れた値で可変にする必要があるならば、そのセルの値あるいは値があるセルの位置を見つける関数を探すのが良いのだと思います。
No.2
- 回答日時:
COUNTA関数で指定した範囲内に数式を入れているので、循環参照
となることから幅が0になってしまうのです。
https://support.office.com/ja-jp/article/%E5%BE% …
D5セルより右側にあるセル範囲を指定したいのなら、範囲を決めて
おくほうが良いと思います。
=SUM(OFFSET($D5,0,0,1,COUNTA($D5:$XFD5)))
XFD列は最大列数である16384列目になります。

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセル 関数を使った横方向の期間集計、範囲指定した横方向の集計
Excel(エクセル)
-
【Excel】数式の参照範囲を可変対応させるためにはどうすれば良いのか(修正のため再投稿)
Excel(エクセル)
-
エクセルで、A2のセルにA3以降の数を全て足した数を入れるには?
Excel(エクセル)
-
-
4
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
VBA SUM関数を入力したい
Excel(エクセル)
-
7
【エクセル】セルの中に数字と文字があり数字だけを足す方法
Excel(エクセル)
-
8
VBAでセル入力の数式に変数を用いたい
Excel(エクセル)
-
9
エクセル2016でfilter関数がないので、、抜き出す関数をおしえてください。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで、時間の計算をした...
-
エクセル 1万時間を越える際の...
-
ヘッダー
-
エクセルの使い方 1日=7時間45...
-
Excelの文字入力にタイムラグが...
-
エクセル・計算式をテキストデ...
-
エクセルで時間の差の出し方は?
-
IF関数で出した数値をSUM関数で...
-
EXCELの関数に関する質問です
-
エクセルで、分数の分子分母を...
-
AかBに入力があった時Cに反映、...
-
Excel 関数? 文字列に...
-
数式の計算結果により表示され...
-
多項式の計算
-
小数点第1位が0のときROUNDUP...
-
IF関数の場合分け
-
エクセルで計算式の答えを
-
エクセル「セルの周辺の数式と...
-
【エクセル】あるセルのみ自動...
-
セルの数値を、まとめてプラス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ヘッダー
-
Excel 関数? 文字列に...
-
AかBに入力があった時Cに反映、...
-
数式の計算結果により表示され...
-
EXCELの関数に関する質問です
-
エクセルで、時間の計算をした...
-
IF関数で、時間を条件にしたい...
-
エクセル・計算式をテキストデ...
-
Excelの文字入力にタイムラグが...
-
エクセルの使い方 1日=7時間45...
-
TEXTCALCの使い方
-
エクセルでの時間計算(2時間30...
-
エクセル 月数を0.5ヶ月単位で...
-
エクセル 1万時間を越える際の...
-
エクセルでDeleteキーを...
-
IF関数で出した数値をSUM関数で...
-
sum 範囲を横に可変したいです...
-
計算結果が「0」のセルだけを「...
-
エクセルで同じ計算式を入れて...
-
エクセルで数値を50単位で切...
おすすめ情報