名簿・メールアドレスリストの重複削除と並べ替えの方法
複数の名簿をまとめた後に重なる名前やメールを削除して並べ替える方法。空白や大文字・小文字で重複が見つからない問題、申込順を保つ方法も解説します。
イベントの参加者名簿、アンケートの回答者リスト、ニュースレターの購読者リストを複数の場所から集めてまとめると、同じ人が2回、3回と入ってしまうものです。この記事では、リストを1行に1つずつ整理してから、重複を削除して並べ替える手順を説明します。
基本のパイプライン
標準レシピは次の順番です。
- 前後の空白を削除 — 各行の前後の空白を削除します。
- 空行を削除 — 空行をすべて削除します。
- 重複行を削除 — 「大文字・小文字を区別しない」をオンにした状態で重複を削除します。
- 並べ替え — 辞書順(自然順)で並べ替えます。
minsu@example.com jieun@example.com Minsu@Example.com park@example.com jieun@example.com
上の入力は次のように整理されます。重複行の削除は最初に出てきた行を残すので、minsu@example.com が残ります。
jieun@example.com minsu@example.com park@example.com
重複が見つからない理由
人の目には同じに見えるのに削除されない場合、ほとんどは次の3つのどれかです。
- 前後・連続する空白: 重複行の削除は「前後・連続する空白を無視」が既定でオンになっており、比較するときに空白の違いを無視します。ただし残る行の空白はそのままなので、結果をきれいにするには「前後の空白を削除」を前に置きます。
- 大文字・小文字: 「大文字・小文字を区別しない」は既定でオフです。メールアドレスは大文字・小文字だけが違う表記が混ざりやすいので、オンにしておいてください。名前のリストで英字の名前を区別する必要があるならオフにします。
- 見えない文字: Webやメッセンジャーからコピーした値には、ゼロ幅スペース(U+200B)やBOM(U+FEFF)が付いていることがあります。空白を無視するオプションはこれらの文字を空白とみなさないので、パイプラインの先頭に 見えない文字・引用符の整理 を入れて先に削除してください。
順番を守りたいとき
申込順や受付順に意味がある名簿なら、並べ替えのステップをオフにするか削除してください。重複行の削除は並べ替えなしでも動作し、最初に出てきた行を元の位置に残すので、「先に申し込んだ人を基準にした」順番が保たれます。パイプラインの各ステップはオン/オフできるので、結果を比べて決めればよいでしょう。
カンマでつながったリスト
メールの宛先欄からコピーしたリストのように a@x.com, b@x.com, c@x.com の形なら、1行に1つずつ展開しないと行単位の処理ができません。パイプラインの先頭に 改行を追加(分割) を入れ、分割の基準を「区切り文字」、区切り文字を , にしてください。分割した後の各行の先頭の空白は自動で削除されます。セミコロンで区切られたリストなら、区切り文字に ; を入れます。
名前とアドレスが一緒にあるとき
山田太郎 <taro@example.com> のように名前とアドレスが一緒になったリストでは、同じアドレスでも名前の表記が違えば別の行とみなされます。アドレスだけを基準に重複を削除したいなら、検索と置換 の正規表現モードでアドレスだけを残してください。検索する内容 ^.*<([^>]+)>.*$、置換後の内容 $1 を入れると、山括弧の中のアドレスだけが残ります。山括弧のない行は変わりません。
複数の名簿をまとめる順番
重複行の削除は先に出てきた行を残すので、複数の名簿を貼り付ける順番が結果を決めます。たとえば正会員の名簿とイベントの申込名簿をまとめるとき、会員名簿を上に置けば、両方にいる人は会員名簿の表記で残ります。表記がより正確な名簿を上に貼り付けてください。
特定の会社のアドレスだけを残したいなら、行フィルターを「含む行だけ残す」と正規表現にして、@example\.com$ のようにドメインを入れます。並べ替えた後、最後に「行番号を付ける」を置けば、参加番号の付いた最終名簿になります。
並べ替えの基準を選ぶ
- 辞書順(自然順): 英語はアルファベット順、韓国語はカナダラ順(字母順)で、
item2がitem10より前に来ます。日本語はブラウザの照合規則に従い、おおむね五十音順に並びますが、漢字は読みではなく独自の規則で並ぶため、漢字の名前は読み順になりません。 - 数値の大きさ: 社員番号や点数のように、各行に数値が含まれているときに使います。数値のない行はいちばん後ろに回ります。
- ランダム: 抽選や発表の順番を決めるときに使います。実行するたびに結果が変わります。
限界
- 同姓同名の人は区別できません。名前だけの名簿で重複を削除すると別の人が消えてしまうことがあるので、できればメールアドレスや連絡先のように一意の値があるリストを使ってください。
佐藤 健と佐藤健のように空白の有無が違う表記は、空白を無視するオプションでも同じ値になりません。- カンマでリストを展開するとき、
山田太郎, 課長のように値の中にカンマが含まれていると、1つの値が2行に分かれます。展開した結果を一度ざっと確認してください。 - 削除された行数は、パイプラインのステップに表示される行数の変化で確認できます。
もう一度1行に戻す
整理したリストをメールの宛先欄に入れたいなら、パイプラインの最後に「改行を削除」を追加し、「直接入力」の区切り文字に , や ; を入れてください。行単位で整理して最後にだけ1行にまとめるのが、いちばんミスの少ない順番です。
チェックリスト
- カンマ区切りのリストは、まず改行で展開する。
- メールアドレスのリストは「大文字・小文字を区別しない」をオンにする。
- 順番が重要なら並べ替えのステップをオフにする。
最終更新: 2026-09-23