スプレッドシートの日付や時刻はホントは数字って知ってた?
スプレッドシートの内部では、日付や時刻は「シリアル値」という数字で管理されています。
日付のシリアル値
スプレッドシートの日付のシリアル値は「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関数」を使います。
B5セルに「=VALUE(B2)」を入力すると
確定すると
「1899/12/30」が「0」になりましたね。
「2022/5/15」は、「44696」になります。
このように、日付や時刻はシリアル値という数字なので、表示形式を変更することでそれがどんな数字なのか分かります。数式で計算することで、日付の差を計算することも可能です。
コメント