エクセルで文字列を数値に変換する方法(VALUE関数)
※写真はイメージです
書き方はこれだけ
=VALUE(文字の数字)VALUEは、文字として入っている数字を、計算できる数値に変える関数です。ほかのシステムから出したデータや、Webからコピーした表では、見た目は数字なのに左に寄っていて、SUMで合計すると0になることがあります。それは数字が文字として入っているからで、VALUEで数値に直せば計算できます。
この図の表をExcelファイルでダウンロード(問題と答えのシートつき)
文字の数字かどうかの見分け方
- 数字が左に寄っている(数値はふつう右に寄ります)。
- セルの左上に緑の三角が出ている。
- SUMで合計すると0になる、COUNTで数えると数に入らない。
=ISTEXT(A2)が TRUE になる。
関数を使わずに直す方法もある
正直、表全体をまとめて直すなら、関数を使わないほうが早いです。直したあと元のデータが要らないなら、次のどれかで十分です。
| やり方 | 手順 |
|---|---|
| 緑の三角から直す | 範囲を選んで、出てきた「!」→「数値に変換する」 |
| 区切り位置で直す(列ごと) | 列を選んで「データ」→「区切り位置」→ そのまま「完了」 |
| 1を掛ける | 空いたセルに1を入れてコピー → 範囲を選んで「形式を選択して貼り付け」→「乗算」 |
VALUEを使うのは、元のデータを残したまま横に数値の列を作りたいときや、毎月同じ形のデータを取り込んでいて、式で自動にしておきたいときです。
よく使う例
| やりたいこと | 式 |
|---|---|
| 文字の数字を数値に | =VALUE(A2) |
| 「1,200円」から数値だけ | =VALUE(SUBSTITUTE(SUBSTITUTE(A2,"円",""),",","")) |
| 前後に空白が付いている数字 | =VALUE(TRIM(A2)) |
| VALUEの代わりに(同じ結果) | =A2*1 または =--A2 |
うまくいかないとき
1#VALUE! になる
数字以外の文字(「円」「個」、全角の空白など)が混じっています。
直し方SUBSTITUTEで余計な文字を消してからVALUEにします。
2日付が「46335」のような数字になる
日付の文字をVALUEで変えると、日付の中身(シリアル値)になります。
直し方セルの表示形式を日付にします。
3変えたのに合計が合わない
一部の行だけ、まだ文字のままです。
直し方列全体を「区切り位置」でまとめて直すと漏れません。
サンプルファイルで試す
黄色のセルにVALUEの式を入れて、「答え」のシートと比べてください。
よくある質問
VALUE関数とは?
文字として入っている数字を、計算できる数値に変える関数です。=VALUE(A2) と書きます。
数字なのにSUMで0になるのはなぜ?
数字が文字として入っているからです。VALUEで数値に変えるか、「区切り位置」でまとめて直します。
関数を使わずに文字を数値に変えるには?
範囲を選んで緑の三角の「!」から「数値に変換する」を選ぶか、「データ」→「区切り位置」→「完了」で直せます。
「1,200円」を数値にするには?
=VALUE(SUBSTITUTE(SUBSTITUTE(A2,"円",""),",","")) のように、余計な文字を消してからVALUEにします。
一緒に覚えたい関数・操作
このページについて
操作の説明は Microsoft 365 の日本語版Excel(Windows)に合わせています。図はこのサイトで作ったもので、表の会社名・商品名・人名は架空です。運営者情報