ワザ箱 暮らしと仕事の悩みを、手順で解決するサイト

GASでスプレッドシートに書き出すと電話番号の先頭の0が消える

公開 2026年11月5日2026年11月時点の情報
先に結論

書き出し先の列に setNumberFormat('@') を当ててから書き込みます。
数値で入っている番号は、getDisplayValues で見えている文字のまま取り出します。
元のシートでも0が無い番号は、桁数が一定ならTEXT関数で戻せます。

  1. 空いたセルの =ISTEXT(元のセル) で、番号が文字かどうかを見る
  2. 書き出し先シートを作り、コードの名前と列番号を直す
  3. 実行すると、その列の表示形式を@にしてから書き込む
  4. 書き出し先シートの中身は毎回消して書き直す
  5. 書き出し先で0が見えるか確かめる
0付きで表示中の数値"09012345678"

getDisplayValues は、表示された値を文字(String)で返す

※2026年11月時点の公式情報に基づきます。

ひもに白い札が並んで下がり、その下の机にノートパソコンがある絵

1元の番号が文字か数値かを見る

ISTEXTがTRUE
  • 文字で入っている
  • 書式@の列へ書き出す
FALSEで0は見える
  • 表示形式で0付きに見せている可能性
  • 見えている文字を取り出して書く
FALSEで0も無い
  • 元のシートで0が無いとみられる
  • TEXT関数で桁をそろえる

0が見えない列は、11桁と決まっていれば、空き列に =TEXT(C2,"00000000000") と入れると0で埋まって11桁になります。桁数が混ざる列は、元の資料から入れ直すのが無難です。

出典: ISTEXT / TEXT / スプレッドシートで数値の表示形式を設定する

2コードを貼って実行する

  1. 書き出し先のシートを作り、名前をDSTと同じにする
  2. 「拡張機能」 → 「Apps Script」でコードを貼り、1〜3行目を直して保存
  3. 関数 exportList を選んで「実行」
  4. 初回(とサービスを足した時)は承認の画面で許可する

ほかのコードがあれば消さずに「追加」から新しいファイルへ貼ります。同名の定数や関数は避けてください。

const SRC = '名簿';        // ← 元のシート名
const DST = '書き出し';    // ← 書き出し先(SRCと別)
const TEXT_COLS = '3,4';   // ← 0を残す列番号(A=1)をカンマ区切りで

function exportList() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const src = ss.getSheetByName(SRC);
  const dst = ss.getSheetByName(DST);
  if (!src || !dst || SRC === DST) throw new Error('シート名を確認');
  const range = src.getDataRange();
  const rows = range.getNumRows();
  const width = range.getNumColumns();
  const cols = TEXT_COLS.split(',').map(Number).filter(n => n >= 1);
  if (cols.some(c => c > width)) throw new Error('列番号を確認');
  dst.clearContents();
  cols.forEach(c => dst.getRange(1, c, rows, 1).setNumberFormat('@'));
  dst.getRange(1, 1, rows, width).setValues(range.getValues());
  cols.forEach(c => dst.getRange(1, c, rows, 1)
    .setValues(src.getRange(1, c, rows, 1).getDisplayValues()));
}

承認時に「未確認」の警告が出ることもあります。自分で貼ったコード以外は許可しないでください。会社のアカウントでは管理者の設定で許可できないことがあり、その時は管理者に相談します。

書き出し先シートの値は実行のたびに消えます。手で書き足したシートは指定しないでください。誤って消した時は、右上の最終編集アイコンから以前の版を選び、「この版を復元」→「復元」で戻せます(パソコン)。

出典: Class Range / Class Sheet / Google サービスの承認 / Google Workspace のデータにアクセスできるアプリを制御する / ファイルの変更内容を確認する / 日付と数値の形式 / コンテナにバインドされたスクリプト / スクリプト プロジェクト

0が残らない時のチェックリスト

あわせて読みたい

スプレッドシートの行ごとにGoogleドキュメントの案内状を一括で作りたい スプレッドシートを誤って消されても戻せるよう毎日自動でバックアップしたい GASで宛先ごとに名前や本文の一部を変えてメールを一括送信したい Googleカレンダーの予定を手でシートに転記して工数を集計している