VALUE・DATEVALUE・TEXT関数で文字列を数値や日付に変換する方法

Excel

はじめに

CSVやシステム出力データをExcelで開いたとき、
「数字なのに文字として扱われる」「日付の計算ができない」
といったトラブルに遭遇したことはありませんか?

見た目は同じでも、Excelは「文字列」と「数値/日付」を別物として認識します。
そのため、足し算・平均・並べ替え・条件付き書式などが正しく動かなくなることがあります。

この記事では、そんなときに役立つ
VALUE関数・DATEVALUE関数・TEXT関数 の基本と実務での使い分けをわかりやすく解説します。


VALUE関数(文字列 → 数値に変換)

書式

=VALUE(文字列)

A列(元データ)結果
“123”=VALUE(A1)123
“45.6”=VALUE(A2)45.6

ポイント

  • 数字を表す文字列を「数値」に変換
  • 計算・グラフ・関数の引数などで正しく使えるようになる

応用例:文字扱いの金額を数値化

A列結果
"10,000"=VALUE(SUBSTITUTE(A1,",",""))10000

カンマ入りの金額を計算可能な数値に変換。
SUBSTITUTEで「,」を削除してからVALUEで数値化するのがポイントです。


DATEVALUE関数(文字列 → 日付に変換)

書式

=DATEVALUE(文字列)

A列(元データ)結果
“2025/10/20”=DATEVALUE(A1)2025/10/20
“10/20/2025”=DATEVALUE(A2)2025/10/20

ポイント

  • 日付の文字列を「Excelのシリアル値(日付形式)」に変換
  • TODAY()DATEDIF() など日付関数との連携が可能

応用例:文字形式の日付を正しく計算

=TODAY() - DATEVALUE(A1)

→ 文字列として入力された日付から経過日数を計算。


TEXT関数(数値/日付 → 文字列に整形)

書式

=TEXT(値, 表示形式)

結果
=TEXT(1234, "#,##0円")1,234円
=TEXT(TODAY(), "yyyy年m月d日")2025年10月20日

ポイント

  • VALUE・DATEVALUEとは逆方向の変換
  • 印刷・帳票・PDF出力など「見た目重視」の整形に便利

3つの違いまとめ

関数名主な用途変換方向代表例
VALUE文字列 → 数値内部計算向け"123" → 123
DATEVALUE文字列 → 日付日付計算向け"2025/10/20" → 2025/10/20
TEXT数値・日付 → 文字列表示整形向け2025/10/20"2025年10月20日"

覚え方

  • 計算したいときは VALUE / DATEVALUE
  • 見せたいときは TEXT

実務での活用シーン

① システム出力データの整形

CSVデータで「10,000」や「2025/10/20」が文字扱いになるケース。

=VALUE(SUBSTITUTE(A1,",",""))
=DATEVALUE(A2)

→ 正しい数値・日付に変換して集計可能に。


② 日付の差・期間計算

=TODAY()-DATEVALUE(A1)

→ 契約開始日からの経過日数を自動算出。


③ 帳票・請求書の表示整形

="発行日:" & TEXT(TODAY(),"yyyy年m月d日")

→ 「発行日:2025年10月20日」ときれいに表示。


注意点

  1. VALUE/DATEVALUEは文字列しか変換できない
     → すでに数値や日付の場合は変化なし。
  2. TEXTで整形した値は“文字列扱い”になる
     → 再計算や並べ替え時はVALUEで戻す必要あり。
  3. ロケール(地域設定)によって日付解釈が変わる
     → 「10/11/2025」は国によって10月11日か11月10日になる可能性あり。

まとめ

  • VALUE関数:文字列 → 数値(計算できるように)
  • DATEVALUE関数:文字列 → 日付(経過日数などに使う)
  • TEXT関数:数値・日付 → 文字列(見た目を整える)
  • 3つを使い分けると、文字化け・データ形式エラーを防止できる

データ整形の最終ステップとして、
“文字・数値・日付の相互変換” を自在に扱えるようになれば、
どんなExcelデータもスムーズに処理できるようになります。

コメント