エクセルで文字列を数値に一括変換する方法|まとめて変換・できないときの対処(5つの手順)

エクセルで文字列を数値に変換する方法【一括】|5つの手順と、変換できない原因

エクセルで文字列の数字をまとめて数値に変換するいちばん早い方法は、範囲を選んで、近くに出る警告ボタン(!)から「数値に変換する」を選ぶことです。何百行あっても一括で変換できます。

警告ボタンが出ないときは、1列なら「データ」タブの「区切り位置」を押して、最初の画面ですぐ「完了」を押すだけで変換できます。試したところ、「120」「80」「1,200」などの文字列が、すべて数値になりました。元のデータを残したいときは VALUE関数を使います。この記事では、5つの方法と、変換できないときの原因・確かめ方を説明します。

練習用Excelファイル(無料ダウンロード)
見た目が同じ「100」でも、文字列と数値は別のデータです。元の文字列・変換後の数値・判定を見比べられるファイルを用意しました。対応:Microsoft 365・Excel 2024・2021・2019・2016(本文の操作手順はWindows版)
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
注意ここでは主にWindows版Excelの操作を説明します。上書きする前に対象の列をコピーしておくと、変換前と比較できます。郵便番号・商品コードなど先頭の0が必要なものや、16桁以上の識別番号は、文字列のまま扱ってください。数値化すると先頭の0や桁の精度が失われることがあります。
データの状態・目的おすすめの方法元データ
緑の三角・警告ボタンが出る数値に変換する上書き
1列の数字をまとめて変換したい区切り位置保存先を選べる
複数列の数値文字列をまとめて変換したい形式を選択して貼り付け→乗算上書き
別の列に結果を出したいVALUE関数残せる
小数点と桁区切りの表記が異なるNUMBERVALUE関数残せる
目次

方法1:緑の三角から「数値に変換する」を一括適用

1
変換したい範囲(例:A2:A100)を選びます。見出しや商品コードなどは含めません。
2
選択範囲の近くに出る警告ボタンをクリックします。
エクセルで文字列の数字の範囲を選び警告マークを表示した画面
①緑の三角のセル範囲を選ぶと、②警告マークが出ます
3
「数値に変換する」を選びます。
警告マークのメニューから数値に変換するを選ぶ画面
警告マークをクリックし、①「数値に変換する」を選びます
数値に変換された後のエクセルの画面
変換後は右寄せの数値になり、緑の三角も消えます
4
変換後のセルに対して、別セルで=ISNUMBER(A2)を確認します。TRUEなら数値です。
ポイント警告ボタンが出ない場合は、緑の三角が付いたセルを起点に範囲を選択してみてください。背景のエラーチェック設定によっても表示は変わります。ボタンが出なければ、次の方法を使えます。

方法2:「区切り位置」で1列を数値に一括変換

文字列の「1000」「2000」などが縦に並んだ列に向いています。以下は、区切り文字で分割する必要のない数字の列を変換する手順です。

1
対象の1列のセル範囲を選びます(例:A2:A100)。
2
「データ」→「区切り位置」を開きます。
3
「区切り文字によってフィールドごとに区切られたデータ」を選び、「次へ」をクリックします。
4
区切り文字のチェックを外し、プレビューで1列のままになっていることを確認して「次へ」をクリックします。
5
列のデータ形式を「G/標準」にします。元データを残す場合は、表示先に空いている別列の先頭セルを指定します。
区切り位置指定ウィザード3/3で表示先を指定する画面
①表示先に変換後の列(ここでは$C$2)を指定し、②「完了」をクリックします
6
「完了」をクリックし、結果を確認します。
区切り位置で数値に変換された結果のエクセルの画面
C列に、右寄せの数値として変換されました(元のA列は残ります)
注意1列ずつ実行します。桁区切りのカンマを含むデータでは、カンマを区切り文字にすると別の列へ分かれるため注意してください。小数点・桁区切りが通常と違うデータは、後述のNUMBERVALUEを使うと指定が明確です。

方法3:「形式を選択して貼り付け」の乗算で変換

既存の数値文字列をその場で変換する方法です。数字だけの対象範囲に限定し、数式セルや識別コードを混ぜないでください。

1
空いているセルに数値の1を入力し、コピーします。
2
変換したいセル範囲を選びます。
3
「ホーム」→「貼り付け」→「形式を選択して貼り付け」を開きます。
4
貼り付け対象を「値」、演算を「乗算」にして確定します。
形式を選択して貼り付けで値と乗算を選ぶ画面
①貼り付けを「値」、②演算を「乗算」にして、③「OK」をクリックします
5
数値に変換されたことを確認したら、手順1で入れた補助用の1を消します。
形式を選択して貼り付けの乗算で数値に変換された結果の画面
範囲が右寄せの数値に変換されました(補助用の1は後で消します)
ポイント「100」という文字列に1を掛けることで数値の100に変換します。複数列でも使えますが、空白や文字が混じる表全体へ適用せず、数値化する範囲を絞ってください。

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

方法4:VALUE関数で別の列に数値を取り出す

手順:B2 に VALUE の式を入れて Enter

A2 の文字の「100」を、B2 に数値として出します。 B2 に次の式を入力して、Enter キーを押します❶。

B2 に入れる式
=VALUE(A2)
A2 文字列(文字の100)
ひとことで文字として入った「100」を、計算できる数値にして別の列に出す
式を分けて読むと(色は画像の枠と同じ)
文字列A2
どの文字を数値に?
→ 文字の「100」
自分の表で使うときは
青に変換したいセルを入れて、必要な行までコピーします。例:取り込んだ金額(C 列)を数値に=VALUE(C2)
  • 元の列に戻すときは、B 列をコピーして A 列へ「値」で貼り付けます。
エクセルのVALUE関数で文字列の数字を数値にする式と、元の文字列のセルを色分けした画面
エクセルのVALUE関数で文字列の数字を数値にする式と、元の文字列のセルを色分けした画面

確認:左寄せの文字が、右寄せの数値 100 になった

エクセルのVALUE関数で文字の100が数値の100になったことを示した画面
エクセルのVALUE関数で文字の100が数値の100になったことを示した画面

答えは 100 になりました❷。式は、次の順に計算しています。

  1. 文字の「100」を数値として読む
    ⇒ 100
  2. 数値にして返す(右にそろう)
    ⇒ 100
ヒント:空白は空白のままにするには
=IF(LEN(A2)=0,"",VALUE(A2)) にすると、空のセルが 0 にならず空白のままです。

方法5:NUMBERVALUE関数で小数点・桁区切りを指定

海外のデータなどで「1.234,56」が1234.56を表す場合は、小数点がカンマ、桁区切りがピリオドであることを指定します。

結果セルに入力:小数点が「,」、桁区切りが「.」のデータ
数式=NUMBERVALUE(A2,",",".")
ひとことで「1.234,56」を 1234.56 に変える
A2
変換したい文字列です。サンプルは「1.234,56」です
","
2番目の引数は小数点の文字です。ここでは「,」です
"."
3番目の引数は桁区切りの文字です。ここでは「.」です
データの流れ
① 「1.234,56」から、桁区切りの「.」を除く
途中1234,56
▼
② 小数点の「,」を小数点にして、数値にする結果
結果1234.56

日本で一般的な「1,234.56」なら、指定を逆にします。

結果セルに入力:日本で一般的な「1,234.56」のデータ
数式=NUMBERVALUE(A2,".",",")
ひとことで「1,234.56」を 1234.56 に変える(指定を逆にする)
A2
変換したい文字列です。サンプルは「1,234.56」です
"."
2番目の引数は小数点の文字です。ここでは「.」です
","
3番目の引数は桁区切りの文字です。ここでは「,」です
補足見た目が似ていても、「1,234」が千二百三十四なのか 1.234 なのかは、データの作成元によって違います。
注意見た目が似ていても、1,234が「千二百三十四」なのか「1.234」なのかはデータの作成元によって違います。変換前に区切り記号の意味を確認してください。
記号のルールを指定して文字列を数値にする(NUMBERVALUE)式 =NUMBERVALUE(A10,",",".") の解説図。B10に入力する
B10に =NUMBERVALUE(A10,",",".") を入力。「,」を小数点 「.」を桁区切りとして 読む → 1,234.56
練習用Excelファイル(無料ダウンロード)
「数値変換」シートで、VALUEとNUMBERVALUEを試せますA列の文字列を書き換えると、B列の数値とC列の判定が変わります。「操作練習」シートでは、区切り位置や乗算の練習もできます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

【実機で検証】18種類の文字列を4つの方法で変換した結果

どの方法を使えばよいかを確かめるため、Excel の実機で 18 種類の文字列を変換して比べました。速さの差はほとんどなく、差が出るのは「何が数値になるか」でした。

文字列の例緑の三角区切り位置×1(乗算)VALUE
1200/1,200/1.5/-100数値になる数値になる数値になる数値になる
前後に半角スペース( 123)数値になる数値になる数値になる数値になる
全角の数字(123)数値になる数値になる数値になる数値になる
後ろに全角スペース数値になる数値になる数値になる数値になる
(100)-100-100-100-100
¥1,200¥1,200 と表示数値になる数値になる1200
12%12% と表示12% と表示0.12 と表示0.12 と表示
2026/10/31変換されない日付になる4632646326
12:30変換されない12:30 と表示0.5208330.520833
100-(後ろにマイナス)×××#VALUE!
100個(単位付き)×××#VALUE!
123(後ろに NBSP)×××#VALUE!
abc×××#VALUE!

NUMBERVALUE 関数(小数点を「.」、桁区切りを「,」に指定)は、この表の VALUE と同じ結果でした。

エクセルの緑の三角で数値に変換したあと、後ろにマイナスや単位付き、日付の形が左寄せのまま残った画面
エクセルの緑の三角で数値に変換したあと、後ろにマイナスや単位付き、日付の形が左寄せのまま残った画面

日付の入った列を、乗算や VALUE でまとめて変換すると 46326 のような数字になります。日付も一緒に変換するなら区切り位置が向いています。ただし列幅が足りないと ####### と表示されました。

速さはほとんど変わらない

10 万行の文字列の数字で、3 回ずつ測った中央値です。どれも 0.2 秒未満でした(緑の三角は手で操作するので測っていません)。

方法10万行の処理時間
区切り位置0.136 秒
×1(乗算)0.078 秒
VALUE0.059 秒

変換できなかったものの直し方

余分な文字を SUBSTITUTE 関数で消してから変換します。A1 に文字列があるときの式で、どれも数値になりました。

文字列式結果
123(後ろに NBSP)=VALUE(SUBSTITUTE(A1,UNICHAR(160),””))123
100個=VALUE(SUBSTITUTE(A1,”個”,””))100
100-=-VALUE(SUBSTITUTE(A1,”-“,””))-100

注意:表示形式が「文字列」のままだと、編集で文字に戻る

表示形式が「文字列」のセルを乗算や区切り位置で変換すると、いったん数値になり、合計も合います。ところが、そのセルで F2 → Enter を押すと文字に戻り、合計が 600 から 400 に減りました。エラーは出ません。

エクセルで表示形式が文字列のまま変換したセルをF2とEnterで確定すると文字に戻り合計が600から400に減った画面
エクセルで表示形式が文字列のまま変換したセルをF2とEnterで確定すると文字に戻り合計が600から400に減った画面

あとから表示形式だけを「標準」に変えても、文字に戻ったセルは数値になりませんでした。先に表示形式を「標準」にしてから変換します。この順番なら、F2 → Enter を押しても合計は 600 のままでした。

「数値に変換できない」ときの原因と対処

表示形式を「標準」「数値」に変えても直らない

注意表示形式の変更と、セルの値を文字列から数値へ変える処理は別です。表示形式を変えただけでは既存の文字列が残る場合があります。一括処理では上の方法を使ってください。Windows版で1セルを確認するなら、標準に変更した後にF2→Enterで再確定する方法もあります。

空白・全角数字・「円」などが含まれている

例・原因対処の例
前後に半角スペースがある=VALUE(TRIM(A2))
全角スペースが含まれる=VALUE(SUBSTITUTE(A2," ",""))
全角の数字になっている=VALUE(ASC(A2))
100円のように単位が含まれる=VALUE(SUBSTITUTE(A2,"円",""))
Webから貼り付けた特殊な空白通常の空白と異なる場合があるため、該当文字を確認してSUBSTITUTEで置換
注意これらは数値に変換する列だけで使います。ASCは数字以外の全角文字も変換します。複数の原因が混じっている場合は、まず置換結果を確認してからVALUEを適用してください。

空白の処理はTRIM・SUBSTITUTEによる空白の削除、全角数字はASC関数による半角への変換で詳しく解説しています。

対応バージョンExcel 365(日本語版)で確かめたところ、前後の半角スペースや、全角の数字だけなら、VALUEだけでも数値に変換できました。TRIMやASCは、空白や全角が混ざった列を、まとめてそろえたいときに使います。文字の間のスペースや「円」などの文字が付いたデータは、VALUEだけでは #VALUE! になります(練習ツールの「原因別の式」で試せます)。

先頭にアポストロフィがある

ポイントExcelで文字列として入力するための先頭の'と、CSVなどから取り込まれて文字そのものになった'は扱いが異なります。セル内に記号として残っている場合は、元データを確認して不要な記号を取り除いてから変換します。

変換できたか確認する方法

  • =ISNUMBER(A2):数値ならTRUE、文字列ならFALSE。
  • =TYPE(A2):数値なら1、文字列なら2。
  • 対象範囲をSUM関数で合計し、変換前後で意図した結果になるか確認。
ポイント左揃え・右揃えは手動で変えられるため、見た目だけでは判定できません。変換後にXLOOKUPやVLOOKUPの一致を確認する場合は、検索値側と元表側のデータ型をそろえてください。

練習用ファイルのシートと使い方(「数値変換」「操作練習」)

「数値変換」シートにはVALUE・NUMBERVALUE・空白の扱いの例があります。「操作練習」シートには文字列の100・200・300を用意しています。数字を変更したり、区切り位置・乗算の操作を試したりできます。

操作練習シートのA2:A4を数値へ変換すると、B列の判定が「文字列」から「数値」に変わり、C列のTYPEの結果が2から1に変わります。乗算用の1はE2にあります。

Excelの文字列を数値に変換する操作練習シート
A2:A4が変換対象。操作後はB列の「数値」とC列の1で確認できます。
練習用Excelファイル(無料ダウンロード)
A2の「100」を「450」に変えて、B2が450、C2が「数値」になることを確かめられます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

よくある質問

先頭の0を残したまま数値にできますか?

ポイント数値の値としては先頭の0は残りません。計算用の数値を見た目だけ固定桁で表示するならユーザー定義の表示形式が使えますが、商品コード・郵便番号などの識別子は文字列で管理するのが適しています。

VALUEで#VALUE!になる場合は?

ポイントExcelが数値として解釈できない文字・空白・記号が含まれていないか確認します。エラーを0に置き換えると本来の数値と区別できなくなるので、先に原因を調べてください。
練習用Excelファイル(無料ダウンロード)
「VALUEで#VALUE!になる場合は?」の解説で使うExcelデータです。数式と練習データが入っているので、本文の式を同じ表で試せます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

よくある質問

エクセルで「数値に変換」を一括でするには?

変換したい範囲を選び、近くに出る警告ボタン(!)から「数値に変換する」を選びます。何百行あっても一括で変換できます。変換できたかは、別のセルで =ISNUMBER(A2) が TRUE になるかで確かめられます。

警告ボタンが出なくて、数値に変換を一括でできないときは?

緑の三角が付いたセルを起点に、範囲を選び直してみてください。それでも出ないときは、1列なら「データ」タブの「区切り位置」を押して、最初の画面ですぐ「完了」を押すだけで変換できます。

複数の列をまとめて数値に変換するには?

「形式を選択して貼り付け」の乗算を使います。空いているセルに 1 を入力してコピーし、変換したい範囲を選んで、貼り付けを「値」、演算を「乗算」にします。空白や文字が混じる表全体には使わず、範囲を絞ってください。

あわせて読みたい:文字列の変換・検索の関連記事

基本から確認したいときは、エクセルで数式が反映されない原因と対処もあわせてご覧ください。

改行ごとに、セルを分けたいときは、エクセルで改行ごとにセルを分割する方法もあわせてご覧ください。

数値と文字列の変換を基本から確認したいときは、エクセルで数値と文字列を変換する方法もあわせてご覧ください。

数値を文字列にしたいときは、数値を文字列に変換する方法もあわせてご覧ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次