概要
「見た目は数字なのに、計算できない」
「セルの左側に寄っていて、SUMしても合計に入らない」
「’123’(文字列)を 123(数値)として扱いたい」
こういうときに使うのが VALUE 関数です。
VALUE は一言で言うと、
“数字っぽい文字列”を、本物の数値に変換する関数 です。
VALUE 関数の基本
構文と役割
=VALUE(文字列)
文字列
「数値に変換したい文字列」を指定します。セル参照でも、"123" のような直接指定でもOKです。
VALUE は、
- 数字だけの文字列
"123" - 「123.45」などの小数
- 「2026/1/5」などの日付形式(→ 日付シリアル値)
などを、計算できる“数値型” に変えてくれます。
よくある「文字列数字」の例
- 他システムから取り込んだ CSV の数字
- 先頭ゼロをつけるために、一度
"00123"などとして扱っていたもの - TEXT 関数で作った「数値っぽい文字列」
- セルの左側に寄っていて、数式に入れても計算されない数字
これらは「数字に見えても、Excel 的には文字列」なので、
計算・集計の前に VALUE で“数値に戻す” ことがあります。
基本パターン1:数字の文字列を数値に変換
A2 に "123" という文字列が入っているとします。
見た目は 123 でも、左寄せになっていて、SUM に入らないパターンです。
このとき B2 にこう書きます。
=VALUE(A2)
結果は 数値の 123 になります。
この B2 は、他の数値と一緒に足し算・掛け算などに使えます。
同様に、
"45.6"→ 45.6"0.75"→ 0.75
なども、VALUE で正しい数値に変換できます。
基本パターン2:TEXT で整形したあと、再び数値に戻す
TEXT 関数は「数値 → 文字列」に変える関数でした。
=TEXT(1234, "#,##0") ' → "1,234"(文字列)
この "1,234" は見た目は数字でも文字列なので、
そのままでは計算に向きません。
もしどうしても「文字列にしたあと、やっぱり数値として計算したい」となったら、
VALUE で戻せます。
=VALUE(TEXT(A2, "#,##0"))
ただし実務的には、
「計算前に文字列にする」のはあまりおすすめではなく、
- 計算は“数値のまま”やる
- 最後に表示だけ TEXT で整える
という順番にした方がトラブルは少ないです。
VALUE は「外部から入ってきた“文字列数字”を救出する」イメージで使うとよいです。
応用1:金額文字列「1,234円」から数値だけ取り出したい
A2 に「1,234円」という文字列が入っているとします。
このままでは文字列なので、合計や平均の対象になりません。
- まず「円」を削除
- カンマ付きの文字列 → 数値に変換
という流れで数値化します。
=VALUE(SUBSTITUTE(A2, "円", ""))
A2 が「1,234円」のとき、
SUBSTITUTE 部分は「1,234」
それを VALUE が 1234(数値)にしてくれます。
応用2:日付の文字列を“本当の日付”に変えたい
A2 に "2026/1/5" という「日付っぽい文字列」が入っているとします。
セルの表示形式を変えても、文字列のままでは日付として動きません。
このとき、
=VALUE(A2)
とすると、Excel内部の「日付シリアル値」に変換されます。
あとはセルの表示形式を「日付」にすれば、
ふつうの日付として扱えるようになります。
日付計算(+7日、月末を求める等)をしたいときは、
必ず「日付型(数値)」にしてから行います。
応用3:IF や SUM で文字列数字を扱う前に
例えば A2:A10 に「数字に見える文字列」が入っていて、
その合計を求めたい場合。
直接 =SUM(A2:A10) しても 0 になったり、一部しか計算されないことがあります。
この場合、別列で VALUE に通して数値化します。
B2 に
=VALUE(A2)
と書き、B10 までコピー。
そのうえで
=SUM(B2:B10)
とすると、正しく合計できます。
「左寄せの数字は、まず VALUE で洗う」という癖をつけておくと、
データ分析のときにハマりにくくなります。
VALUE を使うときの注意点
- 数字以外が混ざりすぎている文字列(例:”No.123″)は、そのまま VALUE に渡すとエラーになります。
→ まず SUBSTITUTE や MID などで「数字部分だけ」に切り出してから VALUE に渡します。 - ロケール(小数点が . か , か など)の違いがあると、思った通りに変換されないことがあります。
→ 基本的には、Excel上で普通に入力して数字になる形(123、123.45、2026/1/5 など)であれば、VALUE で変換できます。
問題1
A2 に文字列として「123」が入っています(左寄せで、SUM に含まれません)。
これを数値の 123 に変換する VALUE 関数の式を書いてください。
=VALUE(A2)
問題2
A2 に文字列として「45.6」が入っています。
これを数値の 45.6 に変換して計算に使えるようにしたいです。
VALUE 関数の式を書いてください。
=VALUE(A2)
問題3
A2 に「1,234円」という文字列が入っています。
この中から数値 1234 を取り出して、数値として扱えるようにしたいです。
SUBSTITUTE と VALUE を組み合わせた式を書いてください。
=VALUE(SUBSTITUTE(A2, "円", ""))
問題4
A2 に「2026/1/5」という“日付っぽい文字列”が入っています。
これを Excel が日付として認識できる数値に変換する VALUE 関数の式を書いてください。
=VALUE(A2)
(※セルの表示形式を「日付」にすると、日付として表示されます)
問題5
A2:A10 に数字に見える文字列が入っており、その合計を求めたいです。
B列で VALUE を使って数値化してから合計する場合、
B2 に書く式と、合計セルに書く式をそれぞれ書いてください。
B2:
=VALUE(A2)
合計セル(例:B11):
=SUM(B2:B10)
VALUE の本質は、この 1 行です。
=VALUE(文字列) ' 数字っぽい文字列 → 数値に変換
TEXT で「数値→文字列」、
VALUE で「文字列→数値」。
外部データや“見た目だけ数字”なセルを相手にするときに、
この変換の往復を自在に使えるようになると、
Excel で扱える世界がぐっと広がります。
