Excel 文字列の日付をシリアル値に変換(DATEVALUE関数)

2024年3月29日

English version.

DATEVALUE関数は文字列で表現されている日付を日付(シリアル値)に変換する関数です。

通常のセル入力では使用しませんが、文字列を結合して日付を作ったり

他アプリケーションから取り込んだ日付が文字列となっている場合があるので

それを日付に変換したい場合などに使用します。

時刻は切り捨てられてしまうので、それも含めて変換する場合はVALUE関数を使用しましょう。

仕様

=DATEVALUE(日付文字列)
引数省略時の値説明
日付文字列省略不可変換したい文字列を指定。
許容される範囲や形式はOSやバージョンに依存。
各引数の詳細

実行例

環境によって動作は異なりますが、

Office365のWIndows10の環境では、このように動作します。

DATEVALUE関数の実行例。正常ケース、形式混在ケース、形式不正ケースなど

結果として数値が表示されますが、書式設定で表示形式を日付に変更すると

日付文字列に対応する日付が表示されます。

日付の区切り(-と/)

日付の区切りは-でも/でも許容され、混在しても正常に変換されます。

年月日と和暦

年月日形式も元号も正常に変更されます。

OSとExcelが令和対応バージョンなら新元号も正常に扱われますが、

元年はエラーとなるのでSUBSTITUTE関数などで1年に変換する必要があります。

=SUSUBSTITUTE(日付文字列,"元年","1年")

また漢字の表記と-と/の区切りが混在してもエラーとなります。

英語表記

Jan(1月)のような表記もOKですが、

順番も英語表記として月日年とする必要があります。

スピルを利用する方法とメリット

Office365やExcel2019以降ではスピルという形式で記述可能です。

これは複数セルに数式をコピーする場合に便利な機能です。

スピルの利用には複数セルの範囲で指定します。

スピルでDATEVALUE関数を記述する例
スピルでDATEVALUE関数を記述する例

数式を入力するのは最初の一つのセルですが、

引数1で指定した高さ分、数式がセルのコピーなしで自動拡大されます。

B3に指定したDATEVALUE関数がB17まで自動拡大
B3に指定したDATEVALUE関数がB17まで自動拡大

スピルを利用することで今回の例では、

B3セルに入力するだけでよいため(B17以降にコピーペーストが不要)

以下のメリットがあります。

  • 入力の手間が少ない(数式のセルが多いほど効果が大きい)
  • 数式を編集した時、コピー忘れのリスクがない(最初のセルを更新すると全セルに反映)
  • 絶対参照が不要
  • 途中に行を追加した場合、数式のコピー&ペーストが不要。行削除でも壊れにくい。

Excel完全マスター: 関数・テクニック・新機能を網羅した決定版ガイド

本書は、Excelの基礎から応用まで、包括的に学べるガイドブックです。当サイトの豊富な情報を、電子書籍向けに最適化し、読みやすく再構成しました。

【本書の特徴】

  • 情報量:Word-A4サイズ換算で1,400ページ相当
  • 基本操作から高度なテクニックまで、段階的に学習可能
  • 140種類の関数を詳細に解説
  • 109種類の実用的なテクニックと具体例を紹介
  • 最新機能(XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピル等)を徹底解説

【対象読者】

  • Excel初心者からプロフェッショナルまで
  • 体系的にExcelスキルを向上させたい方
  • 業務効率化を目指すビジネスパーソン
  • データ分析や可視化のスキルを磨きたい方

【本書の強み】

  • 実務に即した例題と解説
  • 視覚的な図表やスクリーンショットで理解を促進
  • 最新のExcelバージョンに対応した内容
  • 著者の長年の経験に基づく、実践的なTipsを多数収録

【更新とサポート】

  • 常に最新の情報を反映するため、定期的に内容を更新
  • 最新版の入手方法:Amazonカスタマーサポートへお問い合わせください

【入手方法】

  • 買い切り:950円
  • Kindle Unlimited:読み放題プランで利用可能

Excelマスターを目指す方、業務効率を劇的に向上させたい方に、自信を持っておすすめできる一冊です。この1冊で、Excelの可能性を最大限に引き出す力が身につきます。

関連記事

類似機能の関数

年、月、日を指定して日付(シリアル値)を取得(DATE関数)

年、月、日それぞれの数値を指定して日付を算出する同系の関数。

文字列の時刻をシリアル値に変換(TIMEVALUE関数)

関数の仕様と使い方の記事一覧