シート実務ラボ

Excel・スプレッドシートの「動かして確かめた」実務ガイド

ホーム > 電話番号の先頭の0が消えるときの直し方【LibreOfficeで計算して確認】

2026-10-13 ・ Excel関数

電話番号の先頭の0が消えるときの直し方【LibreOfficeで計算して確認】

「03-1234-5678」のつもりで入力した電話番号が、セルを見たら「312345678」になっていた。先頭の0が消えて、桁数も足りない。名簿を扱っていると、よく出会う困りごとです。この記事では、消えた0を式で足し戻す方法と、表示だけ0を見せる書式の違いを、実際に計算して確かめた結果だけで紹介します。

出典: 筆者がLibreOfficeで計算して確認(検証スクリプト: site/verify/phone_leading_zero.py)。外部サイトの説明は参照していません。Excelでは未確認です。お使いの環境で、必ず少数の行で試してから使ってください。

先に結論

何が起きているか

電話番号は「数値」ではなく「番号」ですが、セルが標準の書式だと、0312345678と入力しても312345678と解釈されます。0を含めて10桁の番号(03-1234-5678など)は9桁に、11桁の番号(090-1234-5678など)は10桁になります。この性質を使って式で戻しますが、番号の桁数の決まりそのものは本記事では確認していません。

手順1: 9桁・10桁の数値に「0」を足す

A2に数値の電話番号が入っているとして、B2に次の式を入れて下へコピーします。

=IF(AND(ISNUMBER(A2),OR(LEN(A2)=9,LEN(A2)=10)),"0"&A2,A2)

「数値で、かつ9桁か10桁なら先頭に0を足す。それ以外はそのまま」という式です。実際に計算した結果は次のとおりです。

入力(A2) 種類 結果
312345678 数値(9桁) 0312345678
9012345678 数値(10桁) 09012345678
1201234567 数値(10桁) 01201234567
12345678 数値(8桁) 12345678(そのまま)
0312345678 文字列 0312345678(そのまま)
03-1234-5678 文字列 03-1234-5678(そのまま)

8桁の数値は電話番号として想定外なので、式は触りません。すでに0がある文字列や、ハイフンつきの文字列も変わりませんでした。

手順2: 固定桁のTEXT関数は混在名簿で失敗する

「桁数をそろえるならTEXT関数」と考えがちですが、固定の桁数を指定すると、桁数が違う番号で崩れます。

入力 =TEXT(A2,"0000000000")(10桁) =TEXT(A2,"00000000000")(11桁)
312345678(固定電話・9桁) 0312345678(正しい) 00312345678(0が余計)
9012345678(携帯・10桁) 9012345678(0が足りない) 09012345678(正しい)

どちらの桁数に合わせても、固定電話か携帯のどちらかが誤ります。固定電話と携帯が混ざった名簿では、手順1のように「桁数を見て足す」式の方が安全でした。

手順3: 書式で「見た目だけ」0を見せる

セルの書式を「ユーザー定義」で0000000000にすると、数値のまま、見た目だけ0を足せます。9桁の312345678は、表示(CSVに書き出した結果で確認)が0312345678になりました。値は数値のままで、ISNUMBERもTRUEでした。

ただし、この書式は固定桁です。携帯の9012345678は表示が9012345678のままで、0は足されませんでした(11桁の書式にすると、今度は固定電話に余計な0がつきます)。値は数値のままなので、他のシステムに貼ったり取り込んだりする場面では、見た目の0が引き継がれないことがあります。そのため、番号として扱うデータは、手順1の式で文字列にしておく方が安全です。

注意点: 結果は「文字列」になる

手順1の式は、0を足した行で文字列を返します(ISNUMBERはFALSE)。電話番号は計算に使わないので通常は問題ありませんが、数値として並べ替えたり合計したりしたい場合は、この方法は向きません。

元のデータに戻すとき

式の結果を残したいときは、結果の列をコピーして「値として貼り付け」をしてから、元の列を削除します。元の列を上書きすると、やり直せなくなるので、列を分けておくのが安全です。

注意点: 式で足せない場合

電話番号のそもそもの桁数が違うものや、先頭が0でない番号(海外番号など)は、この式では判断できません。手順1は「9桁か10桁の数値なら先頭が0だったはず」という前提で動くので、前提が当てはまらないデータでは使わないでください。

名簿全体を整えるなら

先頭の0のほか、ハイフン、全角・半角、スペースの混在など、電話番号には直したい表記ゆれが重なりがちです。ハイフンの一括削除は別の記事で、ブラウザだけで試せる電話番号整形ツールも用意しています(入力は外部に送信されません)。

運営者が作った「名簿クレンジングシート」は、こうした整形をまとめて行うExcelのシートです。まず試したい方向けに、50行までの無料お試し版があります。この記事の方法で足りる場合は、使う必要はありません。

まとめ

式はいずれもLibreOfficeで計算した結果です。Excelでは未確認のため、本番のデータに使う前に、数行で結果を確かめてください。

確認方法: この記事の式と書式は、LibreOffice Calcで実際に再計算し、数値セル4種・文字列セル3種で期待値と一致することを検証スクリプト(site/verify/phone_leading_zero.py)で確認しました。IF・AND・ISNUMBER・LEN・TEXT関数はExcelにもありますが、Excelでは未確認です。CSVファイルを開くときの取り込み手順は検証していないため書いていません。外部サイトの記述は参照していません。

参考にした情報