わえなび ワード&エクセル問題集

当サイトはWordとExcelの実力を鍛える最高水準の特訓問題集です。リンクを張るのは自由です。みんなで勉強しましょう!

【Excel】完全マスター!日付の足し算と引き算を使った日数の計算問題

Excelは1日=24時間を「1」として扱い、1900年1月1日を1日目としてその経過日数で1900年以降の日付を管理しています。これをシリアル値と言います(【Excel】日付の「シリアル値」を本気で理解するには何を練習するべきか?)。なぜシリアル値という連番で管理しているかと言えば、日付を足し算・引き算するためです。Excelは日付をする計算機でもあります。

Excelでカレンダーや月間予定表を作るときに、シリアル値を理論的に理解できている人と適当に理解している人では作り方が全く違います

そこで、今回は、何日前、何日後、残り日数の計算方法と、連続する日付の入力方法のいろいろなパターンを練習してみましょう。

 

 

目次

1.何日後・足し算

問題

2020/1/1の100日後の日付を求めなさい。

解説

1月1日に100日を加算すると「1月101日」になりますが、うるう年などを考慮しながら100日後が計算できるのはシリアル値で管理しているからです。2020/1/1と100を足します。

f:id:waenavi:20190831172041j:plain

 

2020/4/10となります。

f:id:waenavi:20190831172139j:plain

 

2020/1/1に100を加算すると、シリアル値で43831+100=43931と計算され、43931に相当する日付である2020/4/10が表示されます。

f:id:waenavi:20190831172234j:plain

 

別解

2020/1/1をダブルクォーテーションで囲むと、文字列です。

f:id:waenavi:20190831173722j:plain

 

これはシリアル値ではありません。しかし、100を足すことによってシリアル値として扱われます。43931となります。

f:id:waenavi:20190831173758j:plain

 

日付の表示形式にします。

f:id:waenavi:20190831173854j:plain

 

2.何日前・引き算

問題

2020/7/26の100日前~500日前の日付をそれぞれ求めなさい。

f:id:waenavi:20190831174211j:plain

 

解説

2020/7/26から100を引きます。

f:id:waenavi:20190831174827j:plain

 

オートフィルをします。これで完成です。このときシリアル値は100ずつ減っています。

f:id:waenavi:20190831174918j:plain

 

3.日数の差

問題

平成20年2月2日と平成30年3月3日の日数の差を求めなさい。

解説

半角で「h20/2/2」と入力します。これは平成20年2月2日のことで、数式バーには「2008/2/2」と表示されます。右揃えになったのでシリアル値が保存されたことが分かります。

f:id:waenavi:20190831175138j:plain

 

同様に「h30/3/3」と入力します。

f:id:waenavi:20190831175202j:plain

 

シリアル値は1900年1月1日からの経過日数なので、最近のほうがシリアル値が大きいです。

f:id:waenavi:20190831175318j:plain

 

過去よりも未来のほうがシリアル値が大きいのは明らかなので、h30/3/3からh20/2/2を引きます。3682日となります。

f:id:waenavi:20190831175353j:plain

 

4.初日と最終日と日数の計算

問題

Excelを用いて次の各設問に答えなさい。

(1)2021/7/20を初日として15日間の日程でイベントを行い、その最終日である15日目を千秋楽とするとき、千秋楽の日付を求めなさい。

(2)初日が2021/5/18、最終日が2022/3/31のイベントの開催日数を求めなさい。

(3)200日程度かかることが予想される論文作成の提出締め切りが2022/1/15である場合、何日に作業を始めれば間に合うか。 

解説

初日と日数から最終日を求める場合、最終日=初日+日数-1です。15日間の日程の場合、最終日は初日の14日後です。15ではありません。

f:id:waenavi:20190831180412j:plain

 

初日に14を足します。2021/8/3です。

f:id:waenavi:20190831180255j:plain

 

初日と最終日から日数を求める場合、日数=最終日-初日+1です。最終日から初日を引くだけでは1日足りないので1を加算します。

f:id:waenavi:20190831181606j:plain

 

318日です。

f:id:waenavi:20190831181741j:plain

 

日数と最終日から初日を求める場合、初日=最終日-日数+1です。

f:id:waenavi:20190831182251j:plain

 

199日前から開始すれば締め切り当日を含めて200日間になります。2021年10月8日です。

f:id:waenavi:20190831182512j:plain

 

5.残り日数

問題

(1)2022/1/15に入学試験があることが分かっている場合、2021/9/1~10について入試当日までの残り日数を求めなさい。

(2)2021/9/1~10について年末までの残り日数を求めなさい。

f:id:waenavi:20190831190936j:plain

 

解説

前述のとおり、イベントの最終日までの残り日数は、最終日-当該日付+1です。しかし、イベントの初日(本番)が分かっている場合、そのイベント本番の日は準備期間に含まれないので、その準備期間である残り日数(本番までの残り日数)は、本番当日-当該日付となります。

f:id:waenavi:20190831202305j:plain

 

絶対参照で引きます。

f:id:waenavi:20190831190805j:plain

 

表示形式を標準にします。

f:id:waenavi:20190831190807j:plain

 

年末である12月31日を年の最終日と考えると、今年の残り日数=大晦日-当該日付+1です。

f:id:waenavi:20190831191042j:plain

 

表示形式を標準にします。

f:id:waenavi:20190831191113j:plain

 

別解

年が明けて翌年の1日をイベント開始日と考えると、大みそかまでが年越しの準備期間と考えられます。今年の残り日数=翌年の元日-当該日付です。

f:id:waenavi:20190831191219j:plain

 

6.足し算・引き算の繰り返し

(1)足し算の繰り返し

問題

1行目から10行目に「2024/2/25」から10日間の日付を入力しなさい。また、初日を「2024/12/25」に変更しなさい。

f:id:waenavi:20190901031200j:plain

 

解説

「2024/2/25」と入力します。オートフィルをすることによって10日間の日付を入力することができます。

f:id:waenavi:20190831191628j:plain

 

これは連続するシリアル値(数値)を直接入力しただけなので、先頭の日付を変えても2日目以降の日付が変わることはありません。

f:id:waenavi:20190831191714j:plain

 

そこで、足し算を使います。1を足してからオートフィルをします。

f:id:waenavi:20190831192231j:plain

f:id:waenavi:20190831191957j:plain

 

初日を「2024/12/25」にすると連動して変わります。このように、初日が変わる可能性がある場合には足し算をします。

f:id:waenavi:20190831192027j:plain

 

(2)引き算の繰り返し

問題

2022/1/7~2021/12/20の日付を入力しなさい。また、初日を「2022/1/5」に変更しなさい。

f:id:waenavi:20190901031259j:plain

 

解説

「2022/1/7」と入力します。今度は引き算をします。

f:id:waenavi:20190831192303j:plain

 

1を引いてからオートフィルをします。

f:id:waenavi:20190831195526j:plain

 

初日を「2024/12/25」にすると連動して変わります。このように、引き算によってさかのぼる計算をすることができます。

f:id:waenavi:20190831195633j:plain

 

(3)1週間おきの日付

問題

2022年12月1日が木曜日であることが分かっている。2022年12月~翌年3月の木曜日の日付をすべて求めなさい。

f:id:waenavi:20190901031432j:plain

 

解説

2022年12月1日が木曜日であることが分かっている場合、その7日後も木曜日です。

f:id:waenavi:20190831195726j:plain

 

3月末までオートフィルをします。シリアル値が7ずつ増えるので、年を越しても正しく計算されます。

f:id:waenavi:20190831195809j:plain

 

(4)土日の日付を求める

問題

2022年12月3日の曜日を求め、2022年12月の土日の日付をすべて求めなさい。また、2023年1月の土日の日付をすべて表示しなさい。

f:id:waenavi:20190901031510j:plain

 

解説

2022年12月3日と入力し、イコールで参照します。

f:id:waenavi:20190831195923j:plain

 

表示形式を「aaa」にして曜日を表示します。

f:id:waenavi:20190831200005j:plain

 

土曜日であることが分かります。1を足すと日曜日の日付を求めることができます。

f:id:waenavi:20190831200044j:plain

 

土曜日の日付に7を足すと翌週の土曜に日付を求めることができます。

f:id:waenavi:20190831200140j:plain

 

以降7日ずつ足すことによって、土日の曜日を求めることができます。

f:id:waenavi:20190831200209j:plain

 

12月31日が土曜日です。翌年2023年1月1日が日曜日と言うことになります。そこで先頭を2023年1月1日にします。日曜日の次が月曜日なので日月の日付になってしまいました。

f:id:waenavi:20190831200347j:plain

 

2日目の数式を+6に変更します。

f:id:waenavi:20190831200423j:plain

 

7.連続する日付は足し算で求めなさい

問題

「12月21日」「1月1日」と入力し、それぞれオートフィルをして12月21日~1月11までの22日間の日付を入力した。

f:id:waenavi:20190831200532j:plain

 

さらに、その隣の列に曜日を入力した。

f:id:waenavi:20190831200625j:plain

 

この操作の問題点を指摘したうえで、連続した日付となるように修正しなさい。

f:id:waenavi:20190831200717j:plain

 

解説

12月21日、1月1日と入力してオートフィルをしましたが、年を省略して月と日だけを入力すると、入力している年が補完されて、シリアル値が計算されます。したがって、12月31日と1月1日は連続していません。

f:id:waenavi:20190831200952j:plain

 

1月を翌年の日付にするためには、西暦を入力しなければなりませんが、このような修正をするのは間違いです。

f:id:waenavi:20190831201045j:plain

 

連続する日付を入力するときには原則として1を加算します。最初の日付を入力したら、次の日付は1を足します。

f:id:waenavi:20190831201121j:plain

 

オートフィルをします。さらに12月31日に1を足します。

f:id:waenavi:20190831201155j:plain

 

右にコピーします。足し算をすればシリアル値で計算するので年を越しても日付が連続します。

f:id:waenavi:20190831201300j:plain

 

曜日も直接入力してはいけません。隣の列にシリアル値がありますから、イコールで参照するべきです。

f:id:waenavi:20190831201406j:plain

 

表示形式を「aaa」にします。

f:id:waenavi:20190831201516j:plain

 

先頭の日付を変えると、連動して日付と曜日が変わります。

f:id:waenavi:20190831201609j:plain

 

8.初日のシリアル値はどこに入れるべきか

(1)年・月・日を分けて入力するパターン

問題

次の図で2022年1月1日~10日の日付と曜日を表示しなさい。また、2023年4月11日~20日にしなさい。

f:id:waenavi:20190831201748j:plain

 

解説

西暦年と月を入力したとします。スラッシュで連結して1日の日付を求めます。

f:id:waenavi:20190831202619j:plain

 

表示形式を「d」にします。

f:id:waenavi:20190831202711j:plain

 

1を足して、オートフィルをします。

f:id:waenavi:20190831202744j:plain

 

セルには1~10の連番が表示されていますが、実際には44562~44571の連番を求めています。

f:id:waenavi:20190831202852j:plain

 

曜日を求めるため、イコールで参照します。

f:id:waenavi:20190831202923j:plain

 

表示形式を「aaa」にします。これで完成です。

f:id:waenavi:20190831202955j:plain

 

2023年4月にすると曜日が変わります。

f:id:waenavi:20190831203040j:plain

 

さらに、スラッシュの後を11にすると、11日~20日になります。

f:id:waenavi:20190831203121j:plain

 

別解

2022/1/1を入力しておきます。

f:id:waenavi:20190831203224j:plain

 

イコールで参照します。

f:id:waenavi:20190831203313j:plain

 

表示形式をそれぞれ「yyyy」「m」「d」とします。

f:id:waenavi:20190831203409j:plain

 

1を足して、オートフィルをします。

f:id:waenavi:20190831203441j:plain

 

曜日を求めるため、イコールで参照します。

f:id:waenavi:20190831203525j:plain

 

表示形式を「aaa」にします。これで完成です。

f:id:waenavi:20190831203559j:plain

 

最初の日付を2023年4月11日にすると曜日が変わります。

f:id:waenavi:20190831203630j:plain

 

(2)年月と日を分けて入力するパターン

問題

次の図で2022年1月1日~10日の日付と曜日を表示しなさい。また、2023年4月11日~20日にしなさい。

f:id:waenavi:20190831201817j:plain

 

解説

2022/1/1を入力します。

f:id:waenavi:20190831204914j:plain

 

イコールで参照します。

f:id:waenavi:20190831205009j:plain

 

表示形式をそれぞれ「yyyy年m月」「d日」とします。

f:id:waenavi:20190831205114j:plain

 

1を足して、オートフィルをします。

f:id:waenavi:20190831205218j:plain

 

曜日を求めるため、イコールで参照します。

f:id:waenavi:20190831205304j:plain

 

表示形式を「aaa」にします。これで完成です。

f:id:waenavi:20190831205335j:plain

 

最初の日付を2023年4月11日にすると曜日が変わります。

f:id:waenavi:20190831205409j:plain

 


解説は以上です。TODAY関数の解説へつづく・・・


 

 


Copyright(C)2018-2019 waenavi, All rights reserved. [www.waenavi.com 定礎 平成三十年八月]