[0406] 表計算,日数関数

平成14年度秋期 初級システムアドミニストレータ試験より
“日数(y,m,d)”は,基準日からy年m月d日までの日数を算出する関数である。この関数を用いて,あるプロジェクトの作業日数を表計算ソフトで計算したい。基準日が2000年1月1日で,開始年月日が2000年4月18日,終了年月日が2002年10月25日のときの作業日数を求める計算式として,適切なものはどれか。
日数(2002,10,25) - 日数(2000,4,18)- 日数(2000,1,1)
日数(2002,10,25) - 日数(2000,4,18)- 1
日数(2002,10,25) - 日数(2000,4,18)
日数(2002,10,25) - 日数(2000,4,18)+ 1

正解

解説

 “日数(y,m,d)”は,2000年1月1日からy年m月d日までの日数を算出する関数と説明されています。いくつか例を挙げると,
    日数(200,1,1) → 0
    日数(200,1,2) → 1
    日数(200,1,31) → 30
    日数(200,2,1) → 31

というようになります。

 ここで選択肢をみていきましょう。問題文では作業開始日が 2000年4月18日,作業終了日が 2002年10月25日と長期にわたるので,計算が複雑になってしまいます。以下では,式が正しいか簡単に確認できるよう,作業日数が 2000年1月2日の 1日間だけ,つまり作業開始日と作業終了日が同日となると読み替えて考えていきます。


 日数(2002,10,25) - 日数(2000,4,18)- 日数(2000,1,1)
日数(2000,1,2) - 日数(2000,1,2)- 日数(2000,1,1) = 1 - 1 - 0 = 0

 日数(2002,10,25) - 日数(2000,4,18)- 1
日数(2000,1,2) - 日数(2000,1,2)- 1 = 1 - 1 - 1 = -1

 日数(2002,10,25) - 日数(2000,4,18)
日数(2000,1,2) - 日数(2000,1,2)= 1 - 1 = 0

 日数(2002,10,25) - 日数(2000,4,18)+ 1
日数(2000,1,2) - 日数(2000,1,2)+ 1 = 1 - 1 + 1 = 1


 作業日数 1日と正しく算出できた選択肢エが正解となります。
※ 解説の内容は執筆時点のものであり,含まれている情報の正確性,妥当性について保証するものではありません。ご注意ください・・・

関連する(かもしれない)問題