ExcelでIFERROR関数を使って日付を表示しようとした際、5桁程度の数字(シリアル値)が表示され、セルの書式変更や区切り位置の操作をしても日付にならないことがあります。この現象は、Excelの日付管理の仕組みや、数式結果の扱いが原因で発生するケースがあります。この記事では、IFERROR関数で返された日付がシリアル値になる理由と、正しい日付表示へ変更する具体的な方法を解説します。
Excelの日付が5桁の数字になる理由
Excelでは日付を内部的に「シリアル値」という数字で管理しています。例えば、2024年1月1日はExcel内部では「45292」のような数値として保存されています。
通常のセルでは表示形式を「日付」に変更することで、人が見やすい年月日の形式に変換されます。しかし、数式の結果やセルの状態によっては、このシリアル値がそのまま表示される場合があります。
つまり、5桁の数字が表示されている場合、データが壊れているのではなく、Excelが日付として認識している可能性があります。
IFERROR関数で日付表示されない主な原因
IFERROR関数は、数式でエラーが発生した場合に別の値を返すための関数です。しかし、IFERROR自体には日付形式へ変換する機能はありません。
例えば、以下のような数式の場合があります。
=IFERROR(A1,””)
この場合、A1に日付データが入っていれば、その値をそのまま返します。しかし、返された結果のセル書式が「標準」になっていると、日付ではなくシリアル値として表示されます。
また、元データが文字列の日付になっている場合や、計算結果が数値として扱われている場合も、単純な書式変更では直らないことがあります。
セルの表示形式を日付に変更する方法
まず試したい方法は、IFERROR関数の結果が入っているセルの表示形式を変更することです。
手順は以下の通りです。
1. 日付を表示したいセルを選択する
2. 右クリックして「セルの書式設定」を開く
3. 「表示形式」タブを選択する
4. 「日付」を選択する
5. 希望する年月日の形式を指定する
これでシリアル値が日付表示になる場合は、データ自体は正常です。
ただし、表示形式を変更しても5桁の数字のままの場合は、Excelがその値を日付として扱っていない可能性があります。
TEXT関数を使って日付形式に変換する方法
数式の結果を確実に日付表示したい場合は、TEXT関数を組み合わせる方法があります。
例えば、以下のように設定します。
=IFERROR(TEXT(A1,”yyyy/m/d”),””)
この方法では、A1の値を年月日の文字列として表示できます。
例えば、A1がExcelの日付シリアル値「45292」の場合でも、「2024/1/1」のような表示になります。
ただし、TEXT関数の結果は文字列になるため、その後の日付計算に利用する場合は注意が必要です。
DATE関数やVALUE関数で日付として認識させる方法
元データが文字列になっている場合は、Excelが日付として認識できていないことがあります。その場合はVALUE関数などを利用します。
例として、以下のような数式があります。
=IFERROR(VALUE(A1),””)
VALUE関数によって文字列を数値化することで、Excelが日付シリアル値として処理できる場合があります。
また、年月日が別々のセルに分かれている場合は、DATE関数を使って日付データを作成する方法もあります。
区切り位置で変換できない場合の確認ポイント
区切り位置機能で日付に変換できない場合、対象セルのデータが単純な数値ではない可能性があります。
確認するポイントは以下の通りです。
・セルの先頭に「’」が付いていないか
・余分なスペースが含まれていないか
・数式結果が文字列になっていないか
・IFERRORの返り値が文字列指定になっていないか
例えば、IFERROR関数で空白を返すために「””」を設定している場合、結果全体が文字列として扱われるケースもあります。
IFERRORで日付を扱う場合のおすすめ設定
日付データを扱う場合は、IFERRORの中で表示形式まで考慮するとトラブルを防ぎやすくなります。
例えば、単純に日付計算を続けたい場合は、以下のように日付シリアル値を維持する方法がおすすめです。
=IFERROR(A1,””)
表示だけをきれいにしたい場合は、TEXT関数を利用します。
=IFERROR(TEXT(A1,”yyyy/mm/dd”),””)
どちらを使うかは、その後に日付計算をするか、表示だけが目的なのかによって判断するとよいでしょう。
まとめ|IFERRORの日付が数字になる場合は形式とデータ種類を確認する
ExcelでIFERROR関数を使った結果が5桁のシリアル値になる場合、多くはデータが日付として保存されているものの、表示形式が適切ではないことが原因です。
まずはセルの書式設定で日付形式へ変更し、それでも直らない場合はTEXT関数やVALUE関数を使ってデータ形式を調整しましょう。
Excelの日付は内部的には数字で管理されているため、シリアル値が表示されること自体は異常ではありません。表示目的なのか計算目的なのかを考えて、適切な方法で変換することが重要です。


コメント