Excel関数 逆引き集 | 文字列を数値に変換 → VALUE

Excel
スポンサーリンク

概要

「見た目は数字なのに、計算できない」
「セルの左側に寄っていて、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円」という文字列が入っているとします。
このままでは文字列なので、合計や平均の対象になりません。

  1. まず「円」を削除
  2. カンマ付きの文字列 → 数値に変換

という流れで数値化します。

=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 で扱える世界がぐっと広がります。

Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました