累計列
累計(累積合計)はスプレッドシートの定番パターンです。各行の合計 = 前の行の合計 + 現在の行の値。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 の両方で動作します。