名簿の重複を目で探すのをやめた日
同窓会の名簿と、町内会の名簿。別々に管理していた2つのリストを1つにまとめる仕事が回ってきたときの話と、そこから作ったツールの話を書く。
2枚のExcelを並べて、蛍光ペンで消していく
名簿は2つとも、それぞれ数十年かけて更新されてきたものだった。同窓会の幹事から届いたExcelが180件、町内会の回覧板の名簿が140件。どちらも「同じ地域に住む同級生」がそれなりに含まれているはずで、単純に足すと重複が出ることは分かっていた。
最初にやったのは、2つを並べて印刷し、蛍光ペンで消していくやり方だった。「田中太郎」を見つけたら、もう一方のリストから同じ名前を探して線を引く。180件を140件と照合するだけで、休日が半分潰れた。
COUNTIFを覚えたが、半分しか見つからなかった
次の年、ExcelのCOUNTIF関数を覚えた。片方のリストにもう片方の名前があるかどうかを、数式1本で判定できる。理屈のうえでは、これで蛍光ペンの作業は要らなくなるはずだった。
実際に流し込んでみると、結果はあてにならなかった。
- 「山田 太郎」と「山田 太郎」——半角スペースと全角スペースの違いだけで、別人として判定される。
- 「山田太郎」とスペースなし——同一人物のはずが、これも別人扱いになる。
- 「田中 健一」と「田中 健一 」——末尾にスペースが1つ多いだけで一致しない。目では気づけない。
COUNTIFは文字列を一字一句そのまま比べる。人間なら「同じ人だ」と一瞬で分かる表記の違いを、関数はまったく別の名前として扱う。結局、COUNTIFで「重複なし」と出た後にも、目で見直す作業が残った。関数を覚えた意味が半分なくなった。
気づいたのは「比べる前に、そろえればいい」ということだった
ある晩、また目視で見直しをしているときに、当たり前のことに気づいた。
比べる前に、全角スペースと半角スペースをどちらかにそろえ、スペースの有無も無視して比べれば、表記の違いは消える。COUNTIFが悪いのではなく、比べる前の下ごしらえをしていなかっただけだった。
この「そろえてから比べる」処理を、名簿を貼り付けるだけでやってくれるページを作った。
ここで書いたツールを、実際に試す
名簿の重複チェックを開く実際にどう動くか
1つの名簿を貼り付けると、その中で2回以上出てくる名前を見つける。全角・半角・スペースの有無が違っても、同じ名前として拾う。
| 貼り付けた名簿 | 見つかる重複 |
|---|---|
| 山田 太郎 / 山田 太郎 / 山田太郎 | 3件とも同じ「山田太郎」として重複表示 |
| 田中 健一 / 田中 健一(末尾に半角スペース) | 同じ人として重複表示 |
2つの名簿を照合したいときは、もう1つの入力欄に片方を貼る。両方に載っている人と、片方にしかいない人を分けて出す。同窓会の名簿にはいるが町内会の名簿にはいない、という差分も一目で分かる。
「同じ人」と決めつけない工夫
表記の違いを吸収する一方で、機械的にそろえすぎると、本当に別人の「田中太郎」さんを1人にまとめてしまう危険もある。だからこのツールは、重複の候補を消さずに一覧で出すだけにしている。同じ名前として出た行が、本当に同一人物かどうかは、最後に自分の目で確認する前提で作った。
名前だけで完全に同一人物と判定する方法は、今のところ持っていない。住所や生年月日まで含めて照合したい場合は、別々の欄に入れて、名前が一致した行だけを見比べる使い方をしている。
作ってみて変わったこと
今年の合併作業は、2つの名簿を貼り付けてから10分もかからなかった。蛍光ペンも老眼鏡も出さずに終わった。
それより大きかったのは、「重複なし」という結果を、以前より信じられるようになったことだ。COUNTIFの結果を鵜呑みにできなかったころは、結局最後まで目視の不安が残っていた。今は、表記の違いを先に吸収したうえでの「重複なし」なので、見直す手間がなくなった。
よくある質問
ふりがなが違う同姓同名は区別できますか?
このツールは名前の文字列だけを見ています。ふりがなや生年月日での区別はしていないので、同姓同名の別人がいる場合は、重複候補として一覧に出た行を自分の目で確認してください。
COUNTIFを使うのが間違いということですか?
いいえ、COUNTIF自体は正しく動いています。文字列を一字一句比較するという仕様どおりに動いているだけで、全角半角やスペースの違いを人間のように読み替えてはくれない、というだけです。
3つ以上の名簿を照合できますか?
今は2つまでの照合に対応しています。3つ以上ある場合は、2つずつ順番に照合するか、先に1つのテキストにまとめてから重複チェックだけを使う方法があります。
関連する読みもの・ツール
同じように、自分の手作業をツールにしたものを他にも置いています
kamitoolはゲームや事務仕事の細かいツールが中心ですが、ネットショップの在庫・利益管理や、モール間のデータ移行のようなものは、noteで「TOOL BOX|手作業をツールにする」として公開しています。オフラインで動くファイル1枚の形で配っているものもあります。