Excelで、
「文字列として扱われている数字を計算に使えない」
「文字列から数字だけを抜き出したい」
という悩みは多いですよね。
この記事では、「Excel 文字列を数値に変換、抽出」*をテーマに、関数での取り出し方・一括変換・原因と対策・よくある罠まで徹底的に解説します。
ご参考になれば幸いです!
Contents
今どうすべきか・対処法は?
- 数字が文字列扱いだと計算できないので必ず数値型に変換する
- 関数で取り出した文字列から数値を抽出するには、LEFT/MID/RIGHT/VALUEなどの組み合わせが有効
- 一括変換は「区切り位置」機能が手早くて便利
Excelで文字列を数値に変換する基本方法

VALUE関数を使う
=VALUE(A1)
A1セルの文字列を数値に変換します。
シングルクォートを削除する
文字列として入力された数字は先頭に「'(シングルクォート)」がついている場合があります。これを削除するだけで数値になります。
一括で文字列を数値に変換する方法
区切り位置ウィザードを使う
- 対象範囲を選択
- [データ]タブ > [区切り位置] をクリック
- そのまま[完了]を押すだけで文字列が数値に変換されます。
文字列から数値を抽出する方法

LEFT/RIGHT/MIDとVALUEの組み合わせ
例えば「A123」の「123」を数値で取り出す場合:
=VALUE(MID(A1, 2, LEN(A1)-1))
複雑な文字列から数字だけを抽出する(VBA)
Function ExtractNumber(cell As String) As Double
Dim i As Integer
Dim result As String
For i = 1 To Len(cell)
If Mid(cell, i, 1) Like "[0-9]" Then
result = result & Mid(cell, i, 1)
End If
Next i
ExtractNumber = Val(result)
End Function
文字列から数値に変換できない原因と対策

原因
- 見えない空白や不可視文字が含まれている
- 全角数字になっている(例:「123」)
- 不要な記号やカンマが混在している
- セルの表示形式が「文字列」に固定されている
解決方法
CLEAN
関数で不可視文字を除去SUBSTITUTE
で不要な記号を消すASC
で全角を半角に(VBA)VALUE
で強制的に数値化
数値を文字列に変換する逆パターン
=TEXT(A1, "0")
TEXT
関数で数値を文字列に変換できます。
よくある質問(FAQ)

Excelで抽出した文字列を数値に変換するには?
VALUE
関数または *1
を掛ける方法でも可能です。
Excelで取り出した数字を数値に変換するには?
LEFT/MID/RIGHTなどで切り出した後、VALUE
関数で数値化してください。
エクセルで文字列から数値を検索するには?
SEARCH
や FIND
を使って位置を把握し、MID
などで取り出します。
Excelで文字列を数値に変換できないのはなぜ?
見えない空白や全角文字が含まれていることが多いです。
追加Tips|一括変換の自動化
- VBAで
Val
関数を使えば大量データを一気に処理可能 - Power QueryならGUIで複雑な文字列処理も簡単
- 正規表現アドインを使えば数字だけ抽出も可能
まとめ
- 基本は
VALUE
関数で文字列を数値に変換 - 文字列から数字だけを抜くなら
MID
やSUBSTITUTE
を活用 - 一括変換は「区切り位置」かPower Queryが便利
アドバイス: トラブルの多くは不要な空白や全角文字。CLEAN
や TRIM
でデータをきれいにしてから処理するのがコツです。