VALUE関数の使い方|文字列の数字を数値に変換する方法

ほかのシステムから貼り付けたデータの数字が「文字列」になっていて、合計が0になってしまう。そんなときに使えるのがVALUE関数です。結論から言うと、VALUE関数は=VALUE(文字列)で、数値を表す文字列を本物の数値に変換する関数です。ただし、足し算や掛け算ではExcelが自動で変換してくれるため、VALUEが必要になる場面は意外と限られます。

目次

VALUE関数の基本構文

=VALUE(文字列)

文字列には、Excelが数値・日付・時刻として認識できる形式の文字列やセルを指定します。=VALUE("1,000")は1000、=VALUE("16:48:00")は時刻のシリアル値になります。数値として読めない文字列(例: “12個”)を指定すると#VALUE!エラーです。

VALUE関数で文字列の数字を合計する例

次のような表(A1:C4)で、B列の数量がすべて文字列として入っているとします。

A(商品) B(数量・文字列) C(単価)
2 りんご 12 150
3 みかん 8 80
4 ぶどう 20 100

A列=商品、B列=数量(文字列)、C列=単価という対応で、次の数式の結果を比べてみます。

数式 結果 理由
=B2*C2 1,800 掛け算では文字列の「12」が自動で数値に変換される
=SUM(B2:B4) 0 SUMは範囲内の文字列を無視する
=SUMPRODUCT(VALUE(B2:B4)) 40 VALUEで3つとも数値に変換してから合計する

このように、VALUEが必要になるのは「範囲内の文字列を無視する関数」を使うときです。SUMのほか、AVERAGEやCOUNTも範囲内の文字列を数えません(SUM関数の性質はSUM関数の基本的な使い方|合計を計算する方法参照)。

VALUE関数でVLOOKUPの数値と文字列の不一致を直す

検索値が文字列の「101」、検索範囲が数値の101になっていると、見た目は同じでもVLOOKUPは一致せず#N/Aになります。検索値のほうを数値に変換すれば一致します。

=VLOOKUP(VALUE(E2),$A$2:$C$10,3,FALSE)

逆に検索範囲のほうが文字列の場合は、E2&""のように検索値を文字列に変換して合わせます。#N/Aの原因の見分け方は#N/Aエラーが出る原因と対処法(VLOOKUP編)で詳しく解説しています。

VALUE関数のよくある注意点

  • 単位や記号が付いていると#VALUE!: 「12個」のような文字列は変換できません。SUBSTITUTE関数で「個」を取り除いてから=VALUE(SUBSTITUTE(B2,"個",""))とします。#VALUE!エラー全般は#VALUE!エラーの原因と直し方を参照してください。
  • 前後のスペースが原因のことも: 貼り付けたデータに余分なスペースが入っていると、数値として認識されないことがあります。TRIM関数で文字列からスペース(余白)を削除する方法|エクセルで取り除いてから変換します。
  • 日付の文字列はシリアル値になる: =VALUE("2026/9/26")は46291という数値になります。日付として表示したいときは、セルの表示形式を日付にします(日付が数値やシリアル値で表示されてしまう問題の直し方参照)。
  • 表全体を直すなら数式より一括変換: 列全体が文字列なら、エラーインジケーター(セル左上の緑の三角)から「数値に変換する」を選ぶか、「データ」タブの「区切り位置」で「完了」を押すと一括で数値になります。

VALUE関数が登場する記事

VALUE関数の使い方まとめ

VALUE関数は=VALUE(文字列)で文字列の数字を数値に変換します。足し算・掛け算では自動で変換されるため、主な出番はSUMなど範囲の文字列を無視する関数や、VLOOKUPの数値・文字列の不一致を直すときです。条件付きの集計については、サイトの人気記事エクセルのsumifs関数でOR条件の集計をする方法やエクセル関数で条件付きで中央値(MEDIAN)を計算する方法もあわせてご覧ください。

目次