締めの2日前、部門別の内訳を並べたら『その他』が3割を占めていた、というのは経理の月末あるあるです。部門コード表は手元にあるのに、取引先名の表記ゆれでVLOOKUPが拾えず、行がまとめて99に落ちる。この名寄せの残りを生成AIで処理するとき、任せる範囲を1列で区切らないと事故が起きます。
全体の型: 任せるのは「再分類の候補抽出」まで
取引先名の照合は、条件が揃えばAIが得意とする作業です。ただ『その他』の埋め合わせで起きる事故の多くは「AIが判断と登録まで進んだ」パターンです。依頼文に「その他を正しい部門に振り分けて」とだけ書くと、AIは内訳をきれいにしようとして、根拠のないコードまで書き込みます。
そこで線引きはこうなります。
- 任せる: 99に落ちた行の取引先名からの、正しい部門コードの候補抽出と、その根拠の1行説明
- 残す: 候補の採用判断。部門コード表への新規登録
手順1: 列の前提を決める
シート「明細」(月末の仕訳出力)は「日付・取引先名・金額・部門コード・摘要」の5列・A2:E501の500行。相手にするのはD列の部門コードが99(その他)の行だけです。明細側にF列「候補コード」・G列「承認」・H列「根拠」を追加します。別シート「部門コード表」にはコード・部門名・代表的な取引先例を貼っておきます。
手順2: 依頼文に6つのルールを貼る
次の2つの表を読んで、「明細」のうちD列が99(その他)の行の取引先名から、部門コード表に照らして正しいと思われる部門コードを探してください。該当する行のF列「候補コード」にコード番号を書き、H列「根拠」に判断した理由を1行で書いてください。
【表1: 明細(D列が99の行のみ抜き出したもの)】
【表2: 部門コード表】
ルール:
1. 書き込んでよいのはF列とH列だけ。G列「承認」は人の判断列なので触れない。A〜E列は一切書き換えない
2. 行の追加・削除・並べ替えをしない。貼った表の行数はそのまま保つ
3. 部門コード表に根拠となる取引先例がない行は、候補にせずH列に「要確認」と書く
4. 部門コード表にない新しいコードを作らない。番号を推測してF列に書かない
5. 表記のゆれ(株式会社・(株)・前後の空白)は同じ取引先とみなしてよい
6. 最後に「候補○行・要確認○行・分類できず残った○行」を表の下に報告する
ルール1と2は素直に聞かれます。効くのはルール3と4の「根拠のない候補を書かせない」線です。AIは内訳の偏りを不都合と捉えがちで、放っておくと「それっぽい部門」を当てて99を減らし、名寄せの判断根拠を消します。
手順3: 検算は行数・候補数・金額・承認の4点
- 行数:
=COUNTA(A2:A501)が500になること。元の明細が書き換えられていないことの確認も兼ねる - その他行:
=COUNTIF(D2:D501,99)で開始時の行数を控える。候補の抽出後に同じ式で残りを数える - 候補数:
=COUNT(F2:F501)がAIの報告する候補行数と一致すること。要確認は=COUNTIF(H2:H501,"要確認")で別個に数える - 金額:
=SUMIF(D2:D501,99,C2:C501)で『その他』の合計を開始時に控える。承認が進むたびにこの合計が減り、完走が見える - 承認:
=COUNTIF(G2:G501,"○")で人の判断が進んだ行数を押さえる。候補数と承認数の差が「まだ見ていない行」
検算の所要は5分です。
やって起きた失敗: コード表にない部門を作られた
「正しいコードを探して」とだけ依頼した月に、AIがコード表に存在しない「77 営業推進」をF列に書いてきました。過去の請求書の文面から「推進っぽい」と推測したらしく、該当する行を片づけてあります。表は埋まり、内訳はきれいになりましたが、77で集計するシートはどこにもありません。翌月、前月比較表に現れない部門として残りました。
まとめ
- AIに任せるのは『その他』行の再分類候補と根拠まで。採用の判断は承認列に残す
- 部門コード表に根拠がなければ「要確認」。新規コードの新設は人の仕事
- 検算は行数・候補数・金額・承認の4点。『その他』合計の減りで完走を見る
- 名寄せは締め2日前に先回りして行う。当日の内訳直しは前月比較まで壊す
この連載では、Excelしか開けない現場で、生成AIに何を任せて何を残すかを、経理・事務の作業ごとに書いていきます。プロンプトは毎回コピーして使える形で載せます。編集の詳細やテンプレート集はyoshito.yuenreach.comにまとめています。