Excelを使っていると、「セルの値は数字のはずなのに計算されない」「SUMに反映されない」「左寄せになる」という現象がよく発生します。
原因のほとんどは 「数値が文字列として扱われている」 ことですが、文字列化の理由は複数あります。
この記事では、実務でよく起きる原因を一覧化し、すぐにチェックできるように整理 しています。
■ 1. セルの書式が「文字列」になっている
もっとも定番の原因がこれです。
-
「ホーム」→「数値」→「文字列」になっている
-
左寄せになっている
-
式で計算されない/SUMに反映されない
修正方法:
-
セルを選択
-
書式を「標準」または「数値」に変更
-
必要であれば F2 → Enter で再確定
■ 2. 先頭に「’」(シングルクォート)が入っている
CSVインポート時やシステム出力データに多いパターンです。
例:'12345
→ 見た目は数値だが、内部は文字列。
修正方法:
-
「データ」→「区切り位置」→「完了」で再変換
-
または SUBSTITUTE で
’を除去
■ 3. 全角数字が混ざっている(0〜9 が全角)
パッと見で気付きにくい原因の一つです。
例:12345
→ 全角のため文字列扱い。
判別方法:
-
左寄せ
-
書式を変更しても変わらない
-
LEN で長さが合わない
修正方法:
-
CLEAN、ASC関数
-
Power Query の「文字種変換」
-
全角 → 半角変換ツールを使う
■ 4. 数値の後ろや前にスペースが入っている
特に 末尾スペース(トレailing space) が多いです。
例:
|
1 2 |
1234␣ ␣1234 |
修正方法:
-
TRIM(Tab のような特殊スペースは取れない場合あり)
-
CLEAN
-
Power Query →「空白の削除」
■ 5. Non-Breaking Space(NBSP / CHAR(160))が入っている
Web からコピーしたときに混入しがちです。
普通の TRIM では削除されません。
判別方法:=CODE(MID(A1,1,1)) → 160 が出る
修正方法:
|
1 |
=SUBSTITUTE(A1,CHAR(160),"") |
■ 6. 数値の途中にカンマ・記号が混ざっている
Excelは 「数値として成立しないフォーマット」 を拒否します。
例:
-
1,234,567,(末尾カンマ) -
1234円 -
#1234 -
1234-
修正方法:
-
SUBSTITUTEで除去
-
Power Queryで不要文字削除
■ 7. 数値が非常に長く、Excelが自動的に文字列として読み込む
13桁以上の数字(JANコード、社員番号など)は Excel が自動で丸めるため、一部のツールが数字を文字列として出力する ことがあります。
例:1234567890123
修正方法:
-
「文字列」として扱いたい → 先頭にシングルクォート
-
「数値」扱いにしたい → 数値型+指数表記の調整
■ 8. 数値として認識できない記号が含まれている(見えない制御文字)
コピー元が
-
PDF
-
Webサイト
-
外部業務システム
の場合、不可視文字(制御コード) が混入していることがあります。
修正方法:
-
CLEAN
-
SUBSTITUTEで削除
-
Power Queryの「不要文字削除」
■ 9. 数値の前に「=」が付いている(ただし計算式ではない)
システム出力の一部で、文字列の中に「=1234」のような形式があると、Excelは 文字列扱い します。
修正方法:
-
SUBSTITUTEで「=」を除去
-
TEXT関数で変換後に VALUEで数値化
■ 10. セルに「エラー」マークが出ているのに無視している
Excelは親切に
「数値が文字列として保存されています」
という警告を出します。
小さな黄色の三角形+ビックリマークです。
修正方法:
-
「数値に変換」をクリック
-
一括変換も可能(選択範囲)
■ まとめ:原因は複数。まずは「書式」「記号混入」をチェック
Excelで数値が計算されない原因はほとんどが 「文字列化」 によるものですが、その理由は以下に分類できます。
-
書式の問題(文字列、全角数字、シングルクォート)
-
文字種の問題(NBSP、制御文字、スペース)
-
フォーマットの問題(通貨記号、末尾カンマ、単位付き)
-
インポート時の仕様(CSV・システム出力の文字列化)
記事通りに順番にチェックすれば、ほぼ確実に原因が特定できます。
