2つの名簿で増えた人と消えた人だけを見る

ExcelCSV突合差分抽出VLOOKUPAIデータ照合
2つの名簿で増えた人と消えた人だけを見る

前回の名簿と今回の名簿をExcelで横に並べ、増えた人と消えた人を目で追う。数十行なら耐えられるが、部署名やメールアドレスまで見始めると急に危うくなる。この記事では、2つの名簿の差分比較をExcelとAIで行い、追加・削除・変更の確認用リストを作る手順を書き残す。

名簿の差分比較が終わらない理由

名簿比較で詰まるのは、Excelの操作が難しいからではない。何を「同じ人」とみなすかを決めないまま、氏名や部署を眺めてしまうからだ。

詰まる原因起きること
氏名だけで比べる旧姓、全角スペース、表記揺れで別人に見える
新旧の向きを決めていない追加と削除を逆に読む
比較する列が多すぎる電話番号、備考、更新日まで混ざり、必要な差分が埋もれる
AIに判断を任せすぎる似た名前の別人を同一人物として扱う

最初に見るべきなのは合計値ではなくキー列である。社員番号、会員ID、メールアドレスのように、できるだけ一意に近い列を使う。氏名は人間には分かりやすいが、名簿の差分比較では揺れやすい列だ。ここを曖昧にすると、同じ人が「削除」と「追加」の2行に分かれて出てくる。

AIに渡す前の準備

AIに名簿を渡す前に、表を完璧に整える必要はない。ただし、次の4点だけは先に決める。

  1. 表Aを前回名簿、表Bを今回名簿と決める。
  2. 同一人物とみなすキー列を1つ決める。第一候補は社員番号や会員ID、次にメールアドレスだ。
  3. 比較する列を絞る。部署、役職、在籍区分、メールアドレスなど、今回知りたい列だけにする。
  4. 社名・人名・金額・メールアドレスを伏せる。人名は「社員001」、社名は「A社」、金額は「9999」、メールは「user001@example.local」のように置き換える。

伏せれば安全と断定できるわけではない。外部AIへ投入してよい情報の範囲は、会社の規程や契約を先に確認する。禁止されている場合は、AIに貼らず、ExcelのXLOOKUP、COUNTIF、Power Queryなど社内環境だけで処理する。

ダミー化で大事なのは、表Aと表Bで同じ人を同じIDに置き換えることだ。前回名簿の「山田太郎」を社員001にしたなら、今回名簿の同じ人も社員001にする。ここが崩れると、AI以前に比較の土台が壊れる。

名簿の差分をAIで候補化する手順

  1. Excelで前回名簿と今回名簿を別シートに分け、列名を見える状態にする。
  2. キー列と比較列だけをコピーする。不要な備考、更新日時、メモ列は外す。
  3. 10行程度のサンプルで次の指示文を試す。

あなたはExcel名簿の差分確認担当です。表Aと表Bを比較し、追加・削除・変更・要確認に分けてください。

# 前提
- 表A: 前回名簿
- 表B: 今回名簿
- 同一人物とみなすキー列: [社員番号]
- 比較する列: [氏名, 部署, 在籍区分, メール]

# 出力形式
Markdown表で出力してください。
列は「変更種別」「キー」「氏名」「変更内容」「確認理由」とします。
変更種別は「追加」「削除」「変更」「要確認」のいずれかにしてください。

# ルール
- 表Bにだけあるキーは「追加」とする
- 表Aにだけあるキーは「削除」とする
- キーが両方にあり、比較する列の値が違う場合は「変更」とする
- 表記揺れや判断不能な行は、推測で埋めず「要確認」とする
- 空欄は空欄として扱い、前後の行から補完しない
- 入力にない情報を作らない

# 表A
[ここに前回名簿を貼る]

# 表B
[ここに今回名簿を貼る]

  1. サンプル結果を見て、追加と削除の向き、キー列の扱い、変更内容の書き方が合っているか確認する。
  2. 問題なければ残りの行を分割して渡す。行数が多い場合は、50行から100行程度に区切る。
  3. 最後に、AIの回答をExcelへ貼るための表に整える。

以下の差分結果を、Excelに貼り付けやすいTSV形式に変換してください。

# 出力形式
1行目は見出しにしてください。
列は「変更種別」「キー」「氏名」「旧値」「新値」「確認メモ」です。

# ルール
- 説明文は不要です
- 推測で空欄を埋めないでください
- 元の差分結果にない情報は追加しないでください
- 判断に迷うものは確認メモに理由を書いてください

# 差分結果
[ここにAIの回答を貼る]

TSVはタブ区切りなので、Excelへ貼ったときに列が分かれやすい。カンマ区切りは、氏名や備考にカンマが入ると列ズレの原因になる。

AIの出力を検算する

AIの差分一覧は最終結果ではなく、確認用リストとして扱う。見るべき点は多くない。

まず行数を確認する。表Aの件数、表Bの件数、追加件数、削除件数を使い、「表A件数 - 削除件数 + 追加件数 = 表B件数」になるかを見る。変更行は件数を増減させないので、この式には入れない。

次にキー列の重複を見る。Excelで差分一覧のキー列に重複チェックをかけ、同じキーが追加と削除の両方に出ていないか確認する。出ている場合は、キーの選び方かダミー化が崩れている。

最後に固有名詞を確認する。氏名、部署名、メールアドレスのような列で、AIが勝手に整えた形跡がないかを見る。「営業一課」と「営業1課」を同じにしてよいかは、AIではなく業務側で決める話だ。

失敗例:氏名をキーにして全員が動いたように見えた

失敗例:社員番号を外し、氏名だけで差分比較した。 イベント参加者の名簿で、前回と今回のExcelをAIに渡し、氏名をキーとして追加・削除を出させたことがある。旧姓、全角スペース、会社名つき表記が混ざり、実際には同じ人なのに「削除」と「追加」に分かれた。直し方は単純で、メールアドレスをキーにして再比較し、氏名は比較列に落とした。氏名は確認には使えるが、同一判定の主役にしないほうが安定する。

症状直し方
同じ人が追加と削除に分かれる社員番号、会員ID、メールなど変わりにくいキーでやり直す
すべての列が変更扱いになる表Aと表Bの列名をそろえ、比較する列を限定する
AIが空欄を前の行で補完する「空欄は空欄」「推測で埋めない」と指示文に入れる
追加と削除が逆になる表Aが前回、表Bが今回だと指示文の冒頭に書く

差分比較は、AIに正解を当てさせる作業ではない。人間が見るべき候補を減らす作業だ。Excelで全行を目視する代わりに、AIで追加・削除・変更・要確認に分け、最後は行数とキーで検算する。

表記揺れがひどい名簿は、比較の前に列の値をそろえるとよい。表記揺れだらけのExcelは集計前にそろえるが近い。差分のうち数字のズレだけを追いたい場合は、数字が合わない夜、差額の原因だけを探したいの考え方を使う。

明日打つ一手

  1. 明日使う名簿を1つ選び、前回名簿を表A、今回名簿を表Bと決める。
  2. 社員番号やメールアドレスなど、同一人物を見分けるキー列を1つ決める。
  3. 10行だけダミー化し、上の指示文で追加・削除・変更・要確認の出方を確認する。