明細を足したら合計が大きすぎる|小計・総計の行を混ぜていませんか

記事
IT・テクノロジー
部門別の一覧を1枚にまとめ、金額列を足したら元の帳票より大きくなった。表の中に明細行と小計行が混ざっていると、同じ金額を二重に数えることがあります。

計算範囲を短くするだけで直すより、どの行を集計対象にするかを決めると、行が増えたときにも確認しやすくなります。

■ 5行の例

明細A:100円
明細B:200円
AとBの小計:300円
明細C:400円
全体の総計:700円

金額の全行を足すと1,700円です。しかし、明細A・B・Cの合計は700円。途中の300円と最後の700円は、明細をまとめた値なので、同じ合計へ加えません。

全行1,700円 − 小計300円 − 総計700円 = 明細700円

21_detail_totals.png
説明図:明細だけの700円と小計/総計混入の1700円を区別する。

■ 行番号ではなく、行の種類で判断する

「5行目を除く」という方法では、次月に明細が増えたとき、総計が6行目へ動くかもしれません。

入力元に明細・小計・総計を示す区分があるなら、その定義を確認して使います。区分がない場合は、帳票の見出しや構造から判断する必要があります。商品名に「合計」という文字が含まれるだけで除外するのは危険です。

■ 集計を見直す手順

1.元の帳票を残す

出力元のファイルを保存し、作業用の表で確認します。集計対象から外す行も、元の金額と理由を残します。

2.行の粒度を確認する

1件の明細なのか、複数明細をまとめた値なのかを分けます。支店小計・地域小計・全社総計のように、集計段階が何層もあることがあります。

3.同じ段階の行だけを足す

明細から全体を求めるなら、明細だけを対象にします。支店小計を足す方式を選ぶ場合は、支店の範囲が重なっていないか、抜けていないかを確かめます。明細と小計を混ぜないようにします。

4.元の総計と突き合わせる

今回なら明細合計700円と、元の総計700円を比較します。合わない場合は、除外した行・未分類の行・集計範囲を確認します。

■ 金額が同じだから重複、とはしない

別の商品がどちらも100円ということはあります。金額の一致だけで片方を消すと、正しい明細が抜けます。今回の問題は、行が表す集計の段階が違うことです。

未分類の行が残っている場合も、そのまま明細へ混ぜず確認対象として残します。罫線や太字だけに依存した判定は、書式が変わったときに見直しが必要です。

■ 検証結果

明細3行、小計1行、総計1行の入力で、全行合計1,700円、明細合計700円を確認しました。入力例では区分が明示されています。見た目だけから任意の帳票の小計行を自動認識できると確認したものではありません。

毎月の帳票を集計するなら、行の区分と元の総計を一緒に残すと、合計が変わったときに原因を追いやすくなります。

CSV集計・整理の相談先:
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す