A1 から A20 に数値があり、列 A の 5 つのセルの重複しない範囲を合計し、結果を列 E のセルに格納したいとします。これは次のようになります (式が各 E 列のセルに入力された場合)手動):
E1 = SUM(A1:A5)
E2 = SUM(A6:A10)
E3 = SUM(A11:A15)
E4 = SUM(A16:A20)
ただし、数式を E セルに手動で入力したくありません。Aの5つのセルの重複しない範囲を維持しながら、E1で数式を選択してE4にドラッグできるようにしたい! Excel では、既定ではこの動作が行われません。代わりに、次のようになります。
E1 = SUM(A1:A5)
E2 = SUM(A2:A6)
E2 = SUM(A3:A7)
E4 = SUM(A4:A8)
各 SUM() 関数で 5 つのセルの範囲がどのように重なっているのがわかりますか? 例: A1:A5 および A2:A6。それは私が望むものではありません。
では、これを可能にする式は何でしょうか? 基本的に、次の疑似コードは機能しますが、Excel でそのようなものを実装できないようです。
SUM(CELL(COLUMN, (CURRENT_ROW - 1) * 5 + 1):CELL(COLUMN, (CURRENT_ROW - 1) * 5 + 5))
たとえば、E2 の場合、CURRENT_ROW = 2 は次のようになります。
SUM(CELL(A, (2 - 1) * 5 + 1):CELL(A, (2 - 1) * 5 + 5))
= SUM(CELL(A, 6):CELL(A, 10))
この疑似コードは、CELL にメソッド シグネチャ CELL(row, column) があることを前提としています。