同じ会社内でメールまたは電話が一致する相手を探す

会社とメール、会社と電話で別々に照合し、結果をまとめます。連絡先が空欄の行を除き、メールと電話の両方で一致した相手も1回だけ残します。

説明図:照合前のLeadsとContactsにある会社・メール・電話の情報
架空のデータを使った説明図です。実際の画面キャプチャではありません。

同じ会社の中で、メールか電話のどちらかが一致する相手を探すには、照合を2回に分けます。会社とメールで照合した結果と、会社と電話で照合した結果から、IDの組だけを保存します。それらを縦に追加するときに重複を除けば、両方で一致した相手も1回だけ残せます。1回の結合にメールと電話を両方指定すると、どちらも一致する相手に絞られてしまいます。

元の連絡先と2つの照合結果

次は架空の原本です。G1とG2は別の会社で、メールアドレスは例示用です。∅は空のセルです。

Leads

LeadID Company Email Phone
L1 G1 a@example.invalid 010-0000-0001
L2 G1 x@example.invalid 010-0000-0002
L3 G2 a@example.invalid 010-0000-0003
L4 G1 ∅ ∅

Contacts

ContactID Company Email Phone
R1 G1 a@example.invalid 010-0000-0001
R2 G1 b@example.invalid 010-0000-0002
R3 G2 a@example.invalid 010-0000-0099
R4 G1 ∅ ∅

以下のEmailMatches・PhoneMatchesは、これから2回の照合で作る中間結果です。EmailMatchesには会社とメールが一致する組、PhoneMatchesには会社と電話が一致する組が入ります。最後に同じIDの組を1回だけ残すため、どちらもLeadIDとContactIDだけにして保存します。

表の∅は空セルを示す記号で、入力する文字ではありません。

EmailMatches

LeadID ContactID
L1 R1
L3 R3

PhoneMatches

LeadID ContactID
L1 R1
L2 R2

メールと電話でそれぞれ照合し、結果をまとめる

  1. LeadsとContactsを読み込み、両側のCompany・Email・Phoneをテキストにします。LeadIDとContactIDは各原本内で行を一意に識別するIDです。この例では前後の空白や英字の大文字・小文字を無視せず、そのまま比較します。
  2. 最初はCompany同士とEmail同士を結合し、一致する行だけを残します。両側のEmailのフィルターで「空白ではない」を選び、それぞれ「適用」を押します。別会社の同じメールと一致しないよう、Companyの条件も必ず残します。
  3. 両シートのCompany・Email・Phoneを出力から隠し、LeadID・ContactIDの2列だけにします。L1・R1とL3・R3の2行を確認し、EmailMatchesとしてExcelに保存します。
  4. 2回目はCompanyの接続を残し、Emailの接続を削除してPhone同士を接続します。Emailのフィルター条件を解除して適用し、両側のPhoneには「空白ではない」を設定して適用します。一致する行だけを残し、同じ2列のL1・R1、L2・R2をPhoneMatchesとして保存します。
  5. 保存した2つの結果を新しい作業に読み込みます。列名と列数はLeadID・ContactIDの2列でそろえます。上下の+接続点を結んで「完全に同じ行を1行だけ残す」を選び、最終結果が3組になることを確認して保存します。

説明図 — 2回の照合結果を保存して追加する

どちらかが一致する3組

L1・R1は両方の照合に出ますが、最後は1回だけ残ります。L2・R2は電話、L3・R3はメールだけが一致します。連絡先が空のL4・R4と、会社が異なるL1・R3などは対象外です。

LeadID ContactID
L1 R1
L2 R2
L3 R3

説明図 — どちらかが一致する3組

一致候補が同一人物とは限りません

条件に合う候補をすべて返すので、1つのLeadIDに複数のContactIDが対応することもあります。メール優先のルールや同一人物の自動判定はありません。電話の区切り記号・国番号などは原本のコピーで統一方針を決めます。空文字や空白だけの連絡先も両側で除外してください。重複除去は出力行全体を比べるため、照合方法やメールの列を一緒に保存すると、同じIDの組が2行残る場合があります。

自分のファイルで始めましょう

JOIN SHEETを使ってみる ↗

Excel・CSVの作業はPCでご利用ください。
新しいタブで開くため、作業中のデータは置き換わりません。

サンプルの検証日:

出典

Merge 2 tables in Power Query based on multiple conditions (Microsoft Fabric Community)

原文はPower QueryでColumn1が一致し、Column2またはColumn3が一致する行を結合する質問です。2回の結合結果を追加する回答がありますが、投稿者は後の返信でもOR条件について疑問を残しています。同じ条件を会社・メール・電話に置き換え、JOIN SHEETで保存して読み直す手作業も含めています。 例のデータは説明用に別途作成したもので、原文の投稿者による製品利用の感想や推薦ではありません。