Excelで文字列として入力された数字を、数値に変換したいときはないでしょうか。
けど、そんな中で悩むことは、
・セルの左肩に緑の三角マークが出ていて直し方がわからない
・1つずつ入力し直すのは件数が多くて手間
ですよね。
今回はそんなお悩みを解決する
・「1を掛ける」「0を足す」だけで数値にする古典テク
・区切り位置での一括変換やVBAも
についてまとめます!
完成イメージ
システムから取り込んだデータは、数字が文字列として入っていることがあります。
文字列のままだと、合計しようとしても0になり、並べ替えや計算もできません。
今回は
・文字列を数値に変換して、SUMで正しく合計できる状態にする方法
をゴールにします。
左寄せで緑の三角マークが付いていた列が、右寄せの数値に変わります。
なお、関数を使わず「1を掛ける」だけで数値にする古典テクや、区切り位置での一括変換、VBAでの自動化、うまくいかないときの対処法(トラブルシュート)もあわせてご紹介します。
早速実装して試してみましょう!

上の画像が完成形です。文字列だった数量・単価・金額がすべて数値になり、合計が1,139,800と正しく計算されています。
もくじ
STEP1. 文字列のままのデータを用意する
まずは、数字が文字列として入っている表を用意します。
今回は商品・数量・単価・金額の4列で、B〜D列がすべて文字列です。
文字列は左寄せで表示され、セルの左肩に緑の三角マークが出ます。
このマークは「数値が文字列として保存されています」という合図です。
見た目は数字でも、Excelの中では文字として扱われている状態です。

下の表をコピーして、Excelのシートに貼り付けるとそのまま試せます。
| 商品 | 数量 | 単価 | 金額 |
|---|---|---|---|
| ノートPC | 3 | 128000 | 384000 |
| モニター | 5 | 32000 | 160000 |
| キーボード | 12 | 4800 | 57600 |
| マウス | 20 | 2200 | 44000 |
| プリンタ | 4 | 29800 | 119200 |
| タブレット | 5 | 45000 | 225000 |
| 外付HDD | 8 | 12000 | 96000 |
| USBメモリ | 30 | 1800 | 54000 |
※ 数式で求める列は空にしています。すでに値が入っている列はそのまま残して試せます。
STEP2. 文字列だと計算できないことを確認する
文字列のままでは、合計しようとしても思った結果になりません。
D11セルに =SUM(D2:D9) と入れてみると、結果は0になります。
SUM関数は文字列を無視してしまうためです。
数値かどうかは ISNUMBER関数 でも確認できます。
B2セルを判定すると FALSE(数値ではない)が返ります。
まずはこの状態を直していきましょう。

STEP3. VALUE関数で数値に変換する
文字列を数値にするには VALUE関数 が使えます。
G2セルに =VALUE(B2) と入力します。
VALUEは「文字列を数値に変換する」関数です。
文字列の数字を、計算に使える数値へ変えてくれます。
あとはフィルハンドルで下へコピーすれば、数量がすべて数値になります。
数式なので、もとの文字列を変えれば結果も追従します。

STEP4. VALUEを使わず「1を掛ける」「0を足す」
関数を入力しなくても、計算式にすると数値に変わります。
これは昔から使われている古典テクです。
Excelは計算をするときに、文字列の数字を自動で数値として扱うためです。
H2セルに =B2*1 と入力します。
同じように =B2+0 と足し算にしても数値になります。
G列のVALUEと同じ結果になることを確認してみてください。
関数名を覚えなくてよいので、ちょっとした変換には手軽ですね。

STEP5. 区切り位置で一括で数値に変換する
関数を入れる列を増やしたくないときは、区切り位置で元の列をそのまま数値にできます。
変換したい B2:D9 を選び、データ タブ → 区切り位置をクリックします。
ウィザードが開くので、そのまま「次へ」→「次へ」と進みます。
3つ目の画面で「列のデータ形式」をG/標準にして完了を押します。
これだけで、文字列だった数字が一括で数値に変わります。
上の画像は、この操作を行ったあとの状態です。
1列ずつではなく、複数列まとめて変換できるのが便利ですね。

STEP6. ISNUMBER関数で数値になったか確認する
変換できたかどうかは、ISNUMBER関数 で確認できます。
F2セルに =ISNUMBER(B2) と入力します。
数値になっていれば TRUE、文字列のままなら FALSE が返ります。
変換後はTRUEに変わり、緑の三角マークも消えているはずです。
目で見て分からないときの確認に役立ちます。

文字列を数値に変換する方法の比較
同じ変換でも、やり方によって向いている場面が違います。
| 方法 | 手順 | 向いている場面 |
|---|---|---|
| VALUE関数 | =VALUE(B2) と入力して下へコピー | もとの列を残して別の列に出したいとき |
| 演算(1を掛ける・0を足す) | =B2*1 や =B2+0 と入力 | 関数名を覚えず手軽に済ませたいとき |
| 区切り位置 | 範囲を選び「データ→区切り位置→完了」 | 元の列をそのまま一括で数値にしたいとき |
| VBA | Val や .Value = .Value を使う | 大量データや定期的な変換を自動化したいとき |
VBAでまとめて数値に変換する
件数が多く、毎回同じ変換をするなら、VBAで一括処理するのがもっともラクです。
Alt+F11でVBAエディターを開き、標準モジュールに次のコードを貼り付けます。
Sub ToNumber()
Dim rng As Range
For Each rng In Range("B2:D9")
If IsNumeric(rng.Value) Then
rng.Value = Val(rng.Value)
End If
Next rng
End Sub
実行すると、B2:D9の文字列が一瞬で数値に変わります。
Val は文字列の先頭から数値として読める部分を取り出す関数で、余分な記号があっても数値を取り出せます。
数式ではなく値として書き戻すので、もとの文字列は残りません。
もとの文字列を残しておきたいなら VALUE関数や演算で別の列に出す、
元の列をそのまま数値にしたいなら 区切り位置、
毎回同じ変換をするなら VBA がおすすめです。
迷ったら、あとから見返しても意味が分かる VALUE関数 が安心ですよ。
今回は文字列を数値にしたいだけなので Val を使っていますが、
数式を値にしたいときは Value = Value と覚えておくと便利です。
うまくいかないときの対処法(トラブルシュート)
実際に試すと、思ったように変換できないこともあるかもしれません。
よくあるつまずきと対処法をまとめました。
| 症状 | 原因 | 対処 |
|---|---|---|
| VALUEで #VALUE! になる | カンマ・円記号・空白が数字に混ざっている | SUBSTITUTE で記号を消してからVALUEにする |
| 全角数字が変換できない | 全角の「123」は半角と別の文字のためエラーになる | 区切り位置で「G/標準」にすると全角も変換できる |
| 先頭の0が消えた | 数値にすると「001」の先頭0は意味を持たないため消える | 0を残したいなら数値にせず表示形式を文字列にする |
| 一部だけ #VALUE! のまま | セルに見えない空白や改行が入っている | TRIM や CLEAN で整えてから変換する |
| 変換しても左寄せのまま | 表示形式が文字列のままになっている | セルの表示形式を標準に戻してから変換する |
関数の説明
今回使う2つの関数の概要です。
どちらも文字列と数値の変換・判定でよく使うので、違いを押さえておきましょう。
VALUE関数(バリュー)
| 書式 | =VALUE(文字列) |
|---|---|
| できること | 文字列として入力された数字を、計算できる数値に変換します。 |
| 戻り値 | 数値(変換できないときはエラー値 #VALUE!) |
| こんなときに | 文字列の数字を合計・並べ替え・計算に使いたいとき。 |
| 注意 | カンマ・円記号・空白・全角数字が入っているとエラーになります。まず SUBSTITUTE で記号を消しましょう。 |
=VALUE(B2)
ISNUMBER関数(イズナンバー)
| 書式 | =ISNUMBER(テストの対象) |
|---|---|
| できること | 指定した値が数値かどうかを判定します。 |
| 戻り値 | 数値なら TRUE、そうでなければ FALSE |
| こんなときに | 文字列を数値に変換できたか確認したいとき。 |
| 注意 | 「123」のように見えても文字列なら FALSE になります。見た目で判断できないため確認に便利です。 |
=ISNUMBER(B2)
完成
文字列だった数量・単価・金額が、すべて数値に変わりました。
左寄せだった数字が右寄せになり、緑の三角マークも消えています。
合計欄も 1,139,800 と正しく計算できました。
思ったとおりに変換できましたか?
数値になれば、並べ替えやグラフ作成もスムーズにできるようになります。

さいごに
いかがでしょうか。
今回は、
についてまとめました。
まずは今回のサンプル表で、ぜひ一度試してみてください。
文字列が数値になれば、合計・並べ替え・グラフ作成もスムーズになります。
また、他にも便利なExcelの時短テクニックがありますので、よろしければご参照頂ければと思います。
ぜひ試してみてください。








コメントを残す