出勤・退勤時刻の記録や給与計算、請求書など、日付や時刻を入力したり計算することは多い。ところが、日付や時刻は普通の数値のようには計算できず、なかなか面倒。苦手意識を持っている人も多いのでは? そこでこの特集では、よく使われる日付・時刻計算ごとに解決ポイントを公開! これで日付・時刻の計算は怖くない!
Excelの日付や時刻 自由自在――インデックス
Excelの日付・時刻の正体は
数値(シリアル値)+表示形式(見た目を変える)
Excelでは、日付や時刻のデータも足したり引いたりの計算ができます。例えば、11月30日の5日後を出したいとき、「11月30日」と入力したセルと「5」と入力したセルを足せば「12月5日」という結果が求められます。
この計算では、Excelが「11月30日」を日付データとして認識しているので、計算結果も日付になりました。こういった計算は、どんな仕組みで行なわれているのでしょうか? 日付データと普通の数値の違いをここで理解しましょう。
日付を入力すると「日付の表示形式」が付く
上の画面のように「月/日」の形式で入力すると、自動的に日付データとなります。Excelは「月/日」や「月-日」などの形式で入力された値を「日付」と判断するからです。このとき、「12/1」とだけ入力すると、入力したその年の日付になり、数式バーには「2008/12/1」と表示されます。
そして日付のデータに対しては、入力と同時に2つのことを行ないます。まず、日付を「シリアル値」という数値データに変換します。日付のシリアル値とは、「1900/1/1」を「1」として、1日に1ずつプラスした値です。「1900/1/2」のシリアル値は「2」で、そのまま1ずつ増えていき、「2008/12/1」は「39783」となります。
つまり「2008/12/1」と入力したセルには、実際は「39783」という数値が入力されるのです。日付データを足したり引いたりできるのはこの値を使って計算するからです。
何日目かを数える「シリアル値」
日付 | 何日目(シリアル値) |
---|---|
1900/1/1 | 1 |
1900/1/2 | 2 |
…… | … |
1900/1/10 | 10 |
…… | … |
2008/12/1 | 39783 |
日付は入力すると自動的にシリアル値になる。シリアル値は「1900/1/1」を「1」とし、1ずつ増えていき、日付が「1900/1/1」から数えて何日目になるかを表わす。「2008/12/1」は「39783」日目。
もうひとつ、日付を入力したときに行なわれるのが、表示形式の設定です。例えば、「12月1日」と入力したセルには実際は「39783」という数値が入っていますが、自動的に日付の表示形式が設定されるため「12月1日」と見えているのです。
このように日付データは「シリアル値」に日付の「表示形式」が加えられて表示されています。ここでは日付について詳しく説明しましたが、「9:00」のように「:」(コロン)で区切った時刻データも、その正体はシリアル値と表示形式の組み合わせです。
こういう仕組みなので、日付・時刻の計算は、シリアル値と表示形式の両方を意識する必要があるのです。
コレ便利
知ッ得-1
日付は入力するとすぐに日付の表示形式が設定されるため、普通はそのシリアル値を目にすることはない。
シリアル値を見るには、標準の表示形式にすればいい。
セルを選択してツールバーの[桁区切りスタイル]ボタンをクリックしても簡単に分かる(Excel 2003まで)。
(次ページ、「日付と時刻の3大テクニック」に続く)
この連載の記事
-
第4回
ビジネス
時間関数を極めれば 面倒な給与計算がサクッと終わる! -
第3回
ビジネス
Excelの日付関数を使いこなせば、こんなに便利!【後編】 -
第2回
ビジネス
Excelの日付関数を使いこなせば、こんなに便利!【前編】 - この連載の一覧へ