ReoGrid ReoGrid Web

累計列

累計(累積合計)はスプレッドシートの定番パターンです。各行の合計 = 前の行の合計 + 現在の行の値。ReoGrid では行ごとに1行の数式で実現できます。

Pro 限定。 SUM は Pro の関数です。Lite では =B2 / =C1+B2(算術のみ)に置き換えてください。

完成例

import { createReogrid } from '@reogrid/pro';

const { worksheet } = createReogrid('#grid');

// Headers
worksheet.cell('A1').setValue('Date').setStyle({ bold: true });
worksheet.cell('B1').setValue('Amount').setStyle({ bold: true });
worksheet.cell('C1').setValue('Running Total').setStyle({ bold: true });

const data = [
  { date: '2026-04-01', amount:  120 },
  { date: '2026-04-02', amount:   85 },
  { date: '2026-04-03', amount:  210 },
  { date: '2026-04-04', amount: -40  },
  { date: '2026-04-05', amount:  175 },
];

data.forEach((d, i) => {
  const row = i + 2;  // A1 is header, so data starts at row 2
  worksheet.cell(`A${row}`).setValue(d.date);
  worksheet.cell(`B${row}`).setValue(d.amount);

  // The running-total formula: SUM from the first data row ($B$2) to the current row.
  worksheet.setCellInput(row - 1, 2, `=SUM($B$2:B${row})`);
});

worksheet.range(`B2:C${data.length + 1}`).setFormat('$#,##0.00');
worksheet.column(2).width = 140;

$ が重要な理由

=SUM($B$2:B3) において:

  • $B$2 は絶対参照で、決してずれません。
  • B3 は相対参照で、行に合わせてずれます。

数式エンジンが参照をコピー・更新するとき(たとえば行を挿入したとき)、アンカーは固定されたまま、範囲は常に行2から現在の行まで伸びます。

グループごとにリセットする

データにグループがある場合(たとえば月ごとにリセットする月次合計)、アンカーを各グループの先頭行に向けて変更します。よりシンプルな代替案は「前の合計 + 現在の値」のパターンです。

// C2: =B2
worksheet.setCellInput(1, 2, '=B2');

// C3..Cn: =C(n-1)+B(n)
for (let row = 3; row <= data.length + 1; row++) {
  worksheet.setCellInput(row - 1, 2, `=C${row - 1}+B${row}`);
}

このパターンは算術のみを使うため、Lite・Pro の両方で動作します。

関連

ニュースレター

開発の最新情報をお届けします

新しいリリース・機能追加・お知らせをいち早く受け取るには、
メーリングリストにご登録ください。