COUNTIFで二重計上・重複データを検出する方法【経理のセルフチェック】

Featured image for COUNTIFで二重計上・重複データを検出する方法【経理のセルフチェック】

同じ請求書を2回払ってしまった、同じ仕訳を2回入力していた、顧客リストに同一人物が2行ある――経理の事故で最も多いのが重複(二重計上・二重払い)です。目視のチェックでは限界がありますが、ExcelのCOUNTIF関数を使えば、重複は数式1本で機械的に検出できます。

この記事では、COUNTIF・COUNTIFSによる重複検出の実装パターンと、条件付き書式でのリアルタイム警告、二重払い防止の仕組みへの組み込み方を解説します。

目次

基礎知識:COUNTIFで重複が見つかる理屈

=COUNTIF(範囲,検索値) →範囲の中に検索値が何個あるかを返す

各行で「自分と同じ値が全体に何個あるか」を数え、2以上なら重複――これが基本原理です。請求書番号の列(B列)なら次のとおりです。

=IF(COUNTIF($B$2:$B$1000,B2)>=2,"重複!","")

実装パターン集

パターン1:条件付き書式でリアルタイム警告

チェック列を作らず、入力した瞬間にセルを赤くする方法です。対象範囲を選択→条件付き書式→「新しいルール」→「数式を使用」で次を設定します。

=COUNTIF($B$2:$B$1000,B2)>=2

入力と同時に既存行と新規行の両方が赤くなるため、「入力ミスをその場で気づかせる」予防型のチェックになります(条件付き書式の活用レシピは関連記事:No.42 条件付き書式のチェック活用)。

パターン2:COUNTIFSで「組み合わせの重複」を見る

実務の重複は単一列では捕まりません。「同じ取引先×同じ金額×同じ月」の支払が2件あれば二重払いの疑いです。

=IF(COUNTIFS(取引先範囲,C2,金額範囲,D2,月範囲,E2)>=2,"二重払い疑い","")

この「複数条件の組み合わせ重複」が、支払管理表(関連記事:No.132 支払管理表の作り方)に組み込まれている二重払い検知の正体です。請求書番号がない取引でも網にかかります。

パターン3:2回目以降だけに印を付ける

重複の全行に印が付くと「どちらを消すか」で迷います。範囲の先頭から自分の行までを数える「拡張参照」にすると、2回目以降だけを検出できます。

=IF(COUNTIF($B$2:B2,B2)>=2,"2回目以降→削除候補","")

削除候補だけをフィルタで抽出すれば、重複整理が数分で終わります。なお、Excelの「重複の削除」機能はどの行が消えたか記録が残らないため、経理データではこの数式方式(消す前に確認できる)をおすすめします。

パターン4:表記ゆれを吸収してから照合する

「株式会社ABC」と「(株)ABC」は人間には同じでも、COUNTIFには別物です。照合用の正規化列を作ってから重複判定します。

正規化 =SUBSTITUTE(SUBSTITUTE(ASC(TRIM(A2)),"株式会社",""),"(株)","")

ASC関数(全角→半角)とTRIM・SUBSTITUTEの組み合わせが定番です(データ整形の技は関連記事:No.36 仕訳整形テクニック)。

実務の注意点・つまずきポイント

  • 「重複=誤り」とは限らない:毎月同額の家賃・顧問料は正しい重複です。判定条件に「月」を含める、または例外リストを持たせて誤検知を減らします
  • 範囲は余裕を持って広めに:$B$2:$B$1000のように将来の行数まで含めるか、テーブル化(構造化参照)して自動拡張にします
  • 15桁超の数字はCOUNTIFが誤判定する:口座番号やコードが長い場合、数値として比較され末尾が丸められます。=SUMPRODUCT((範囲=B2)*1)や文字列化で回避します
  • チェック結果を残す:検出→調査→処理(正当/修正/削除)の記録列を設けると、月次チェック(関連記事:No.32 月次監査チェックリスト)の証跡になります
  • 仕組みで防ぐのが本筋:検出は事後対応です。請求書番号の入力必須化・支払前の承認分離(関連記事:No.129 経理不正防止チェックリスト)とセットで初めて二重払いは根絶できます

チェック機能付きテンプレートのご案内

当ブログの支払管理表・売掛管理表・仕訳チェック系のテンプレートには、本記事の重複検知(COUNTIFS方式・正規化照合)が最初から組み込まれています。自作派の方はこの記事の数式で、時短派の方は完成品でどうぞ。

まとめ

  • 重複検出の基本は「COUNTIF(範囲,自分)≧2」。条件付き書式で入力時警告にできる
  • 実務の二重払いは「取引先×金額×月」のCOUNTIFS組み合わせ判定で捕まえる
  • 拡張参照($B$2:B2)で2回目以降だけを削除候補にする
  • 表記ゆれはASC・TRIM・SUBSTITUTEの正規化列で吸収してから照合する
  • 検出は事後対応。入力ルールと承認分離の仕組みとセットで運用する
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次