エクセル2013で説明しています。DOリストのエクセル小技の4回目は、期限までの残日数を表示する方法です。今回は残日数を延べ日数で計算します。仕事で使う場合、休日を除いた稼働日数で表示したい人もいるでしょう。その方法は次回ご紹介する予定です。残日数を計算する式は「=DATEDIF(TODAY(),期限のセル番地,"D")」です。DATEDIF関数は開始日と終了日を指定して、その間の年数、月数、日数などを計算する関数です。従って、開始日に今日の日付(=TODAY関数)、終了日に期限日、"D"(日数を計算するためのDATEDIF関数特有の引数)を指定します。ちなみに、期限の日付と現在の日付がイコール(今日が締切日だ!という時)だと残日数がゼロで表示されます。今日が締切日のときに残日数を1で表示したいならば、「=DATEDIF(TODAY(),期限のセル番地+1,"D")」に式を修正してください。これでほぼ完成なのですが、欠点があります。それは、期限が空白だったり、期限を過ぎたりすると、エラー表示になる点です。エラー表示をなくすには、「=IF(ISBLANK(期限のセル番地),"",IF(期限のセル番地<TODAY(),"期限超",DATEDIF(TODAY(),期限のセル番地,"D")))」を入力します。下の表の例だと「=IF(ISBLANK(D3),"",IF(D3<TODAY(),"期限超",DATEDIF(TODAY(),D3,"D")))」になります。最初にISBLANK関数で期限の入力有無の判断をしています。その判断に基づき、IF関数で期限が未入力ならば空白("")を表示し、入力ならば次のIF関数に進みます。次のIF関数では、期限が現在の日付よりも小さいかを判断し、小さければ期限超を表示し、同じか大きければDATEDIF関数で残日数を計算して表示しています。入れ子のIF関数で式が長いのですが、がんばって読み解いてみてください!まとめです。残日数を計算する式は「=DATEDIF(TODAY(),期限のセル番地,"D")」です。現在の日付と期限日が同日の場合、上記の式では残日数がゼロになります。1にしたい場合は、第2引数を「期限のセル番地+1」にします。期限の空白や期限過ぎによるDATEDIF関数のエラーを非表示にするには、「=IF(ISBLANK(期限のセル番地),"",IF(期限のセル番地<TODAY(),"期限超",DATEDIF(TODAY(),期限のセル番地,"D")))」を入力する。エクセル2013で説明しています。エクセル2013で説明しています。エクセル2013で説明しています。エクセル2013で説明しています。エクセル2013で説明しています。