Excelバージョン
マイクロソフト365
合計範囲のデータが下に増えていくページがあったとして、下記の関数で簡単に空白があろうがなかろうが、合計の範囲を可変にして完全自動で値を取得できます。
Menu
A列にデータがある場合の自動取得
下記の図のようにA列にデータがあり空白がある場合でも取得できます。
A列にデータをセットして下記をそのままコピぺでOKです!
1 | =SUM(A1:INDIRECT("A"&MATCH(ROWS(A:A)^10,A:A))) |
①MATCH(ROWS(A:A)^10)で最終行番号を取得します。
②INDIRECTで連結して文字を作成します。
③sumで一気にネストして出来上がりです♪
行頭のセル位置を変える場合は下記をA2,A3とかに変更します。
=SUM(A1:INDIRECT(“A”&…
A列にデータがあり一番下に合計がある場合の自動取得
下記の図のように一番下に合計があるような形式の場合は合計のセルも取得してしまうので、パラメーターとして-1を追加してあげます。
尚データに空白がある場合でも取得はできます。
1 | =SUM(A1:INDIRECT("A"&MATCH(ROWS(A:A)^10,A:A)-1)) |
基本的に前回の内容とほぼ一緒です。
違うところは最後の括弧の手前-1の箇所を-2とか-3とかに変更してあげれば合計の何個上まで取得するかを指定できます。
行頭のセル位置を変える場合は下記をA2,A3とかに変更します。
=SUM(A1:INDIRECT(“A”…
違う列を取得したい場合の自動取得
例えばデータがC列だったら下記のようにAだった箇所を全てCに変更してあげます。
1 | =SUM(C1:INDIRECT("C"&MATCH(ROWS(C:C)^10,C:C))) |
まとめ
今回のポイントは関数で下から行番号の取得が可能か不可能かで(結構強引に取得してます)、このような自動取得ができるできないの結果になります。
関数では空白があったり同じ値が重複したりしてると取得が困難になるので通常こういった場合はVBAを使用してEnd(xlUp).Rowで下から行番号を取得します。
以上です(*^^)v