貼り付けた連絡先リストはどれもこうなります
Jane Doe <jane.doe@example.com>
SMITH, BOB <BOB@EXAMPLE.COM>
jane.doe@example.com
info@example.com; Priya K <priya@example.co.uk>
名前とアドレスが融合し、大文字小文字はばらばら、区切り文字は不統一、重複は姿を変えて紛れています。以下が数式ごとの整形手順です――そして最後に、そもそも散らかさない方法を。
1. まず1行につき1件に
セルが ; や , で区切られた複数の連絡先を含んでいるなら、何よりも先に分割します。
=SPLIT(A2, ";")
そのうえで結果を1列に積み上げます(現在のGoogle スプレッドシートなら TOCOL、あるいは範囲を特殊貼り付けで縦に並べる)。
2. メールアドレスを抜き出す
=REGEXEXTRACT(A2, "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}")
これは任意の文字列から最初のアドレスを取り出します――融合した氏名とメール、山括弧、周囲のテキストのいずれでも。アドレスのない行に備えて IFERROR(..., "") で包んでください。
3. 名前を抜き出す
よくある Name <email> の形なら:
=TRIM(REGEXREPLACE(A2, "<[^>]*>", ""))
――括弧で囲まれたアドレスを取り除き、残りをトリムします。大文字だけの表記は =PROPER() で直し、姓名の分割は =SPLIT(B2, " ") で。"SMITH, BOB" は別扱いが必要です。カンマで分割して前後を入れ替えてください。
4. メールの列を正規化する
=LOWER(TRIM(C2))
小文字化するのは、Jane@ と jane@ が同じメールボックスでありながら、後続のあらゆるツールにとっては別の文字列だからです。経験からの警告を1つ。TRIM() はノーブレークスペースを除去しません――CSVエクスポートが大好きな、あの見えない文字です。「きれいな」はずのセルがまだおかしな挙動をするなら、まず =SUBSTITUTE(C2, CHAR(160), "") を。
5. 重複を削除する――まず見えるように、それから確定的に
削除する前に重複を確認します。
=COUNTIF(C:C, C2) > 1
そのうえで、データ → データクリーンアップ → 重複を削除を、メールの列だけに対して実行してください。同一人物の行でも名前は違うことがあります(「Bob」と「Robert」)。より情報の多い名前のある行を残しましょう。
6. 最後の一手は人間の仕事
info@example.com が人ではなくメールボックスであることや、CCに居合わせただけの人があなたのアウトリーチ先ではないことを、数式は教えてくれません。ドメイン順に並べ替え、一度ざっと目を通し、人間なら消すものを消してください。
あるいは:そもそも散らかさない
その乱れた列があなた自身のメールボックス由来なら――スレッドからのコピー、転送された紹介、うろ覚えのエクスポート――この整形作業は任意のものです。Contact Extractorは、任意の検索やラベルで範囲を絞ったうえで、Gmailからアドレスと名前を、すでに分離され重複を除かれ表記の揃った状態で取り出します。1から5までは取り出す過程で行われ、6はあなたの仕事のまま残ります。
出典
- Google スプレッドシートの関数リスト – 2026年9月3日閲覧
- 重複データを削除する – Google ドキュメント エディタ ヘルプ – 2026年9月3日閲覧