【Googleスプレッドシート】数値が日付として勝手に変換される!書式設定で文字列に固定

【Googleスプレッドシート】数値が日付として勝手に変換される!書式設定で文字列に固定
🛡️ 超解決

スプレッドシートに数字を入力したつもりが、勝手に日付に変換されて困った経験はありませんか。たとえば「1-2」と入力したら「1月2日」になるケースです。これはスプレッドシートが数字の区切りを日付と誤認識するために起こります。この記事では、入力前に書式設定を変更する方法や、入力時にアポストロフィを付けるテクニックを紹介します。これらの手順を覚えれば、意図しない日付変換を完全に防げるようになります。

【要点】数値の自動日付変換を防ぐには、書式設定を「書式なしテキスト」に変更するか、数字の前にアポストロフィを付けます。

  • セルの書式を「書式なしテキスト」に設定: 予め範囲を選択し、メニューから「表示形式」→「数字」→「書式なしテキスト」を選びます。これで入力した数字がそのまま文字列として扱われ、日付に変わりません。
  • 数字の前にアポストロフィ(‘)を付ける: 例えば「’1-2」と入力すると、アポストロフィは表示されずに「1-2」が文字列として残ります。すでに入力済みのセルにも後から追加できます。
  • 入力後に書式を数字に変更する: 日付に変換されたセルを選択し、「表示形式」→「数字」→「数字」を選びます。日付が文字列ではなく数値として表示されます。

ADVERTISEMENT

数値が日付に変換されてしまう仕組み

Googleスプレッドシートは、入力された値が日付の形式(例:1/2、2024/12/25)に似ていると自動的に日付シリアル値に変換します。これはスプレッドシートの便利な機能ですが、製品コードやIDなど、見た目は数字でも日付として扱われたくないデータには迷惑です。内部的には、日付はシリアル値(例:2024/1/1は45292)として保存され、セルの表示形式が「日付」になっていると日付表記で表示されます。そのため、セルを選択したときに数式バーにシリアル値が表示されていれば、それは日付に変換されている証拠です。この変換を防ぐには、セルの書式を「書式なしテキスト」に固定するか、入力時に特別な記号を付ける必要があります。

数値の自動変換を防ぐ3つの方法

方法1:事前にセルの書式を「書式なしテキスト」に設定する

  1. 対象のセル範囲を選択する
    数値を入力する予定のセルまたは列全体をドラッグして選択します。
  2. メニューから「表示形式」→「数字」→「書式なしテキスト」を選ぶ
    メニューバーの「表示形式」をクリックし、「数字」にカーソルを合わせ、サブメニューの「書式なしテキスト」をクリックします。
  3. 通常通り数値を入力する
    設定後は、入力した数字がそのまま文字列として保存されます。「1-2」と入力しても「1月2日」にはなりません。

方法2:数字の前にアポストロフィ(‘)を付けて入力する

  1. 数字の先頭に半角アポストロフィ(‘)を入力する
    たとえば「’1-2」と入力します。アポストロフィは表示されず、セルには「1-2」とだけ表示されます。
  2. すでに入力済みのセルにも後から追加できる
    日付に変換されたセルをダブルクリックして編集モードにし、数値の先頭にアポストロフィを追加してEnterキーを押します。
  3. アポストロフィを付けると文字列になる
    セルの左上に小さな緑の三角マークが表示され、文字列として認識されていることが分かります。

方法3:日付に変換されたセルの書式を後から数字に変更する

  1. 日付に変換されたセルを選択する
    既に入力済みで日付表示になっているセルをクリックします。
  2. 「表示形式」→「数字」→「数字」を選ぶ
    メニューから「表示形式」をクリックし、「数字」→「数字」を選択します。すると日付がシリアル値ではなく、通常の数字として表示されます。
  3. 必要に応じて小数点以下の桁数を調整する
    「表示形式」→「数字」→「カスタム数値形式」から、表示したい桁数を設定できます。

注意点とよくある失敗

アポストロフィがセルに残ってしまう場合

アポストロフィを付けて入力しても、セルには表示されません。しかし、数式バーにはアポストロフィが表示されないため、他のユーザーが見たときに気づかないことがあります。また、関数で参照する際には文字列として扱われるため、数値計算には使えません。数値計算が必要な場合は、後でVALUE関数などで変換する必要があります。

先頭が0の数字(例:0123)が日付になるケース

「0123」と入力すると、スプレッドシートは「01/23」と解釈して日付に変換します。これを防ぐには、事前にセルの書式を「書式なしテキスト」に設定するか、アポストロフィを付けて「’0123」と入力します。また、電話番号や郵便番号など、先頭に0が来るデータには常に文字列書式が推奨されます。

分数(例:1/2)を日付にしたくない場合

分数として「1/2」と入力したいのに、日付の「1月2日」に変わってしまうことがあります。この場合も事前書式設定が有効です。「書式なしテキスト」にしておけば「1/2」がそのまま表示されます。ただし、分数として計算したい場合は、セルの書式を「数字」→「カスタム数値形式」で「# ?/?」などに設定する必要があります。

ADVERTISEMENT

各対策方法の比較

方法 手順 メリット デメリット
事前に書式をテキストに設定 セル範囲を選択→「表示形式」→「数字」→「書式なしテキスト」 一度設定すれば以降の入力すべてに適用、視認性が良い 後から数値計算をする際に書式を変更する手間がかかる
アポストロフィを付けて入力 数値の前に「’」を付けて入力 個別のセルに柔軟に対応可能、入力後でも追加できる 他のユーザーがアポストロフィに気づきにくい、数値計算には使えない
後から書式を数字に変更 日付セルを選択→「表示形式」→「数字」→「数字」 すでに入力済みのデータを後から修正できる 日付がシリアル値(数値)で表示されるため元の文字列が失われる場合がある

まとめ

スプレッドシートで数値が日付に変換される問題は、セルの書式設定を「書式なしテキスト」にするか、入力時にアポストロフィを付けることで解決できます。事前に対象範囲の書式を一括変更しておけば、入力のたびに意識する必要がありません。また、既に日付に変換されたセルは、表示形式を「数字」に変更することでシリアル値として扱えます。IDや品番など、日付以外の形式でデータを管理するときは、ぜひこれらのテクニックを活用してください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。