仕訳データの異常検知をClaudeで — 週末・端数・期末集中を条件で拾う
仕訳CSVに休日計上・切りのよい金額・作成者と承認者の同一・期末直前・摘要空欄の条件を当て、該当行を理由つきで出します。誤検知の見分け方と、扱える範囲の限界も押さえます。
仕訳データの異常検知は、「怪しい仕訳を探して」と頼むより、拾いたい条件を先に言葉で決めて渡すほうが安定します。条件が決まっていれば、Claudeは該当行を理由つきで返し、人は理由を見て確認するだけで済みます。
ここでいう異常は、不正の証拠ではありません。「いつもと違う形をしているので、一度見ておきたい行」です。この記事では、休日の計上、切りのよい金額、作成者と承認者の同一、期末直前への集中、摘要の空欄という5つの条件を、仕訳CSVに当てる手順を扱います。使うのはClaude for Excelです。
どんな条件なら機械的に拾えるか
異常の条件は、列の値だけで判定できるものに絞ります。「金額が大きい」「取引先が珍しい」のように基準が曖昧な条件は、人によって答えが変わり、毎月同じ結果になりません。
次の表は、列の値だけで判定できる条件と、誤検知しやすい典型例です。仕訳には最低限、伝票番号・計上日・借方科目・貸方科目・金額・摘要・作成者・承認者の列があるものとします。
| 条件 | 見る列 | 拾う理由 | 誤検知しやすい例 |
|---|---|---|---|
| 休日の計上 | 見る列計上日 | 拾う理由通常の締め処理は営業日に行われる | 誤検知しやすい例月末が土日の決算整理、自動計上のバッチ |
| 切りのよい金額 | 見る列金額 | 拾う理由実取引の金額は端数が出やすい | 誤検知しやすい例家賃、顧問料、定額リース |
| 作成者と承認者が同じ | 見る列作成者・承認者 | 拾う理由牽制が働いていない可能性 | 誤検知しやすい例少人数の会社、承認機能のない運用 |
| 期末直前への集中 | 見る列計上日・金額 | 拾う理由期間の帰属を調整した可能性 | 誤検知しやすい例決算整理仕訳、棚卸の振替 |
| 摘要の空欄 | 見る列摘要 | 拾う理由後から取引内容を追えない | 誤検知しやすい例自動取込で摘要が付かない科目 |
もう一つ、同じ日付・科目・金額の重複も機械的に判定できます。二重計上の見落とし防止に使えますが、定期的な少額支払いが重なって誤検知になることもあります。
表の右端の列が、そのまま誤検知の見分け方になります。条件に当たったことと異常であることは別で、見分けは「その行がなぜ当たったか」を言葉にできるかにかかっています。
手順の全体像
流れは3段階です。先にExcel側で条件の判定を数式にし、その結果をClaudeに読ませ、最後に人が理由を見て振り分けます。
仕訳の異常検知を回す3段階
- 1
判定列を数式で作る
条件ごとに1と0を返す列を、仕訳の右側に並べます。数式なので、同じCSVなら誰が回しても同じ結果になります。
- 2
Claudeに該当行を理由つきで出させる
判定列の結果を前提に、該当行を理由ごとにまとめさせ、セルの根拠を添えさせます。
- 3
人が誤検知を振り分ける
Claudeが付けた理由と摘要を見て、承認済みの例外か、追加確認が要る行かを決めます。
判定そのものを数式に寄せるのは、再現性のためです。Claudeに条件だけを渡して全行を目視させる方法もありますが、行数が増えるほど拾い漏れを確かめにくくなります。数式で機械的に出した結果をClaudeが読む形にすれば、拾い漏れは数式の問題として検証できます。
判定列を数式で作る
仕訳が2行目から始まり、A列が伝票番号、B列が計上日、C列が借方科目、E列が金額、F列が摘要、G列が作成者、H列が承認者だとします。期末日はR1セル、祝日の一覧は「休日」シートのA列に置きます。
J2 休日: =IF(OR(WEEKDAY(B2,2)>=6,COUNTIF(休日!$A:$A,B2)>0),1,0)
K2 切りのよい金額: =IF(AND(E2>=100000,MOD(E2,100000)=0),1,0)
L2 同一者: =IF(AND(G2<>"",G2=H2),1,0)
M2 期末直前: =IF(AND(B2<=$R$1,B2>$R$1-5),1,0)
N2 摘要空欄: =IF(LEN(TRIM(F2))=0,1,0)
O2 重複: =IF(COUNTIFS($B:$B,B2,$C:$C,C2,$E:$E,E2)>1,1,0)
P2 該当数: =SUM(J2:O2)数式の読み方を補っておきます。WEEKDAY(B2,2) は月曜を1、日曜を7とする数え方で、6以上が土日です。MOD(E2,100000)=0 は10万円単位で割り切れる金額を指し、100000という刻みは扱う会社の規模に合わせて変えます。期末直前を5日にしているのも例で、決算の締め方が違えば日数も変わります。
Claudeに数式を書かせることもできます。その場合は、できあがった数式を数行のテストデータで確かめてから全行へ展開します。たとえば土曜日の日付、作成者と承認者が同じ行、摘要が空の行を3行だけ作り、判定列が1になるかを見ます。テストデータで通らない数式を全行に伸ばしても、拾い漏れが静かに残るだけです。
該当行を理由つきで出させるプロンプト
判定列ができたら、Claude for Excelのサイドバーから依頼します。ポイントは、拾う条件、出力の列、断定しない書き方の3点を明示することです。
このシートの仕訳について、J列からO列の判定が1の行を拾ってください。
- 理由ごと(休日・切りのよい金額・同一者・期末直前・摘要空欄・重複)にまとめる
- 各行について、伝票番号、金額、摘要、該当した理由を表にする
- 複数の理由に当たった行は先頭に並べる
- 「不正」「問題がある」とは書かず、確認が要る理由だけを書く
- 摘要から読み取れる範囲で、誤検知かもしれない事情があれば添える
- 元の仕訳データは書き換えず、結果は新しいシートに出すこの依頼で効くのは最後の2行です。Claudeは元のデータを書き換えず、結果は別シートに出します。仕訳の原本に手を入れない運用は、監査対応の面でも守りやすい形です。
出力の型として、次のような表を指定すると、人が後から振り分けやすくなります。これは指定する型の例であり、実際の出力は取り込むデータによって変わります。
| 伝票番号 | 金額 | 摘要 | 該当した理由 | 誤検知の可能性(摘要から) |
|---|---|---|---|---|
| 例: 2026-0312 | 金額500,000 | 摘要顧問料 | 該当した理由切りのよい金額 | 誤検知の可能性(摘要から)定額契約の可能性 |
| 例: 2026-0587 | 金額128,430 | 摘要(空欄) | 該当した理由摘要空欄・期末直前 | 誤検知の可能性(摘要から)摘要から判断できない |
Claude for Excelは、回答にセル単位の根拠を付けられます。公式の説明では、回答内の引用をクリックすると該当セルへ移動できます。「この行はなぜ拾われたのか」を、人がセルまで遡って確かめる使い方に向いています。
誤検知を見分ける
条件に当たった行は、まず「定常的な理由で当たっていないか」を見ます。見分けの手がかりは、摘要・科目・計上日のパターンです。
- 切りのよい金額が毎月同じ日に同じ科目で出るなら、家賃や顧問料などの定額契約の可能性が高い
- 休日の計上が月末に集中するなら、月末が休日に当たった決算処理の可能性がある
- 期末直前の仕訳が減価償却や引当金など定例の決算整理なら、摘要に決算整理の記載があるはず
- 同一者が作成と承認を兼ねる行が全体の大半なら、行ごとの異常ではなく運用の特性
最後の例が示すように、全体の傾向を先に見ると判断が速くなります。同一者の条件は、会社の規模によっては大半の行が該当し、ほとんど意味を持たなくなります。その場合は「同一者だったうえに金額が大きい」のように条件を組み合わせて絞ります。
Claudeには、誤検知の見分けも手伝わせられます。たとえば「切りのよい金額に当たった行を、科目・摘要ごとに集計して、毎月出ているものと初めて出たものに分けてください」と頼みます。毎月出ているものは定額の可能性が高く、初めて出たものを人が優先して見る、という順序づけです。
確認が漏れやすい点
落とし穴
摘要のテキストに隠れた指示が入っていると、Claudeが従うおそれがある
銀行やカード会社のCSV、取引先から受け取ったファイルには、外部由来の文字列が含まれます。公式は、外部ファイルに隠れた指示が仕込まれ、データの抜き取りやレコードの書き換えに誘導される場合があると警告しています。仕訳の摘要は外部由来の文字列になりやすいので、信頼できるコピーのブックで作業し、Claudeが書き込みなどの確認を求めたら中身を読んでから許可します。
ほかにも、つまずきやすい点があります。
- 計上日が文字列として入っていると、WEEKDAYがエラーになる。会計ソフトからCSVを出したとき、日付が「2026/03/31」の文字列になる場合は先に日付型へ変換する
- 金額列にカンマや「円」が混じっていると、MODが働かない。数値型に直してから判定列を作る
- 祝日の一覧を更新し忘れると、新年度の祝日が休日の条件に入らない。年度の初めに更新する
- 期末日のセルを前期のまま残すと、期末直前の判定が全行ずれる
判定列の数式を作った後で一度、全行の該当数の分布を見ます。全行が該当する、または1行も該当しないときは、条件ではなく入力の型を疑います。
使えない場面と、扱えない機能
公式は、Claude for Excelを「監査上重要な計算を検証なしで使う」用途には推奨していません。最終的な顧客向け成果物を人の確認なしで出す用途や、機密性の高い・規制対象のデータを管理なしで扱う用途も、同様に推奨外です。仕訳の異常検知はこの3つのどれにも近いので、結果は人が確かめる前提で使います。
機能面でも制約があります。データテーブルとマクロ・VBAの操作は未対応です。ここで紹介した数式は通常の関数だけで書いているので影響しませんが、既存のマクロ付きブックで検知を自動化したい場合は、別の仕組みを考える必要があります。
使える環境も限られます。対応するのはWeb版のExcel、Microsoft 365のWindows版(ビルド16.0.13127.20296以降)、Mac版(バージョン16.46以降)で、Excel 2016・2019の永続ライセンスやiPad、Androidでは動きません。利用できるプランはPro、Max、Team、Enterpriseです。
仕訳データを渡すときのデータの扱い
仕訳には取引先名や従業員名が含まれます。Claude for Excelに渡す前に、次の点を押さえます。
- 入力と出力はバックエンドで受信から30日以内に削除される
- 会話の履歴は、利用者のブラウザのIndexedDBにローカル保存される。Anthropicのサーバーには保存されず、端末間でも同期されない
- 履歴にはClaudeが読んだ文書の内容が含まれるため、1台のPCを複数人が同じOSアカウントで使うと、履歴を共有してしまう
- 組織で独自のデータ保持設定をしていても、Claude for Excelには引き継がれず、活動はEnterpriseの監査ログにも含まれない
データ保存の観点では、会話にファイルを添付した場合に、ファイルがAnthropicにアップロードされる点も見ておきます。Claudeアカウントでサインインしている場合、添付したファイルは送信前にアップロードされ、アップロードから28日で期限切れになります。この期限の設定は2026年9月15日に始まったもので、それ以前のバージョンのアドインがアップロードしたファイルには期限がありません。
仕訳を渡すかどうか自体は、契約や事務所のルールで決まります。監査人が扱う場合の独立性の観点は監査の独立性とClaude利用 — 外部送信をどう考えるかに、研究文書が示すAIの利用領域はJICPAの監査AI研究文書が示すClaude活用と限界にあります。
取引先名をそのまま渡したくないときは、取引先の列を取引先コードに置き換えたコピーで検知します。判定に使う条件は日付・金額・作成者・承認者・摘要の有無で、取引先名がなくても成立するからです。
条件を固定して毎月回す
月次で繰り返すなら、条件と出力の型を固定します。Claude for Excelには、アドインの設定画面に指示を保存する欄があります。「仕訳の異常検知では、判定列の結果を前提にし、不正とは断定しない」といった方針を書けば、毎回の依頼で繰り返さずに済みます。指示はExcelだけに適用されます。
有効にしたSkillsは、Claude for Excelでも自動的に適用されます。サイドバーで「/」を押すと、使えるSkillが選べます。仕訳の異常検知を定型化するなら、条件の定義と出力の型をSkillにまとめる方法があります。
一度拾った行の処理結果は、判定列とは別の列に残します。「確認済み・例外(理由)・要追加確認」の3値を付けておけば、翌月に同じ行が当たったとき、前月の判断を引き継げます。
勘定科目の割り当て自体を半自動にしたい場合は、記帳代行の仕訳をClaudeで半自動化のルール表の作り方が使えます。勤怠データに同じ考え方を当てる例はCoworkで勤怠異常検知を週次自動化する方法にあります。
まとめ
仕訳データの異常検知は、判定を数式に寄せ、Claudeには該当行の理由づけと誤検知の見分けを任せる分担が組みやすい形です。拾う対象は、条件に当たった行であって、不正の証拠ではありません。
使う前に押さえる点は3つあります。検知結果は、人が確かめる前提で扱うこと。外部由来のファイルは、信頼できるコピーの上で作業すること。仕訳の外部送信が許されるかは、利用者の契約と事務所のルールで決まること。この3つを守れば、毎月の確認作業は「全行を目で追う」から「理由のついた行だけを見る」へ変わります。