【Googleスプレッドシート】日付や時刻はホントは数字って知ってた?シリアル値のお話

スポンサーリンク

スプレッドシートの日付や時刻はホントは数字って知ってた?

スプレッドシートの内部では、日付や時刻は「シリアル値」という数字で管理されています。

スポンサーリンク

日付のシリアル値

スプレッドシートの日付のシリアル値は「1899/12/30」を「0」として1日増えるごとに1増えるというからくりです。つまり「1899/12/31」は「1」です。

※ちなみに、EXCELの日付のシリアル値の起算日は、「1900/1/0」が「0」となります。ただしExcelには1900年2月29日が存在しGoogleスプレッドシートには存在しない(この日付は実際は存在しなかったもの)ため、シリアル値61(=1900/3/1)以降はシリアル値と日付の対応が一致します。

時刻のシリアル値

時刻のシリアル値は、日付との兼ね合いと合わせるために、24時間を1とした小数で管理されています。例えば「12:00」は1日の2分の1なので「0.5」になりますね。

日付と時刻のシリアル値

日付と時刻のシリアル値は、両者を足すことで表現できます。先程の「2020/6/21」の「12:00」は、両者のシリアル値を足した「44003+0.5」で「44003.5」となります。

シリアル値の確認方法

そもそも、スプレッドシートにとっては日付も時刻も数字です。表示の方法(表示形式)で日付や時刻のように出しているだけなんですね。スプレッドシートは賢いので、セルに日付のような文字列を入れるときちんと日付だと認識して、表示形式を「日付」に設定します。

つまり、シリアル値を確認したい時は、日付を入れたセルの表示形式を「数値」にして、入ってる数字をそのまま表示させればいいということになります。

動画で見てみましょう。

関数を使って確認する

関数を使ってシリアル値を確認することも出来ます。

構文

=VALUE(文字列)

「VALUE関数」を使います。

B5セルに「=VALUE(B2)」を入力すると

確定すると

「1899/12/30」が「0」になりましたね。

「2022/5/15」は、「44696」になります。

このように、日付や時刻はシリアル値という数字なので、表示形式を変更することでそれがどんな数字なのか分かります。数式で計算することで、日付の差を計算することも可能です。

コメント

タイトルとURLをコピーしました