こんにちは。いーかです。
Excelの「データ整形」で、郵便番号やIDみたいな“コード”の先頭0が勝手に消える事故を防ぐメモです。
30秒まとめ(結論1行)
先頭0は“数値”にすると消える。識別子(コード)は最初から「文字列」として扱い、入力・貼り付け・取り込みの3箇所で守るのが正解。
まず判断(ここがブレると事故る)
- 計算するもの → 数値
- 識別するだけのもの(郵便番号/社員番号/商品コード) → 文字列
症状(こうなったら先頭0事故)
0123が123になる001-0001みたいなコードが崩れる- CSV取り込み後にIDが変わってしまう
先に安全ネット
コード列は、いきなり上書きせず 別列で整形→値貼り付けが安心。
① 入力時に守る(いちばん強い)
方法A:先頭にアポストロフィ(’)
- 例:
'0123
Excelに「これは文字列」と伝えられる最短手。
方法B:セルの書式を「文字列」にしてから入力
- 対象範囲 → セルの書式設定 → 表示形式 → 文字列
- その後に入力(または貼り付け)
② 貼り付けで事故るのを防ぐ(地味に多い)
- 先に列を 文字列 にしてから貼り付け
- うまくいかない時は「形式を選択して貼り付け」で 文字列(または値貼り付け)に寄せる
※貼り付けで“数値判定”されると、そこで0が落ちます。
③ 表示形式で0埋め(見た目だけ整える)
「中身は数値のままでも、見た目だけ0埋め」したい場合。
例:4桁固定
- セルの書式設定 → ユーザー定義 →
0000
123 が 0123 と表示される。
④ CSV/外部データ取り込みで守る(危険地帯)
CSVをダブルクリックで開くのが、先頭0事故の典型ルート。
推奨:データから取り込む
- 「データ」→「テキスト/CSVから」
- 対象列の型を 文字列 に指定して読み込む
(これで事故が激減)
⑤ もう消えちゃった0を“復旧”する(救済)
桁数が決まっているなら、別列で復旧できます。
例:4桁に戻す
=TEXT(A1,"0000")
- 結果OK → コピー → 値貼り付けで確定
(復旧後は文字列として運用するのが安全)
今日の1アクション
いま扱ってる列が「計算」か「識別(コード)」か決める。
コードなら文字列。CSVは“ダブルクリックで開かない”。
ミニクイズ(答えは末尾)
Q1. 先頭0を残したいとき、入力で一番手軽な方法は?
Q2. 4桁固定で0埋め表示するユーザー定義は?
Q3. CSVで0が落ちる事故を減らす推奨ルートは?
Q4. すでに落ちた先頭0を4桁で復旧する関数は?
今日のひとこと(成長ログ)
数値とコードは別物。Excelに“これはコード”と先に伝えるのが勝ち筋。
解答とくわしい解説
A1. 先頭に '(アポストロフィ)
A2. 0000
A3. データ→テキスト/CSVから(列を文字列指定)
A4. TEXT(例:=TEXT(A1,"0000"))


コメント