「シリアル値」って何?

[Excel 2016/2013/2010]

Excelで日付を思い通りに操作するには、「シリアル値」の理解が欠かせません。ここでは、シリアル値について解説します。

スポンサーリンク

日付のシリアル値

Excelの内部では、日付データは「シリアル値」と呼ばれる数値で管理されます。日付のシリアル値は、「1900/1/1」を「1」として数えた整数の連番です(図1)。

図1 日付のシリアル値

日付を数値化することで、数値と同じように計算できるメリットがあります。例えば、セルB2に「2017/12/24」、セルB3に「=B2+1」と入力してみましょう。セルB3には「2017/12/25」と表示されるはずです(図2)。

図2 「=B2+1」と入力すると、「2017/12/25」と表示される。

「2017/12/24」のシリアル値は「43093」なので、Excelの内部では「43093+1」の計算が行われ、「43094」という結果になります。「43094」という数値は「2017/12/25」のシリアル値なので、セルには「2017/12/25」と表示されるのです。

メモ

存在しないはずの「1900/2/29」が存在する!?
「1900/2/27」と入力してオートフィルを実行すると「1900/2/28」「1900/3/1」「1900/3/2」…という連続データが入力されるはずですが、実際にやってみると「1900/2/28」と「1900/3/1」の間に「1900/2/29」が入力されてしまいます。「1900/2/29」は存在しない日付ですが、Excelでは存在することになっているのです。
そのため、「1900/2/29」をまたいだ日付の計算を行うと1日ずれてしまうので注意してください。例えば、「="1900/3/1"-"1900/2/28"」の結果は本来「1」のはずですが、Excelでは「2」となってしまいます。
なお、「1900/3/1」以降の日付同士で計算する場合はこうした問題は発生しないので、安心してください。

シリアル値と表示形式

Excelにとって日付データの実体は数値というわけですが、数値を数値として表示するか日付として表示するかは、セルの「表示形式」によって決まります。日付を入力したセルに[標準]という表示形式を設定すると、日付がシリアル値に変わります(図3図4)。

図3 日付のセルを選択して、[ホーム]タブの[表示形式]の一覧から[標準]を選択すると……。

図4 日付がシリアル値に変わる。

反対に、数値を入力したセルに何らかの日付の表示形式を設定すると、その数値に対応する日付に変わります(図5図6)。ただし、Excelで扱えるのは「9999/12/31」(シリアル値「2958465」)までの日付なので、「2958466」以上の数値は日付に変わりません。

図5 数値のセルを選択して、[ホーム]タブの[表示形式]の一覧から[短い日付形式]を選択すると……。

図6 数値が日付に変わる。

メモ

日付を算出したはずなのに数値が表示されるときは
日付計算用の関数の中には、結果を日付として返すものと、シリアル値で返すものがあります。例えば、DATE関数は結果を日付として返す関数で、初期状態のセル([標準]の表示形式が設定されたセル)にDATE関数を入力すると、表示形式が自動で[日付]に変わります。
それに対して、EDATE関数、EOMONTH関数、WORKDAY関数などは結果をシリアル値で返すので、初期状態のセルに関数を入力すると日付ではなく数値が表示されます。そんなときは、手動で[日付]の表示形式を設定すれば、各関数の結果を正しく日付として表示できます。
なお、YEAR関数、MONTH関数など、引数にシリアル値を指定する関数では、シリアル値の代わりに日付を指定してもかまいません。

時刻のシリアル値

Excelでは、時刻データも「シリアル値」で管理されます。日付のシリアル値は1日が「1」なので、時刻のシリアル値は24時間を「1」として換算した小数になります(図7)。例えば、「12:00」は1日の半分なので、シリアル値は「0.5」です。

図7 時刻のシリアル値

同じセルに日付と時刻を入力した場合、そのシリアル値は日付のシリアル値と時刻のシリアル値を足した数値になります。例えば、「2017/12/24 12:00」のシリアル値は、「2017/12/24」の「43093」と「12:00」の「0.5」を足した「43093.5」になります。

試しに、セルに「43093.5」と入力して、「yyyy/m/d h:mm」というユーザー定義の表示形式を設定してみましょう。セルの表示が「2017/12/24 12:00」に変わります(図8図10)。

図8 「43093.5」と入力したセルを選択して、[ホーム]タブの[数値]グループの右下隅にある小さなボタンをクリックする。

図9 [セルの書式設定]ダイアログボックスの[表示形式]タブが開いたら、[分類]から[ユーザー定義]を選び、[種類]欄に「yyyy/m/d h:mm」と入力して[OK]ボタンをクリックする。

図10 「43093.5」に対応する日付と時刻が表示された。

メモ

シリアル値「0.5」は「1900/1/0 12:00」
Excelで扱える日付の範囲は「1900/1/1」から「9999/12/31」までですが、実際には「0:00」のシリアル値「0」に対応する「1900/1/0」も日付扱いとなります。
「0」や「0:00」が入力されたセルにユーザー定義の表示形式「yyyy/m/d h:mm」を設定すると、「1900/1/0 0:00」と表示されます。また、「0.5」や「12:00」が入力されたセルに設定した場合は、「1900/1/0 12:00」と表示されます。
スポンサーリンク

関連記事