Googleドキュメントで作成した文書に、様々な形式で書かれた電話番号が混在していて困った経験はありませんか。手動で一つずつ修正するのは時間がかかり、見落としも発生しやすいものです。そこで便利なのが、Apps Scriptと正規表現を使った自動整形です。本記事では、Googleドキュメント内のすべての電話番号を統一したフォーマットに変換する方法を、具体的なスクリプトとともに解説します。
【要点】Apps Scriptで電話番号を自動整形するポイント
- 正規表現でパターン検出: ハイフンや括弧など様々な表記を一つのパターンで捉え、統一した書式に変換します。
- replaceTextメソッドの活用: ドキュメント全体のテキストを一括で置換し、見落としを防ぎます。
- 実行前のバックアップ推奨: スクリプトを実行する前に文書のコピーを作成し、誤置換に備えます。
ADVERTISEMENT
目次
Apps Scriptで電話番号を整形するメリット
Googleドキュメントで電話番号を扱う際、入力者によって「090-1234-5678」「(03)1234-5678」「0120-345-678」など表記がバラバラになりがちです。手作業で統一するには多くの工数がかかり、見落としによる不統一も発生します。Apps Scriptを使えば、正規表現によりあらゆる表記パターンを一度に捉え、指定したフォーマットに自動変換できます。これにより、文書の見栄えが整い、情報の一貫性が保たれます。スクリプトは一度作成すれば繰り返し使えるため、大量の文書を扱う業務で特に効果を発揮します。
電話番号フォーマットを統一する具体的な手順
- スクリプトエディタを開く
Googleドキュメントのメニューから「拡張機能」→「Apps Script」を選択し、スクリプトエディタを開きます。デフォルトで「マイドキュメント」というプロジェクトが作成されます。 - スクリプトコードを記述する
エディタに以下のコードを貼り付けます。このコードは、ドキュメント内の電話番号を「090-1234-5678」形式に統一します。正規表現では、ハイフン・括弧・スペースなどの区切り文字を許容し、数字部分を抽出して再整形します。 - スクリプトを保存して実行する
コードを保存し、実行ボタンをクリックします。初回実行時には権限の承認が必要です。承認後、スクリプトがドキュメント全体を走査し、電話番号を変換します。変換後は元の書式が失われるため、あらかじめ文書のコピーを取っておきましょう。
以下にスクリプトの一例を示します。この例では、日本の電話番号(固定電話・携帯電話・フリーダイヤル)を想定していますが、パターンを調整することで他の国や特殊な番号にも対応できます。
function formatPhoneNumbers() {
var doc = DocumentApp.getActiveDocument();
var body = doc.getBody();
// 日本の電話番号パターン(ハイフン・括弧・スペースを許容)
var pattern = /(0[1-9]\d{0,3}[-\s]*\(?\d{1,4}\)?[-\s]*\d{3,4})/g;
var replacement = function(match) {
// 数字のみ抽出
var digits = match.replace(/\D/g, '');
// 桁数に応じて整形(例: 11桁: 090-1234-5678, 10桁: 03-1234-5678)
if (digits.length === 11) {
return digits.slice(0,3) + '-' + digits.slice(3,7) + '-' + digits.slice(7);
} else if (digits.length === 10) {
return digits.slice(0,3) + '-' + digits.slice(3,6) + '-' + digits.slice(6);
} else if (digits.length === 8) {
return digits.slice(0,4) + '-' + digits.slice(4);
} else {
// そのまま返すか、別の処理
return match;
}
};
body.replaceText(pattern, replacement);
}
スクリプト実行時の注意点とよくあるトラブル
置換が意図しない文字列に影響する場合
正規表現のパターンが広すぎると、郵便番号や数値など電話番号以外の文字列も変換してしまうリスクがあります。パターンを絞り込み、例えば「0」で始まり10桁または11桁の数字列のみにマッチするように調整することで、誤置換を防止できます。テスト用の文書でスクリプトを試すことをおすすめします。
国際電話番号への対応が必要な場合
日本以外の国番号(+81など)を含む番号を扱う場合は、パターンを拡張する必要があります。国番号を検出し、国際形式に整形するロジックを追加しましょう。ただし、すべての国番号に対応するのは複雑なため、対象範囲を明確に決めておくことが重要です。
スクリプトの権限承認が求められる場合
初回実行時には、ドキュメントの読み取り・編集権限を承認するダイアログが表示されます。このとき、スクリプトが安全であることを確認してから承認してください。組織で管理アカウントを使用している場合は、管理者の承認が必要な場合もあります。
ADVERTISEMENT
手動置換とスクリプト自動整形の比較
| 項目 | 手動置換 | Apps Script自動整形 |
|---|---|---|
| 作業時間(100件の電話番号) | 約30分~1時間 | 数秒(スクリプト実行) |
| 見落としリスク | 高い(人手による) | 低い(正規表現で確実に検出) |
| 初期設定の手間 | 不要 | スクリプト作成に15~30分 |
| 再利用性 | 文書ごとに手作業 | スクリプトを保存しておけば何度でも実行可能 |
上記の比較からもわかる通り、頻繁に電話番号を扱う業務では、最初のスクリプト作成に少し時間をかけても、長期的な効率向上が期待できます。特に、大量の文書を処理する場合や、チームで統一フォーマットを維持したい場合に有効です。
まとめ
本記事では、GoogleドキュメントのApps Scriptと正規表現を使って、本文中の電話番号を自動で統一フォーマットに整形する方法を解説しました。スクリプトを一度作成すれば、繰り返し実行できるため、文書の品質を維持しながら作業時間を大幅に短縮できます。正規表現のパターンを調整することで、電話番号以外にも郵便番号や日付など、様々な文字列の整形に応用可能です。まずはサンプルコードをベースに、自社のフォーマットに合わせてカスタマイズしてみてください。スクリプトの実行前には必ず文書のバックアップを取り、安全に試せる環境でテストすることをおすすめします。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
SPONSORED
Googleドキュメントの人気記事ランキング
- 【Googleドキュメント】音声入力が認識されない時の対処!マイク権限の確認
- 【Googleドキュメント】上付き・下付き文字の入力方法!ショートカットと手動切替
- 【Googleドキュメント】ルビ(ふりがな)を振る方法!代替ツールとアドオンの活用
- 【Googleドキュメント】縦書き表示を実現する方法!代替ツールと回避策
- 【Googleドキュメント】表内の文字を縦中央揃えにする方法!セル内配置
- 【Googleドキュメント】文字間隔(字間)を調整する方法!カーニングの代替手段
- 【Googleドキュメント】インデントを正確に調整する方法!ルーラーとタブストップの使い方
- 【Googleドキュメント】PDFからDocsへ変換する方法!OCR取り込みと精度
- 【Googleドキュメント】Docs→Wordへエクスポート!docx出力での書式維持
- 【Googleドキュメント】図表番号の自動採番!Figure 1, Table 2 の連番
