CSVには "00123" と書いてあるのに、Googleスプレッドシートで開くと 123。引用符まで付けたのに、なぜ番号が変わるのでしょう。
元の文字を保って読みたいときは、インポート画面の「テキストを数値、日付、数式に変換する」をOFFにするのが今回の答えです。ただし、書き出したCSVを次にONで読むと、再び変換されました。引用符だけでは防げませんでした。
この記事用の架空データ6行を使い、初回のON・OFFと、CSVに書き出して読み直す4通りを比較しました。2026年10月30日、日本の地域設定・東京のタイムゾーンで、公式のCSVインポートを各条件1回ずつ試した結果です。実際の顧客情報や業務データは使っていません。
引用符付きの6行は、ONとOFFでどう変わったか
元CSVの値は、すべてダブルクォートで囲みました。たとえば "00123"、"01-02"、"=1+1" です。表の「原本の文字」は、CSVの区切りとして使う引用符を除いた中身を示します。
| 原本の文字 | ONでの表示 | ONで確認した保存値 |
|---|---|---|
00123 |
123 |
数値の123 |
01-02 |
01-02 |
日付形式の数値46024 |
1E3 |
1.00E+03 |
数値の1000 |
TRUE |
TRUE |
真偽値のtrue |
=1+1 |
2 |
数式 =1+1、計算結果は数値の2 |
12.50 |
12.5 |
数値の12.5 |
表は横にスクロールできます。
OFFでは、6行すべてが原本と同じ表記の文字列として保存され、表示も同じでした。=1+1 も計算されず、その文字が残りました。
見落としやすいのは、ONでも見た目が変わらない 01-02 と TRUE です。文字のコードとして入れたつもりでも、前者は日付形式の数値、後者は真偽値になっていました。今回は画面の見た目だけでなく、保存値も確認しています。
CSVの引用符は、カンマなどを含むフィールドをどう区切るかという書き方に使われます。それと、読み込んだアプリが中身を数値や日付に解釈するかは別の話です。RFC 4180の引用符の説明(英語・外部サイト)からも、Googleスプレッドシートで文字列が保たれるとは保証できません。
番号やコードを文字のまま読む短い手順
今回と同じように、先頭0や記号を含む表記を保ちたい場合は、次の順で読み込みます。
- 届いた元CSVを残し、作業用のコピーを用意する。
- Googleスプレッドシートの「ファイル」→「インポート」から作業用CSVをアップロードする。
- 読込先を確認する。今回使ったのは「新しいシートを挿入する」。区切り文字は元ファイルに合わせ、今回は「カンマ」にした。
- 「テキストを数値、日付、数式に変換する」のチェックを外して、インポートする。
ファイルの読込先と区切り文字を選ぶ経路は、Google公式のインポート手順(英語・外部サイト)でも案内されています。変換チェックのラベルと動作は、今回の実画面で確認したものです。
番号の0や末尾まで見比べたうえで、気になるセルは空いているセルに =TYPE(B2) のように入れると、数値なら1、文字列なら2と確かめられます。B2は調べたいセルに置き換えてください。ただし、日付も数値なので1になります。TYPEだけでは数式の有無も判定できません。Google公式のTYPEの説明(英語・外部サイト)
OFFを何にでも使えばよい、という話でもありません。今回の 12.50 はOFFでは文字列です。数量や金額を計算する目的なら数値が必要になるため、番号を保つ列と計算する列を分けて考えます。元CSVを残し、計算用のコピーで必要な列を扱うと、表記を保つ目的と混ざりません。
OFFで守ったCSVも、次の読込で変わった
初回OFFのシートからCSVをダウンロードすると、6行の文字は元と同じでした。それでも、そのCSVをもう一度ONで読むと、最初のONと同じ変換が起きました。
| 最初の読込→CSV書出し→再読込 | 元の6表記を文字列として保つ目的での結果 |
|---|---|
| OFF→CSV→OFF | OK:6行とも元表記の文字列 |
| OFF→CSV→ON | NG:上のONの表と同じ保存値・表示になった |
| ON→CSV→OFF | NG:文字列にはなるが、123 や 2 のまま |
| ON→CSV→ON | NG:=1+1 だった欄は数式に戻らず、数値の2 |
OK・NGは、元の6表記を文字列として保ちたい場合の判定です。数値として計算したい用途の良し悪しを示すものではありません。
特に =1+1 を追うと、失われたものがはっきりします。初回ONのシートには数式がありましたが、そこから書き出したCSVには計算結果の 2 が入りました。そのCSVをOFFで読むと文字列の 2、ONなら数値の2です。書き出したCSVだけを頼りに、元の式を知ることはできません。

受け渡すときには、ファイルだけでなく「コード列は文字として扱う」「今回の読込では変換をOFFにした」と条件も伝え、相手の読込後にも代表行を照合するのが一手です。自分の画面で0が残ったことと、次の画面でも残ることは、分けて確かめたいところです。
なお、OFFから書き出したCSVも、ファイルの中身が1バイト単位で元通りだったわけではありません。改行や引用符の付け方は変わりましたが、CSVとして読み取った6行の文字は一致しました。「ファイル形式の違い」と「文字が別物になったこと」を一緒に数えると、判断がずれます。
変わった後は、見た目を直す前に原本へ戻る
すでに 00123 が 123 になっていたら、元CSVのコピーからOFFで読み直すのが、今回の結果に沿った戻し方です。変換後のシートから書き出したCSVで、元ファイルを上書きするのは避けます。
「コードは必ず5桁」という決まりが別にあるなら、123 を 00123 と表示する整形はできます。ただし、元が 123、0123、00123 のどれだったのか分からない状態では、0を足すだけで原本を復元したことにはなりません。Google公式も数値の値と表示形式(外部サイト)を分けて説明しています。
元CSVがなければ、送付元へ元の表記を確認するか、確かな桁数ルールに基づく整形として扱います。見た目だけを先にそろえて渡すと、後から違いをたどる手掛かりまで減ってしまいます。
ここで確認したのは、この6行と設定での結果です。別の地域設定、別の値、ほかの表計算ソフト、引用符の有無による差までは試していません。実データをクラウドへ入れてよいかも、所属先の利用ルールに合わせて判断してください。
今日試すなら、本番のCSVより先に、架空の 00123 と =1+1 だけで読込と書出しを一周させてみてください。残しておきたいのは、きれいに見える表だけでなく、読み直せる元CSVです。 PDFから作ったCSVの行ずれも心配なら、次は明細を照合する検収の見本が使えます。
先頭の0が消えると、違いにはすぐ気づけます。今回やっかいだったのは、01-02とTRUEのように見た目が同じでも、中身の扱いが変わっていたことでした。きれいに並んだ表を見ると、それだけで確認が済んだ気になりそうです。元CSVから代表行を選び、文字のまま残したいものを先に決めておく。小さな準備が、次の人へ渡すときの手掛かりになります。
便利な道具ほど、こちらの意図を先回りする機能があります。計算したい数字なのか、姿を変えたくない番号なのか。その区別は手元に残しておきたいですね。日々の迷いや工夫を綴る「親父の奮闘記」も、よければのぞいてみてください。

コメント