スプレッドシートで0が消える時の原因と対策

spreadsheet46のサムネイル

スプレッドシートを使用している際、数値の「0」が消えてしまう現象に悩んだことはありませんか?例えば「0123」と入力したはずが「123」と表示されてしまう、ゼロで始まる電話番号や郵便番号がうまく保存されないといった問題です。

この記事ではスプレッドシートで0が消えてしまう原因とその対策を詳しく解説します。

スプレッドシートで0が消える主な原因

スプレッドシートで0が消えるのは多くの場合、セルのデータ形式や自動処理の仕様が関係しています。具体的な原因をいくつか紹介します。

数値として認識されるため

スプレッドシートはデフォルトで数値が入力された場合に自動で「数値」として処理します。数値として認識されると、先頭の0は意味がないと判断され削除されます。

入力値スプレッドシートの表示
0123123
0004545

セルの書式設定が「数値」になっている

スプレッドシートのセルの書式設定が「数値」になっている場合、先頭の0は無視されます。

確認方法

「書式」の「123」メニューを開く

「自動」になっていることを確認

「自動」になっていると先頭の0は表示されません。

書式なしテキストを選択すると「0」が表示されます。

CSVファイルのインポート時の問題

CSVファイルをスプレッドシートにインポートするとき、デフォルトの設定では数値として処理されるため先頭の0が削除されることがあります。

CSVの値スプレッドシートでの表示
00123123
045674567

数式の自動処理

スプレッドシートでは数式を使って計算を行うことができますが、関数によっては自動的に数値に変換されることがあります。

=TEXT(0123, "0")  → 結果: 123

この場合も、先頭の0が消えてしまいます。

スプレッドシートで0を消さないための対策

セルの書式設定を「文字列」に変更する

先頭の0を保持するにはセルの書式を「文字列」に変更するのが最も簡単な方法です。

確認方法

先頭の0を保持するには上述した通り、セルの書式を「書式なしテキスト」に変更するのが最も簡単な方法です。

先頭にシングルクォート(’)を付ける

データ入力時に先頭に**シングルクォート(’)**を付けると、スプレッドシートはその値を「文字列」として認識し0を消しません。

'0123 → 0123
'04567 → 04567

シングルクォートは表示されませんが、内部では文字列として認識されます。

CSVのインポート時に「プレーンテキスト」を指定する

CSVをインポートするときに「プレーンテキスト」として認識させることで、数値として処理されるのを防ぎます。

手順

「ファイル」メニューから「インポート」を選択

CSVファイルを選択し「カスタムのインポートオプションを使用」をチェック

「テキストとしてインポート」を選択

TEXT関数を使用する

関数を使ってデータを加工する場合、TEXT関数を使用することで、先頭の0を保持できます。

=TEXT(A1, "00000")  → 結果: 01234

この方法を使うと一定の桁数で表示することが可能です。

スクリプトを活用する

Google Apps Scriptを使って、先頭の0を自動的に保持するスクリプトを作成することも可能です。

スクリプト例

function preserveLeadingZeros() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var range = sheet.getDataRange();
  var values = range.getValues();

  for (var i = 0; i < values.length; i++) {
    for (var j = 0; j < values[i].length; j++) {
      if (typeof values[i][j] === 'number') {
        values[i][j] = "'" + values[i][j].toString().padStart(5, '0');
      }
    }
  }
  range.setValues(values);
}

このスクリプトを実行するとセルの値を自動的に文字列化し、先頭の0を保持できます。

まとめ

スプレッドシートで先頭の0が消えてしまう問題は、データ形式やスプレッドシートの自動処理によって発生します。しかし適切な設定や対策を行えば、0を消さずに保持することが可能です。

今回紹介した対策のまとめ

原因対策
数値として認識されるセルの書式を「文字列」に設定
数式の自動処理TEXT関数を使用
CSVインポート時「プレーンテキスト」としてインポート
手動入力時先頭にシングルクォートを付ける
自動化Google Apps Scriptを活用

スプレッドシートを正しく設定し目的に応じたデータ管理を行いましょう!

他にもOfficeソフトに関する記事を上げています。是非色々見てみてください。

最新記事
  • カテゴリー
  • 月別
  • Twitter

    ココナラでデザインを依頼する

    7000本の授業が見放題!社会人向けオンライン学習動画【Schoo(スクー)】

    Webデザイン業界特化のレバテック

    定額制で質問し放題【Web食いオンラインスクール】

    関連記事

    最新記事NEW

    CONTACTCONTACT CONTACTCONTACT

    お問い合わせ

    ご意見やお仕事のご依頼などは以下よりご連絡ください。

    情報入力

    内容確認

    完了

      お名前必須

      フリガナ必須

      メールアドレス必須

      お問い合わせ内容