概要
「文字列で入力された日付」を“Excelのシリアル値(数値)”に変換したいときは、VALUE関数が使えます。VALUEは「数値として解釈可能な文字列」を数値化し、日付文字列なら“日付シリアル値”、時刻文字列なら“時刻の小数部”に変換します。日本環境で安定させるなら、日付はDATEVALUE、時刻はTIMEVALUEと組み合わせるのがおすすめです。
基本の使い方
書式
=VALUE(文字列)
- “2025/12/17” のような“日付文字列”を数値(シリアル値)に変換します。
- 同様に “08:30” などの“時刻文字列”も数値化され(1日の小数部)、日付+時刻の文字列もまとめて変換できます。
例(文字列の日付をシリアル値に)
=VALUE("2025/12/17")
結果は大きな整数(例:45730のような値)。表示形式を「yyyy/mm/dd」にすると日付として見えます。
例(DATEVALUE/TIMEVALUEでより安全に)
=DATEVALUE("2025/12/17")
=TIMEVALUE("08:30")
=DATEVALUE("2025/12/17") + TIMEVALUE("08:30")
地域設定による解釈のブレが少なく、日付・時刻の用途ではこちらが推奨です。
具体例
セル内の文字列日付を“シリアル値”へ(C2が文字列)
=VALUE(C2)
C2が “2025/12/17” なら数値へ変換。見やすくするにはセルの表示形式を「yyyy/mm/dd」に。
文字列の“日付+時刻”をまとめて数値へ
=VALUE(D2)
D2が “2025/12/17 08:30” の場合、整数部が日付、少数部が時刻。表示形式を「yyyy/mm/dd hh:mm」に。
誤解釈を避けるための“分離変換”
=DATEVALUE(E2) + TIMEVALUE(F2)
E2=”2025/12/17″、F2=”08:30″ のように分けて変換すると安全。
応用テンプレート
“文字列”から日付型へ一括変換して計算可能に(動的配列)
=DATEVALUE(A2:A100)
縦に並んだ文字列日付を一括で“日付型シリアル値”へ。後続のWEEKDAYやEDATEと組み合わせて集計が安定します。
文字列の「所要時間(分)」を日時に加算
出発日時(すでに日付型)に、文字列の分数を加算する例:
=出発日時 + VALUE(分文字列)/1440
“数値に見えるが文字列”の日付を正規化して並べ替え可能に
=DATEVALUE(TEXT(A2,"yyyy/mm/dd"))
一度TEXTで書式化→DATEVALUEで正規の日付型へ。
変換後の“見せ方”を整える
数値に変換したセルは、表示形式を以下のように設定します:
- 日付なら「yyyy/mm/dd」
- 日付+時刻なら「yyyy/mm/dd hh:mm」
- 時刻だけなら「hh:mm」または「[h]:mm」
よくあるつまずきと対策
地域設定による解釈ブレ
VALUEは環境のロケールに依存します。”12/07/2025″ が「MM/DD」か「DD/MM」か曖昧になることがあります。日本環境では「YYYY/MM/DD」を使い、より安全にするなら DATEVALUE/TIMEVALUE を使ってください。
文字列であることが前提
VALUEは“文字列”を数値化する関数です。すでに日付型のセルに対してVALUEを使う必要はありません(そのまま日付として扱えます)。
計算は数値、見せ方は表示形式
VALUEで数値化した結果が“ただの数字”に見えるのは正常です。見やすくするにはセルの表示形式を日付・時刻に設定します。文字列に戻したいなら TEXT を使います。
不正な文字混入(全角・余計な文字)
“2025/12/17”(全角)や前後に空白・文字があると失敗します。TRIMで空白除去、SUBSTITUTEで不要文字を取り除いてからVALUE/DATEVALUEへ渡すと安定します。
=DATEVALUE(SUBSTITUTE(TRIM(A2),"年","/"))
例題
問題1: C2が文字列 “2025/12/17” のとき、シリアル値に変換してD2に表示してください。
=D2: =VALUE(C2)
D2の表示形式を「yyyy/mm/dd」に設定。
問題2: E2が文字列 “2025/12/17 08:30” のとき、日時のシリアル値に変換してF2に表示してください。
=F2: =VALUE(E2)
F2の表示形式を「yyyy/mm/dd hh:mm」に設定。
問題3: G2が文字列の“日付”、H2が文字列の“時刻”の場合、合成した日時をI2に表示してください(安全な分離変換)。
=I2: =DATEVALUE(G2) + TIMEVALUE(H2)
I2の表示形式を「yyyy/mm/dd hh:mm」に設定。
問題4: J2に“日付型”の出発日時があり、K2が文字列 “45”(分)の所要時間。到着見込み日時をL2に表示してください。
=L2: =J2 + VALUE(K2)/1440
問題5: 文字列の日付が混在するA2:A100を“正規の日付型”に一括変換してB2から下へ表示してください。
=B2: =DATEVALUE(A2:A100)
(Microsoft 365の動的配列で一括出力。表示形式を「yyyy/mm/dd」に設定)
まとめ
VALUEは「数値として解釈可能な文字列」をシリアル値へ変換し、日付・時刻の文字列も数値化できます。ロケールのブレを避けるなら日付はDATEVALUE、時刻はTIMEVALUEを優先し、必要に応じて文字列整形(TRIM/SUBSTITUTE)を挟む。計算は数値で、見せ方は表示形式——この設計で、文字列混在の台帳や外部データ取り込み後の“日付の正規化”が堅牢に進みます。
