日数・日付関連の計算について、何度かご紹介しています。
日数・日付関連計算の一つ、DATEDIF関数を使った年齢計算は、このサイトの人気ページの一つです。
DATEDIF関数は、大人の事情で[関数の挿入]ダイアログなどから挿入できないこともあり、結構有名だったりします。
しかしそのことによって、Excelの日数計算はDATEDIF関数を使わないとできない、と思い込んでる方もいらっしゃるようですが、そんなことはありません。
Excelで日数計算を行う基本
Excelでは、ある日付ともう一つの日付の間が何日あるのか、といった単純な期間日数の計算なら、関数は一切使わず引き算だけでできてしまいます。
※A2セルに開始日、B2セルに終了日が入力されているとき、C2セルにその間の日数を表示する例 C2セルに
「=B2-A2」
という計算式を入力
↓
C2セルの表示形式を「標準」または「数値」にする
例えば
A2セルに「2007/1/1」
B2セルに「2007/8/30」
という日付データが入力されているときに
C2セルに「=B2-A2」という計算式を入力すると
「1900/8/28」
といった表示になってしまいます。
これはExcelが表示形式を「日付」にしてしまうためです。
この「1900/8/28」という表示を見て日数計算を引き算ではできない、と思ってしまう方もいらっしゃいますが、実はこれで計算は正しく行われています。
正しい計算結果が表示されるように表示形式を変更すればいいのです。
表示形式を「日付」ではなく、「標準」や「数値」にしてやればいいわけです。
[セルの書式設定]ダイアログ−[表示形式]タブの[分類]欄で、「標準」や「数値」に設定してやれば、上記の例であれば2007年1月1日から2007年8月30日までの日数「241」が表示されます。
「241」という数値を
「日付」表示形式で表示したのが
「1900/8/28」だったのです。
サンプルファイル
▼サンプルファイル(002789.xls 15KByte)ダウンロード
サンプルファイルでは、「=B2-A2」という計算式を、C2セルとC3セルに入力し、C2セルを表示形式:「標準」、C3セルを表示形式:「日付」に設定してあります。
例えば、
A2セルを「2007/1/1」
B2セルを「2007/1/2」
にしたらどうなるか、
A2セルを「2007/1/1」
B2セルを「2007/1/1」
にしたらどうなるか、
A2セルを「2007/1/2」
B2セルを「2007/1/1」
にしたらどうなるか、
などお試しください。
そして、日付データはシリアル値という数値なので、日数計算は基本的に引き算を行って、正しく書式設定すればできるということをご理解ください。
また、以下のようなネタも合わせてご参照ください。
- Newer:Vistaでメニューを表示するには−Altキー
- Older:カレントドライブを変更する−ドライブレター:
Home » Excel(エクセル)の関数・数式の使い方 » 日付の処理・計算 » 日数計算をする−引き算