E.164とは何か、10秒で
E.164は国際的な電話番号の形式です。+、国番号、続いて番号、空白も記号もなし――+6591234567、+14155552671。Google Adsが顧客リストに求めているのがこれで("Format phone numbers using the E.164 format"、"the country code and '+' sign" を含む)、多くのAPIが「国際形式」と言うときに意味しているのもこれです。
まず、スプレッドシートにデータを壊させない
電話番号の列は、数式が走る前に死んでいます。
- 長い番号は、Google スプレッドシートが数値として読んだ瞬間に指数表記になります。
07700 900461は先頭のゼロを失います――一度失われたら戻りません。後からの書式変更はデータ損失であって、書式設定ではありません。+44…は数式として読まれ、エラーになることがあります。
対処は習慣ひとつです。データが入る前に列をプレーンテキストに設定してください(表示形式 → 数字 → プレーンテキスト)。後から直しても、取り込みがすでに壊したものは戻りません。
クリーンアップの数式
数字以外をすべて除去します。
=REGEXREPLACE(TO_TEXT(A2), "\D", "")
(650) 555-1212 は 6505551212 に、+44 7700 900461 は 447700900461 になります。次が、数式には代われない判断――国番号です。
- 番号がすでに含んでいる場合(自国の国番号で始まる11桁以上):
+を付けて完了。 - 先頭ゼロのある国内形式(英国、欧州の多く):ゼロを落として国番号を付ける――
07700 900461→+447700900461。 - 市内番号のみ(米国の
6505551212):+1を付ける。
単一国のリストであれば:
="+65" & REGEXREPLACE(TO_TEXT(A2), "^0*|\D", "")
複数国が混在するリストを正しく推測できる数式は存在しません。国を独立した列として持ち、国から国番号への参照が必要です。これは細かすぎる話ではありません。推測を誤れば、別人の、しかも妥当に見える番号ができあがります。
これが以前より重要になった理由
リストがハッシュ化された識別子として広告プラットフォームへ向かうなら、書式はもはや見た目の問題ではありません。ハッシュ化は厳密です。+6591234567 と 6591234567 はまったく異なるダイジェストを生み、マッチできるのは片方だけです。Google Adsはプラス付きのE.164形式を、Metaは国番号付きの数字を明記しており、その例示は 16505551212――プラスなしです。同じ電話番号が、2つのプラットフォームに対して2つの異なる書式の入力を必要とします。 送信先ごとにまず書式を整え、それからハッシュ化してください。
Hash Dataの位置づけ
Hash Dataは、あなたがすでに開いているシートの中で動きます。=HASHPHONE() 関数は番号をE.164に正規化し、1ステップでハッシュ化します――上記のパイプライン全体を、REGEXREPLACE をダイジェストの数式に連結して保守することなく実現します。
出典
- Google Adsヘルプ – 顧客データファイルの形式を設定する – 2026年8月20日閲覧
- Meta – Conversions API customer information parameters – 2026年8月20日閲覧
- Microsoft – Keeping leading zeros and large numbers – 2026年8月20日閲覧