Cafe HOUKOKU-DOH

~ホッとひと息的な読み物でブレイクするサイト~

Office基礎223【Excel】DATEVALUE関数を使ってもシリアル値に変換できない

先週のBLOGでは、文字列として入力された日付を、Excelが計算できる「シリアル値」という形式に変換する便利な関数「DATEVALUE関数」を紹介した。例えば、「2024/5/20」という文字列を、計算可能な数値に変換してくれる優れものだ。

 

blog.houkoku-doh.com

 

しかし、この万能に見えるDATEVALUE関数を使っても、なぜかエラーが出てしまうことがある。様々なアプリケーションやクラウドサービスからデータをダウンロードした際に、この問題は起こりやすい。

 

そんな時、まず疑うべきはセルの見た目ではなく、その中身だ。特に確認してほしいのが、数字と「年」「月」「日」といった文字の間に、不要なスペースが紛れ込んでいないだろうか。

 

セルに「昭和50年 5 月14 日」と入力されているケースを考えてみよう。一見すると普通の日付データに見える。しかし、よく見ると「昭和50年」と「5月」の間に半角スペースが入っている。実は、DATEVALUE関数は、こうした予期せぬスペースが存在すると、日付として正しく認識できずにエラーを返してしまう。

 

 

 

店主の経験上、この「見えないスペース」問題は、特に和暦(令和、平成など)で出力されたデータを扱う際によく見られる。

シートにもよるが、スペースを削除しただけで表形式が自動的に日付表示に変わるケースもあり、その場合には、「DATEVALUE関数」は不要である。スペースを削除した際に値が右揃えになり、表形式で日付の種類を変更(たとえば和暦⇒西暦)できれば、シリアル値として認識されている。

 

まずは「不要なスペース」を疑ってみよう。