Excel 実践活用講座
エクセル・ガイド
Part4
日付と時刻の処理
![]() |
![]() |

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−【E20-関数ガイド4-1Ar1】
Part4 日付と時刻の処理 P___
4−1 日時の基本
■シリアル値
■日付や時刻を求める関数
■シリアル値を求める関数
4−2 日付の処理
■曜日を表示する
■自至の日付を自動化する
■期間の日数計算
4−3 時間の処理
■時間計算の基本
■勤務時間の計算
4−1 日付
1■23〜
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−【E20-関数ガイド2-4Ar1】
2−4 日付と時刻の表示
■日付と時刻の表示形式
■日付表示を大きくする
■元号から西暦を求める
■誕生日から現在の年齢を求める
23 年度始の日付を求める
24 満年齢の算出
25 生年月日から学年を自動表示
31 月末の日付
33 月の日数
35 成人の日、体育の日
36 第n曜日を求める
37 国民の休日
41 最終営業日
55 一ヶ月後の日付
58 EDATE関数
60 閏年
67 翌営業日
3−2 日付/時刻関数
EKC380A * 2■現在の日時とシリアル値
NOW,TODAY
* 3■指定日時のシリアル値を求める
DATE,TIME,TIMEVALUE,DATEVALUE,
EKC380A * 4■日付
MONTH,YEAR,WEEKDAY,DAY
* 5■時刻
HOUR,MINUTE,SECOND
* 6■日数
DATEDIF,NETWORKDAYS,YEARFRAC,WEEKNUM,DAYS360
* 7■前後の日付
EDATE,WORKDAY,EOMONTH
Part4 日付と時刻の処理
ここでは、日付と時刻に関係する処理の基本から応用までを解説しています。金額や個数などの集計だけでなく、日付や時刻も計算の対象になります。たとえば、ある期間の日数を求めたり、勤務時間の合計など、さまざまな場面で日付や時刻の計算があります。

4−1 日時の基本
ここでは、日時処理に使う関数の使い方を解説します。日時は、シリアル値と呼ばれる値を基準に作動しています。まずはじめに、シリアル値について理解を深めてください。
![]() |
2.現在のシリアル値
以下のように、NOW関数を入力してください。この関数は、現在の(今の)日時のシリアル値を求めます。
r操作
@ セルB5に数式「=NOW()」を入力する
@ 日時が表示される
通常、セルに日付関数や日付形式のデータ(00/4/16など)を入力すると、表示形式が自動的に日付に設定されるので、日時が表示されます。ここでは、現在の日時のシリアル値を求めるNOW関数を入力したので、今現在の日時が表示されます。よって、操作した時点の日時が表示されるので、以下の画面と同じになりません。
![]() |
|||

EX4C980Z EX4C981Z
●シリアル値で表示する
表示された日時のシリアル値を見る(表示する)には、セルの表示形式を数値に設定する必要があります。数値表示にする最も簡単な方法は、ツールバーの[桁区切りスタイル]ボタンをクリックすることです。以下の操作でシリアル値を表示してみましょう。
r操作
@ セルポインタをB5に合わせる
A[桁区切りスタイル]ボタンをクリックする
@ 値が表示される
[桁区切りスタイル]ボタンは、整数部だけが表示される表示形式に設定されます。したがって、この場合は、日付(時刻の小数部を除く)のシリアル値が表示されることになります。シリアル値の整数部分は日時の日にあたる連続番号になっています。ここで表示された値は小数点以下1桁目で四捨五入された値なので、現在のシリアル値として正しくない場合があります。
EX4C982Z
EX4C983Z
●小数点以下は時間のシリアル値
次に、ツールバーの[小数点表示桁上げ]ボタンをクリックして、小数点以下の値を表示してください。1回押すと1桁表示されます。同じ列に他の入力がないときは、セル幅は桁数に応じて自動的に広がります。自動的に広がらないときは、手操作で拡げてください。
r操作
@ セルポインタをB5に合わせる
A[小数点表示桁上げ]ボタンをクリックする(数回クリックして数桁を表示する)
@ 小数部が表示される
EX4C984Z
EX4C985Z 作例 4-1-A Sheet2
3.シリアル値の更新
シリアル値の小数部は時間を表しています。今表示されている値は、先ほど=NOW()を入力した時点の日時になるので、今現在の正確な値は少し進んだ値になっているはずです。表示を今現在の正確な値は、再計算([f・9]キーを押す)すると、今現在の正確な値に更新されます。
r操作
◆ キーボードの[f・9]キーを押す
@ 値が更新される
EX4C986Z
4.シリアル値を日時表示に戻す
日付や時刻を表示するつもりで、入力した関数がシリアル値を表示したとき、そのセルの表示形式を日時に変更します。表示形式の変更は[書式(O)]e[セル(E)s]で操作します。
r操作
@ 変更するセルにセルポインタを合わせる
A[書式(O)]e[セル(E)s]を選択する
@ セルの書式設定ダイアログボックスが表示される
B [表示形式]タブをクリックして画面を切り替える
C 日付または時刻をクリックする
A 右側の窓に日付または時刻の一覧が表示される
D 目的の表示形式(ここでは「97/3/4」)をクリックする
E[OK]をクリックする
B 選択した形式で表示される
![]() |
![]() |
||

EX4C987Z EX4C988Z
EX4C989Z
ヒント[書式変更のショートカット]
変更するセルにマウスポインタを合わせ、右クリックするとショートカットメニューが表示されます。このメニューの[セルの書式設定(F)s]を選択して、設定することもできます。
【操作のまとめ】
●現在の日時表示が正しくないときは、再計算([f・9])キーを押す
●日付や時刻が表示されずに、シリアル値が表示されたときは、セルの表示形式を日付や時刻に設定する
■日付や時刻を求める関数
セルに入力した日付や時刻から、年月日や時分秒だけを使うとき、関数を使って必要な情報(年月日や時分秒)を抜き出します。日付を入力して、表示形式で必要な情報だけを表示しても、シリアル値として入力されている値が残っているので、参照するとシリアル値がでてきます。
1.セルに日付を入力する
1.年月日を求める
日付関数のYEAR関数で年、MONTH関数で月、DAY関数で日、を求めることができます。求めた値は日付ではなく数値になり、加算しても年や月に変換されません。たとえば、2つの日付からMONTH関数で9(9月)と11(11月)を求め、2つを加算しても1年8月にはならずに、20になります。
●日付から年を求める
日付関数のYEAR関数を使って、以下のようにします。関数の中に日付を入力するときは、ダブルクォーテイションで囲みます。(年数の2000は2桁の00で入力することが可能)
書き方
=YEAR(”2000/4/16”) あるいは =YEAR(日付を入力したセル番地)
以下の操作で次の数式を入力してみましょう。
=YEAR(C4)
↑日付を入力したセル番地を指定する
r操作
@ セルC4に日付「00/4/16」を入力する
@ 表示形式が日付に自動設定され「2000/4/16」が表示される
A セルC6に年を求める数式「=YEAR(C4)」を入力する
A 年数(2000)が表示される
セルC6に入力した数式で求めた値は日付ではなく、数値であることに注意することが必要です。操作でセル幅が自動調整されずに###が表示されたときは、セル幅を適切に拡げます。
![]() |

EX4C990Z EK505Z 作例 4-1-B
●日付から月を求める
日付関数のMONTH関数を使って、以下のようにします。関数の中に日付を入力するときは、ダブルクォーテイションで囲みます。
書き方 =MONTH(”2000/4/16”)
@ 月を求める関数を入力する
セルC7に =MONTH(C4) を入力する
↑日付を入力したセル番地を指定する
@ 月が表示される
求めた月 4 が表示される
この値は日付ではなく数値であることに注意することが必要

EX4C992Z EX4C993Z
●日付から日を求める
日付関数のDAY関数を使って、以下のようにします。関数の中に日付を入力するときは、ダブルクォーテイションで囲みます。
書き方 =DAY(”2000/4/16”)
@ 日を求める関数を入力する
セルC8に =DAY(C4) を入力する
↑日付を入力したセル番地を指定する
@ 日が表示される
求めた日 16 が表示される
この値は日付ではなく数値であることに注意することが必要

EX4C994Z EX4C995Z
2.時分秒を求める
時刻関数のHOUR関数で時、MINUTE関数で分、SECOND関数で秒、を求めることができます。求めた値は時刻(シリアル値)ではなく数値になり、加算しても時や分に変換されません。
@ここに時刻を入力する
セルC12に 15:25:32 を入力する
表示形式が時刻に自動設定され、シリアル値で入力される。
自動設定されなかったときは、表示形式を時刻に設定してから、もう一度入力する
A時分秒を求める関数をそれぞれのセルに入力する
セルC14に =HOUR(C12) を入力する
セルC15に =MINUTE(C12) を入力する
セルC16に =SECOND(C12) を入力する
@ 結果が表示される
表示された値は時刻(シリアル値)ではなく数値であることに注意することが必要
![]() |
EX4C996Z
ポイント[現在の日時]
現在の日付や時刻を求めるときは、NOW関数またはTODAY関数を使います。日付や時刻を入力するセルに入力します。本文の例では、セルC4またはセルC11に=NOW()(または=TODAY())を入力する。
【操作のまとめ】
●日付や時刻(シリアル値)から関数を使って年月日や時分秒を求めると、その値は数値になる
●表示される日付や時刻は、セルに入力した時点の日付や時刻になる
●最新の時刻を表示するには、再計算([f・9]キーを押すなど)する
■シリアル値を求める関数
数値として入力した値を日付と見なし、その値から日付のシリアル値を求めるときは、DATE関数を使います。文字列として入力した日付からシリアル値を求めるときは、DATEVALUE関数を使います。
1.数値からシリアル値を求める
日付として入力した数値から日付のシリアル値を求めるときは、以下のようにします。関数に値を直接入力することもできます。
書き方
DATE(年,月,日)
↑ ↑ ↑
数値を入力したセル番地、または数値を入力する
r操作
@ 各セルに年月日を数値で入力する
セルC3に 2000 を入力する
セルC4に 4 を入力する
セルC5に 8 を入力する
A セルC7に数式「=DATE(C3,C4,C5)」を入力する
@ 日付が表示される
このDATE関数を入力すると、そのセルに日付の表示形式が自動的に設定されます。

EX4C997Z EX4C998Z
●シリアル値で表示する
求めた値はシリアル値ですが、表示形式が自動設定されるので、日付が表示されます。表示形式を数値に設定し直すと、シリアル値が表示されるようになります。
r操作
@ セルC7にセルポインタを合わせる
A ツールバーの[桁区切りスタイル]をクリックする
@ シリアル値が表示される
EX4C999Z
EX4D000Z 作例 4-1-C
2.文字列からシリアル値を求める
文字列として入力した日付からシリアル値を求めるときは、以下のようにします。文字列は、西暦、和暦、のどちらで入力しても求めることができます。
書き方
DATEVALUE("2000/4/16")
DATEVALUE("平成12年4月16日")
↑
日付をダブルクォーテイションで囲んで入力する
日付文字列を入力したセル番地で指定することもできる
ポイント[文字列の入力]
日付を文字列としてセルに入力するときは、最初(1文字目)にシングルクォーテイション(’、7と同じキー)を入力してから文字列を入力します。シングルクォーテイションを入力せずに日付文字列を入力すると表示形式が自動設定され、シリアル値で入力されます。
r操作
@ ここに日付を文字列として入力する(セルC12に ’2000/4/16 を入力する)
@ 文字列として入力したので左詰めで表示されます。
A ここに関数を入力する、セルC14に =DATEVALUE(C12) を入力する
A シリアル値が表示される

EX4D002Z EX4D003Z
●エラーが表示されたとき
ここで使ったDATEVALUE関数は、文字列として記述した日付から日付のシリアル値を求めるので、セルに日付形式で入力した場合、正しく求められずにエラーが表示されます。
r操作
@ シングルクォーテイション(’)を付けずに「00/4/16」を入力する
@ 日付形式「2000/4/16」で表示される
A シリアル値正しく求められない
EX4C001Z
【操作のまとめ】
●DATE関数でシリアル値を求めると、表示形式が自動設定される場合があるので、数値形式に再設定して値を表示するようにする
●和暦で入力された日付のシリアル値を求めるときは、DATEVALUE関数を使う。
●表示形式が自動設定されるような内容(日付や数値、金額など)を文字としてセルに入力するときは、シングルクォーテイションを入力してから文字列を入力する
4−2 日付の処理
ここでは、日付に関係する処理を解説します。曜日の表示方法、ある期間の日数計算、日程表などに入力する日付の自動入力、指定日まで後何日、などの処理方法を解説しています。
■曜日を表示する
ある日付の曜日を表示するときは、WEEKDAY関数とCHOOSE関数を組み合わせて求めます。WEEKDAY関数だけだと、日曜日を1とする連続番号で求められます。この番号を元にCHOOSE関数で漢字の曜日を表示するようにします。また、TEXT関数だけで曜日を表示することもできます。
1.関数の使い方
曜日を求めるWEEKDAY関数の書き方は、以下のようになります。種類を指定することで、月曜日を1または0にすることができます。
書き方
WEEKDAY(シリアル値,種類)
↑ ↑
番号の付け方を指定する
日付を表す値を指定する
シリアル値 日付を表す番号を入力する。現在の日付を指定するときは、NOW関数を入力する
種類 省略、1,2,3の何れかを入力する
省略または1 日曜日を1とする連続番号(土曜日は7になる)
2 月曜日を1とする連続番号(日曜日は7になる)
3 月曜日を0とする連続番号(日曜日は6になる)
2.使用例
曜日を求めるWEEKDAY関数だけを使うと、曜日を番号に置き換えた値でしか求めることができません。たとえば、次のようにすると、1〜7の数値で表示されます。関数内のシリアル値を入力するところに、シリアル値を求める関数または、日付をダブルクォーテイションで囲んで入力することができます。なお、DAYE関数に入力する年数で2000年を省略して00で入力すると正しく計算されません。年数を4桁で入力することが必要です。
セルB5 =WEEKDAY(DATE(2000,4,16))
または
=WEEKDAY(”2000/4/16”)
日付を直接記述する場合は日付をダブルクォーテイションで囲んで入力します。なお、2000を省略して00と入力すると正しく計算されません。2桁で入力しても正しく計算される場合がありますが、間違いを防ぐために年数は4桁で入力することが必要です。
r操作
@ここに関数を入力する
セルB5に入力する
=WEEKDAY(DATE(2000,4,16))
↑ ↑
↑ 種類を省略しているので、日曜が1になる
シリアル値を求める関数
@ 曜日を示す番号が表示される
日曜日(2000年4月16日)を示す1が表示される
![]() |

EX4D004Z EX4D005Z
作例 4-2-A
●日付を入力する
日付を文字列として入力するときは、ダブルクォーテイションで囲んで入力します。半角で入力します。日付を文字列として入力する場合は、2000年を省略して00で入力できます。
r操作
@ここに関数を入力する
セルB7に入力する
=WEEKDAY(”00/4/16”)
↑
日付を入力する
@曜日を示す番号が表示される
日曜日(2000年4月16日)を示す4が表示される

EX4D006Z EX4D007Z
注意
日付を文字列として関数に入力するとき、ダブルクォーテイションを忘れると、00/4/16を数式(0÷4÷16)と判断され、除算の結果をシリアル値とした曜日が表示されてしまい、正しい結果が得られません。
−−−−−−−−−−−−−−−−−
種類を省略したときの曜日番号
1 2 3 4 5 6 7
日 月 火 水 木 金 土
種類2を指定したとき
1 2 3 4 5 6 7
月 火 水 木 金 土 日
種類3を指定したとき
0 1 2 3 4 5 6
月 火 水 木 金 土 日
−−−−−−−−−−−−−−−−−
3.日付を他のセルで指定する
関数に入力する日付を他のセルに入力して、関数内にセル番地を入力するとき、日付を入力するセルの表示形式を日付に設定する必要があります。他の表示形式に設定されていると正しく求めることができません。ふつうは、日付を入力すると自動的に日付の表示形式に設定されますが、他の表示形式に設定されたセルに入力したときなどでは、自動設定されない場合があります。
r操作
@セルD3に日付を入力する
2000/4/8 を入力する。表示形式が自動設定され、2000/4/8が表示される。
AセルD5に数式「=WEEKDAY(D3)」を入力する
B結果が表示される
2000/4/8は土曜日なので、7が表示される

EX4D008Z EX4D009Z
4.曜日を漢字で表示する
曜日を漢字で表示するには、WEEKDAY関数で求めた番号を元に、CHOOSE関数を使って表示するようにします。CHOOSE関数は、リストに並べたデータを番号で選択する働きをするので、次のように書くことができます。CHOOSE関数の詳細は「数個のデータわ選択する」で解説してします。
書き方
=CHOOSE(WEEKDAY(D3),"日","月","火","水","木","金","土")
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
曜日の番号を求める 1 2 3 4 5 6 7
r操作
@ セルD7に関数を入力する
=CHOOSE(WEEKDAY(D3),"日","月","火","水","木","金","土")
@ 結果が表示される
2000/4/8の曜日(土)が漢字で表示される
EX4D010Z
![]() |
EX4D011Z
ヒント[曜日を付け足す]
表示された曜日(日、月など)に「曜日」を付け足して、「月曜日」のようにする場合は、1つ1つのデータ("日","月",)に付け足して"日曜日","月曜日",のようにすることもできますが、同じ内容を付け足すときは、文字列の結合式で次のようにコンパクトにすることができます。
=CHOOSE(WEEKDAY(D3),"日曜日","月曜日","火曜日"・・・・・・
↓
=CHOOSE(WEEKDAY(D3),"日","月","火","水","木","金","土")&"曜日"
↑
文字列の結合は(&)を使う
r操作
@ 数式を書き替える
@ 出力結果の「土」に「曜日」を付け足して表示される
EX4D013Z
EX4D014Z
5.英字で表示する
曜日を英語で表示する場合に限り、TEXT関数を使うことができます。CHOOSE関数と組み合わせなくても表示できるので関数がコンパクトになります。
書き方
=TEXT("97/4/8","dddd") または =TEXT(日付を入力したセル番地,"dddd")
↑ ↑
↑ 表示形式を表す記号を入力する
日付をダブルクォーテイションで囲んで入力する
日付を入力しているセル番地で指定することもできる
r操作
@ セルD9に数式「=TEXT(D3,"dddd")」を入力する
@ 英語で表示される
2000/4/8(土曜)「Satunday」が表示される
![]() |
|||
![]() |
|||

EX4D015Z EX4D016Z
6.今日の曜日
現在(今日)の曜日を求めるときは、日付を入力するところにNOW関数を入力すれば、求めることができます。
r操作
@日付をNOW関数に換える
セルD3に入力した内容を=NOW()に書き換える
@ 各セルは今日現在の日付や曜日が表示される
NOW関数を使うと、常に現在の曜日が表示されるので、日付が進とその日の曜日に自動更新されます。伝票などの処理日として日付を入力するようなとき、NOW関数を使うと、ファイルを開いたときの曜日が表示されてしまうので注意が必要です。
![]() |

EX4D017Z EX4D018Z
【操作のまとめ】
●WEEKDAY関数は曜日を番号で出力(表示)する
●曜日を漢字で表示するときは、CHOOSE関数と組み合わせる
●英語で曜日を表示するときは、TEXT関数だけで表示することができる
●現在の曜日を表示するときは、NOW関数と組み合わせる。ただし、常に現在の曜日を表示するので、日付が変わると曜日の表示は自動的に更新される
■自至の日付を自動化する
予定表などに入力する日付を開始日(自)と終了日(至)を入力するだけで、その期間の日付を自動表示する手法を紹介します。
1.日付を進める
セルに日付を入力すると、そのセル内容は日付のシリアル値として入力され、表示形式で日付が表示されるように自動設定されます。シリアル値は整数部が日を表しているので、1を加算すれば、次の日を表すことになり、日付を1日進めたことになります。
r操作
@開始日と終了日を入力する
セルC3に 97/4/1 を入力する
セルC4に 97/4/20 を入力する
このセルの表示形式が日付に自動設定されます。
A参照式を入力する
セルC7に =C3 を入力する
@ 開始日が表示される
セルC3の表示形式が引き継がれ、同じ日付が表示される
![]() |

EX4D019Z EX4D020Z 作例 4-2-B
●連続した日付を表示する
開始日を表示した次の行に開始日+1の数式を入力して、1日進めた日付を表示します。参照先(セルC7)の表示形式が日付になっているので、同じように表示形式が引き継がれ、日付が表示されます。
@ここに加算式を入力する
セルC8に =C7+1 を入力する
@ 1日進んだ日付が表示される

EX4D021Z EX4D023Z
2.下へ続くセルへ複写する
至の日付を判断する数式の動作確認のため、とりあえず日付を表示します。セルC8に入力した数式は、次の行(セル)に入力する数式と同じスタイルになるので、ドラッグアンドドロップで必要な行数に複写して、日付を表示します。ここでは、約1ヶ月分の行数に複写してください。数回に分けて操作すれば、しやすくなります。
r操作
@複写元にセルポインタを合わせる
Aセルポインタの右下■にマウスポインタを合わせて、ドラッグアンドドロップで複写範囲を指定する
範囲に点線枠が表示されます。
Bドロップしたときの範囲に複写される
![]() |
|||
![]() |
|||

EX4D024Z EX4D025Z
ドラッグしているとき、シートからはみ出す位置へ移動すると、自動的にスクロールするので、画面からはみ出す広い範囲を指定することができます。このとき、シートの端あたりにドラッグするとゆっくりスクロールになるので、指定しやすくなります。シートからはみ出す位置ードラッグすると高速スクロールになります。
@シートの下部あたりにマウスポインタを合わせるとシートがスクロールする
A約1ヶ月分の日付表示を作る
![]() |
![]() |
||

EX4D026Z EX4D031Z EX4D030Z
ポイント[日付が表示されない]
自至の日付を入力する前に、表示する位置(セルC7)に数式を入力していると、自のセルに日付を入力しても表示位置(セルC7)には数値(日付のシリアル値)が表示されます。これは、日付の表示形式が自動設定されない(参照するデータがないので自動設定されない)ためです。この場合は、数式を入力したセルに日付の表示形式を設定します。
3.至を判断する
日付はシリアル値で入力されるので、このシリアル値の大小を判断して、日付が至に到達したかを判断するようにします。数式は、IF関数を利用して以下のようになります。
=IF(C4>C25+1,C25+1,””)
↑ ↑ ↑ ↑
@ A B C
引数の意味
@至る(97/4/20)のシリアル値
Aセルに表示する値(前日+1)
B至るに到達していないとき、日付(前日+1)を表示
C至るに到達しているとき空白(””)を表示
●正しい条件式を考える
以上の数式では問題点が2つあります。1つ目は、至るより小さいとき日付を表示しているので、20日は表示されません。2つ目は、空白に+1する事態が発生するのでエラーが表示される、になります。動作を確認してみましょう。
=IF($C$4>C25+1,C25+1,””)
↑ここは複写を考慮して絶対番地にしておく
r操作
@セルC26に数式「」を入力する
@ 数式を入力したセルの20日は表示されなくなる
A 以下に続くセルにはエラー(#VALUE)が表示される
このエラーは前日+1の計算で空白(セル26)に+1する事態が発生するのでエラーが表示されます。
![]() |
|||
![]() |
|||

EX4D032Z EX4D033Z
到達日の20日を判断するには、条件式に=を付け足して以下のようにすれば解決しますが、空白に+1するエラーは解消されません。
=IF($C$4>=C25+1,C25+1,””)
↑
この加算式(+1)がエラーを出す
そこで、少し考え方を変えて、前日が20日に到達したかを判断するようにすると、以下のようにすることができます。
=IF($C$4>C25,C25+1,””)
↑
前日が到達日かを判断する
前日が19日(20日より小さい)なら、前日+1を表示、前日が到達日(20日)なら空白を表示します。この行以降は、到達日と空白を比較する事になるので、成立しなくなるので、空白が表示されるようになります。少し難しいようですが、よく考えてみてください。条件を変えることにより、できなかったことが、できるようになることがあります。考え方を少し変えてみることが数式を作るこつです。
r操作
@ここの数式を書き換える
セルC26を書き換える
=IF($C$4>C25,C25+1,””) に書き換える
@ 至るの日付までが表示されるようになる
A 下部のセルには日付が表示されるが、問題点はまだ解決していない
![]() |

EX4D034Z EX4D035Z
●数式を複写して完成させる
セルC26に入力した数式を以下に続くセルにドラッグアンドドロップで複写します。また、上方向に続くセルにも複写して、至るの日付を任意に指定できるようにして、日付表示を完成します。最初の1日目は数式が違っているので、複写せずにそのまま(=C4)で使用します。
r操作
@ 複写元のセルにセルポインタを合わせ、ドラッグアンドドロップで複写する
@ 至る以降は表示されなくなる
◆ 任意の空白セルをクリックして選択を解除する
![]() |
|||
![]() |
|||

EX4D036Z EX4D037Z
4.日だけを表示する
年月日の日だけを表示するには、表示形式で操作します。日付を表示している範囲を選択(反転表示)して、[書式(O)]e[セル(E)s]で表示形式を日だけの表示に変更します。あらかじめ組み込まれている表示形式ではないので、ユーザー定義で新しく作成します。
日だけを表示するには、表示形式をユーザー定義で「d"日"」を指定します。分類の日付の種類に「yyyym"月"d"日"」があります。これを選択して、ユーザー定義をクリックして書き替えることも可能です。
r操作
@ 設定範囲を選択(反転表示)にする
マウスのドラッグまたは[SHIFT]+[矢印]キーで反転表示にする
A[書式(O)]e[セル(E)s]を選択する
@ セルの書式設定ダイアログボックスが開く
B[表示形式]をクリックする
C ユーザー定義をクリックする
A 種類の欄が表示される
D 種類欄をクリックして書式「d"日"」を入力あるいは書き換える
E[OK]をクリックする
B 日の表示に変更される
反転表示のままで変更されるので、反転表示を解除します。
![]() |
|||||
![]() |
|||||
![]() |
|||||

EK479Z EK480Z
EX4D040Z
ポイント[作成した表示形式]
一度作成した表示形式は、ユーザー設定に登録されるので、2回目からは、ユーザー設定の一覧から選択して設定します。
5.自至を変更する
自至の日付を入力して自動表示するようにしたので、自または至の日付を変更すれば、その期間の日付が表示されます。
r操作
@至るの日付を変更する
セルC4に 97/4/8 を入力する
A 8日までの日が表示される
開始日(自)を変更すると、その日付から至までの日付が表示されます。
![]() |
EX4D041Z
【操作のまとめ】
●セルに日付を入力すると、シリアル値で入力されるので、計算で日付を更新することができる。
●日付が表示されないときは、表示形式を確かめ、日付以外に設定されているときは、日付の表示形式を設定する。
●日だけの表示など、あらかじめ登録されていない表示形式は、ユーザー設定で新しく作成する。
■期間の日数計算
ある期間の日数を求めるときは、DATEDIF関数を使います。年単位、月単位、日単位の期間を求めることができます。
1.関数の使い方
関数の書き方は以下のとうりです。自至(開始日と終了日)の日付と計算の単位を記号で指定します。
書式
DATEDIF(開始日,終了日,単位)
@ A B
@開始日 日付をダブルクォーテイションで囲んで入力する
例 ”2000/4/8”
A終了日 日付をダブルクォーテイションで囲んで入力する
例 ”2000/4/16”
B単位 記号をダブルクォーテイションで囲んで入力する
記号 単位
”Y” 年数(満年数)
”M” 月数(満月数)
”D” 日数(満日数)
”MD” 1ヶ月未満の日数(端数)
”YD” 1年未満の日数(端数)
”YM” 1年未満の月数(端数)
※小文字で入力してもよい
2.使用例
自至の日付を関数に直接入力する方法と、日付を入力したセル番地で指定する方法があります。単位も外部指定、他のセルに記号を入力して、そのセル番地を指定することができます。
●日数を求める
関数は以下のようになります。
@ ここに自至の日付を入力する
セルC3に 2000/4/8 を入力する
セルC4に 2001/4/16 を入力する
A セルC6に数式「=DATEDIF(C3,C4,”D”)」を入力する
@ 日数が表示される
計算の結果、自至の期間の日数が表示されます。同日を0日として計算をはじめるので、2000/4/8から2000/4/8だと0日が返されます。なお、閏年も正しく計算されます。

EX4D042Z EX4D043Z 作例 4-2-C
期間の日数は、開始日(自)を0として、1日進ごとに1が加算されます。たとえば、2000/1/1から2000/1/1とすると0が求められ、2000/1/1から2000/1/2だと1が返されます。月や年単位でも同じように計算されます。閏年は366日で計算されます。2000年の閏年を求めると以下のようになります。
@ 自至に日付を入力する
自に 2000/1/1 を入力する
至に 2001/1/1 を入力する
@ 日数366が表示される
A 自至に日付を入力する
自に 2001/1/1 を入力する
至に 2002/1/1 を入力する
A 日数365が表示される
金利計算などで年365日制を使う場合などで、期間の計算に利用するとき注意が必要です。
![]() |
|||||||
![]() |
|||||||
![]() |
![]() |
||||||

EX4D045Z EX4D046Z
3.期間の年数を求める
期間の年数を求めるとき、1年未満の端数がでる場合があります。この端数は、単位で”YD”日数または”YM”月数を求めることができます。
@自至に日付を入力する
自(セルC3)に 2000/4/8 を入力する
至(セルC4)に 2001/5/16 を入力する
A−1ここに年数を求める関数を入力する
セルC8に入力する
=DATEDIF(C3,C4,”Y”)
A−2結果が表示される
B−1ここに端数を日数で求める関数を入力する
セルC9に入力する
=DATEDIF(C3,C4,”YD”)
B−2結果が表示される
C−1ここに端数を月数で求める関数を入力する
セルC10に入力する
=DATEDIF(C3,C4,”YM”)
C−2結果が表示される
日数で求めた端数は、月数のあまりではなく、期間の日数から1年を引いたあまりです。何年、何ヶ月、何日、のように求めるときの日数は、次に解説する期間の月数の端数で求めます。
![]() |
|||
![]() |
|||

EX4D047Z EX4D048Z
![]() |

EX4D049Z EX4D050Z
![]() |
|||
![]() |

EX4D051Z EX4D052Z
4.期間の月数を求める
月数は、単位に”M”を指定します。端数(日数)は単位に”MD”を指定して求めます。
@ここに月数を求める関数を入力する
セルC12に入力する
=DATEDIF(C3,C4,”M”)
A結果が表示される
Bここに端数を求める関数を入力する
セルC13に入力する
=DATEDIF(C3,C4,”MD”)
C結果が表示される
![]() |

EX4D057Z EX4D058Z
![]() |

EX4D059Z EX4D060Z
5.何年何月何日
以上の結果から、自(2000/4/8)から至(2001/5/16)の期間は、次のように求められます。
1年 1ヶ月 と 8日
@ A B
EX4D061Z
6.単位を外部指定する
日付を他のセルに入力して、関数にセル番地を入力したように、単位も他のセルに入力して、セル番地で指定することができます。この場合、単位をダブルクォーテイションで囲む必要はありません。
@セルに単位記号を入力する
セルF13に MD を入力する
A関数に書き替える
セルC13を書き替える
=DATEDIF(C3,C4,F13)
↑
単位を入力したセル番地を指定する

EX4D626Z
【操作のまとめ】
●期間は、開始日(自)を0として計算される
●日付や単位を関数に直接入力するときは、ダブルクォーテイションで囲む
●単位記号は大文字/小文字のどちらで入力してもよい
4−3 時間の処理
勤怠表など勤務時間などの計算方法を解説します。日付と同じように、表示形式をうまく利用すれば、くり上げなどを意識することなく、簡単な加減算式だけで時間の計算ができるようになります。
■時間計算の基本
セルに時間形式のデータ(6:30など)を入力すると、表示形式が時刻用に自動設定されます。入力したデータはシリアル値に変換された値で入力されるので、シリアル値で計算することになります。セルに表示される内容は時間形式になるので、シリアル値を意識する必要はありませんが、実際の計算はシリアル値で行われていることを理解しておくことが重要です。
1.時刻の加算
セルに入力した時刻を加算して時刻の合計を求めるとき、金額などを合計したSUM関数を使うことができます。数値などと同じようにして合計を求めます。
@ここに時刻を入力する
セルB3に 6:30 を入力する
セルB4に 6:00 を入力する
セルB5に 6:45 を入力する
セルB6に 6:30 を入力する
A合計を求める関数を入力する
セルB8に =SUM(B3:B6) を入力する
B合計が表示される
1:45が表示される
![]() |
|||||
![]() |
![]() |
||||
作例 4-3-A
EX4D062Z EX4D063Z
式(SUM関数)を入力したセルにも時刻の表示形式が自動設定されるので、計算結果が時刻形式で表示されます。求めた結果は25:45のはずですが、時刻表示では、24時以上の表示はあり得ないので、端数が表示されています。このセルの表示形式を日と時刻に設定すると、25:45は1日と1:45の表示にすることができます。
r操作
@セルB8にセルポインタを合わせる
A[書式]→[ツール]を選択する
@ セルの書式設定ダイアログボックスが開く
B[表示形式]タブのユーザー定義で表示形式を定義する
ユーザー定義で d"日" h:mm を定義する
↑スペース1個
C[OK]わクリックする
A 合計された時間が日数と時間で表示される
表示形式の詳しい設定操作は「新しい表示形式を登録する」を参考に操作してください。
EX4D064Z

EX4D066Z EX4D067Z
●日数と時刻から時間数を求める
表示形式で設定した日数と時刻の表示形式ではなく、時間数として表示させたいときは、日数を求めるDAY関数と時間を求めるHOUR関数を使って次のように計算します。計算の結果、参照先のセルと同じ表示形式(日付や時刻で表示)が自動設定されることがあるので、適切な表示形式に設定してデータを正しく表示させるようにします。以下の操作では[桁区切りスタイル]を使って数値の表示に変えています。
@ここに関数を入力する
セルB9に =DAY(B8)*24+HOUR(B8) を入力する
A表示形式を引き継いだ結果で値が表示される
BセルB9にセルポインタを合わせる
Cツールバーの[桁区切りスタイル]ボタンをクリックする
@ 数値で表示される

EX4D068Z EX4D069Z
EX4D070Z
EX4D071Z
ここでは、動作の流れを分かりやすくするために、SUM関数(表示形式の変更を含む)とHOUR関数を分けて入力していますが、2つの関数を合わせて、次のようにすると、時間を直接求めることができます。
セルB9に入力する数式
=DAY(SUM(B3:B6))*24+HOUR(SUM(B3:B6))
●集計結果の分を求める
小計結果の分単位(1時間以下の端数)のデータは、MINUTE関数で求めることができます。セルB8で求めた値には分の値もデータとして含まれているので求めることができます。たとえば、集計の結果がセルB8に表示されている場合、次の数式になります。
=MINUTE(B8)
r操作
@ここに関数を入力する
セルC9に =MINUTE(B8) を入力する
A残りの分が表示される

EX4D072Z EX4D073Z
以上の結果から、時間の合計は25時間と45分ということになります。
2.自至の時間を求める
ある時間からある時間までの間の時間も、単純な減算式で求めることができます。2日に跨る時間のときは、日付を付けて入力すれば求めることができます。
@ここに自至を入力する
セルF3に 8:10 を入力する
セルF4に 17:00 を入力する
Aここに式を入力する
セルF6に =F4−F3 を入力する
B結果が表示される
先の合計と同じように、24時間を越える表示はできないので、表示形式またはDAY関数やHOUR関数を使って計算します。以下の日付を付けて入力を参考にしてください。
EX4D074Z
EX4D075Z
3.日付を付けて入力する
自至の計算などで、日付をまたぐときは、自至の入力を日付を付けて行います。表示形式が自動設定されないときは、日付と時刻を合わせ持った表示形式(yyyy/m/d h:mm など)を設定してください。日付を付けて入力するときは、日付につづけてスペースを1個入力してから時刻を入力します。日付は月日だけでもかまいません。
なお、自の日時を入力すると、時間計算(セルF6)の表示が###になりますが、至の日時を入力すると、計算結果が表示されるようになります。ただし、日の計算を加えていないので、24時間以降の端数(時間)が表示されます。
@ セルF3に 2000/4/16 8:00 を入力する
@ 時間計算の結果(セルF6)が###になる
A セルF4に 2000/4/17 9:10 を入力する
A 表示形式が日付と時刻に自動設定され、日付と時刻で表示される
表示形式に合わせてセル幅も調整されます。セル幅を変更しているときは、自動調整されません。適切な幅に調整してください。
EX4D076Z
EX4D077Z
EX4D079Z
●計算式
数式を入力して、正しい値を表示するために、[桁区切りスタイル]ボタンをクリックして数値形式の表示に変更します。
@ ここに日をまたぐときの式を入力する
セルF6を書き替える
=DAY(F4−F3)*24+HOUR(F4−F3)
@ 期間の時間が表示される
この表示は正しい値ではありません。
A セルポインタをF6に合わせる
B[桁区切りスタイル]ボタンをクリックする
A 値が表示される
![]() |
EX4D080Z
![]() |
EX4D081Z
EX4D082Z
EX4D083Z
●端数の分を求める
日付の年や月表示を省くときは、表示形式で表示内容を調整します。端数にあたる分は、以下のようにMINUTE関数で求めます。
@ここに分を求める式を入力する
セルG6に入力する
=MINUTE(F4−F3)
A端数の分が表示される
![]() |
EX4D084Z
EX4D085Z
以上のようにして、期間の時間数を求めます。
【操作のまとめ】
●時間の合計などは、データを入力するセルの表示形式を時刻に設定して、SUM関数など通常の計算式で求めることができる
●セルに時間形式のデータを入力すると、そのセルの表示形式は時刻用に自動設定される。すでに、表示形式を他の内容に設定しているときは、自動設定されない場合があるので、手操作で設定する
●期間の時間など、数日にまたぐ時間を求めるときは、日付を加えた時刻を入力して求める
■勤務時間の計算
勤怠表や給与計算などで必要な勤務時間の計算方法を解説します。時間計算の基本で解説した手法と同じになりますが、端数の分の処理方法の解説を加えておきます。
1.勤務時間表
以下のような、時間を入力する集計表があります。合計、合計(時間)、端数(分)のを求める式は、時間計算の基本で解説したとおり、以下のようにします。
@時間のデータを入力する
A合計を求める式を入力する
セルH5に =SUM(C5:G5) を入力して、表示形式をd"日" h:mmに設定する
セルH5を下へ続くセル(H6〜H9)に複写する
B合計時間を求める式を入力する
セルI5に =DAY(H5)*24+HOUR(H5) を入力して、[桁揃えスタイル]ボタンで表示形式を数値に設定する
セルI5を下へ続くセル(I6〜I9)に複写する
C端数(分)を求める式を入力する
セルJ5に =MINUTE(H5) を入力する
セルJ5を下へ続くセル(J6〜J9)に複写する
![]() |
EX4D087Z
作例 4-3-B
2.分の四捨五入
時間を集計する表などでは、1時間にみたない分の処理方法が問題になる場合があります。切り捨てるなら求めた時間をそのまま使えばいいのですが、切り上げや30分未満は切り捨て、などの処理を施す場合、少しの工夫が必要です。切り上げの処理を考えてみると、求めた時間を+1する、しない、になりますね。たとえば、29分までは切り捨て、30分から切り上げるなら、分を検査して29分以上のとき1、そうでないとき0、を表示して、時間に表示内容を加えれば、四捨五入と同じ効果が得られます。
@ここにくり上げの値を求める式を入力する
セルK5に =IF(J5>29,1,0) を入力する
A端数(分)の値を応じて1または0が表示される
EX4D088Z
EX4D089Z
このままでは、ただ単に0または1を表示したにすぎません。この値を時間に加えるように、合計時間を表示するセルの式を変更します。
@ここの式を変更する
セルI5を書き替える
セルI5に =DAY(H5)*24+HOUR(H5)+K5 を入力する
A結果が表示される
EX4D090Z
EX4D091Z
この値は、切り上げ値が0なので、合計時間は変化しません。セルI5とK5をされざれ下へ続くセルに複写して式を完成させると以下のような結果になります。
@切り上げ0のところは+1されない
A切り上げ1のところは+1された時間になる
EX4D092Z
【操作のまとめ】
●時間を四捨五入と同じ効果の処理を行うときは、IF関数で行う
●時間を計算するときは、表示形式を適切に設定することが必要。
■分析ツールを組み込む
財務関数を使うとき、アドイン(追加機能)の分析ツールを組み込んでおかないと計算結果を求めることができません。関数をセルに入力することはできますが、エラー(#VALUE!)が表示されます。Excelをセットアップしたき、分析ツールを組み込んでいても、Excelの設定で「使用する」にしないと同じようにエラーが表示されます。
1.分析ツールを使う
セットアップで分析ツールを組み込んでいても、アドインの登録画面で分析ツールにチェックマークを付けておかないと分析ツールは作動しません。必要なときは、次の操作で使えるように設定します。
@[ツール(T)]をクリックしてプルダウンメニューを開く
A[アドイン(I)s]が見あたらないときは最下部の[
EX4C685Z]をクリックする
B[アドイン(I)s]を選択する
@ アドインの登録画面が表示される
C[分析ツール]前部の□をクリックしてチェックマーク(B)を付ける
D[OK]をクリックする
以上の操作で分析ツールを必要とする関数が使えるようになります。不要なときは、同じ操作でチェックマークを消します。Cの操作で[分析ツール]が見あたらないときは、セットアップのとき、組み込まなかったことが考えられるので、2の操作で組み込み操作を行ってから、もう一度、この操作を行ってください。
EX4D178Z

EX4D179Z EX4D180Z
2.セットアップ
アドイン一覧に[分析ツール]が見あたらないときは、セットアップ操作で組み込みを行います。Excelやオフィスバーなど起動しているアプリケーションがあれば、それらを一旦終了してから以下の操作を行ってください。Excel2000やOffice2000のCD−ROMをドライブにセットして操作を進めます。以下の操作例はOffice2000を使っています。
r操作
◆CD−ROMドライブにセットアップに必要なCR−ROMを挿入する
@ ディスクトップのマイコンピュータをダブルクリックする
@ ドライブ一覧が開く
A CD−ROMドライブを右クリックしてショートカットメニューを開く
B [開く]を選択する
A CD−ROMが開く
C セットアップアイコンをダブルクリックする
B セットアップがはじまる
CD−ROMをドライブにセットすれば、Aのウィンドウが自動的に表示される場合があります。この場合は、操作Cからはじめてください。オフィスバーなどが起動していると、終了を促す指示が表示されるので、オフィスバーなどのアプリケーションを終了します。
EX4D183Z
EX4D184Z
EX4D185Z
EX4D186Z
EX4D187Z
●Excelの分析ツールを組み込む
続いて、メンテナンスモードのメニューウィンドウが開くので、機能の追加/削除を選択して操作を進めます。
r操作
◆ メンテナンスモードのメニューウィンドウが開く
@ 機能の追加/削除をクリックする
@ 機能の追加/削除ダイアログボックスが開く
A[MicrosoftExcel]アイコンの[+]をクリックして一覧を開く
B[アドイン]アイコンの[+]をクリックして一覧を開く
C[分析ツール]アイコンをマウス左ボタンでクリックする
A ショートカットメニューが開く
D [マイコンピュータから実行]を選択する
B ×印が消える
E [完了]をクリックする
C インストールが実行される
D 操作完了のメッセージが表示される
F [OK]をクリックするしてメッセージを閉じる
EX4D188Z
EX4D189Z
EX4D190Z
EX4D191Z
EX4D192Z
EX4D193Z
以上の操作で「1.分析ツールを使う」で解説したアドインの一覧に[分析ツール]が表示されるようになります。また、インストールを解除(解放)するときは、以上と同じ操作で、Aのショートカットメニューで[×インストールしない]を選択してください。削除になります。
●フォルダ表示のウィンドウを閉じる
操作完了後、最初に開いたウィンドウに戻るので、そのウィンドウも閉じておきます。
r操作
◆ CD−ROMのフォルダ一覧
@[×]をクリックして閉じる
EX4D194Z
●スタートメニューで操作する
CD−ROMを挿入して[スタート]ボタンで操作を進めることもできます。
r操作
@[スタート]→[設定(S)]→[コントロールパネル]を選択する
@ コントロールパネルが開く
A[アプリケーションの追加と削除]をダブルクリックする
A アプリケーションの追加と削除のダイアログボックスが開く
B インストールと削除タブをクリックする
C MicrosoftOffice2000あるいはMicrosoftExcel2000を選択する
D[追加と削除]をクリックする
◆ メンテナンスモードのメニューウィンドウが開く
この後の操作は上記の解説と同じです。
EX4D182Z
EX4D195Z
EX4D196Z
【操作のまとめ】
●分析ツールを有効にするには、[ツール]e[アドイン]の一覧に表示される[分析ツール]にチェックマークを付ける
●アドインの一覧に[分析ツール]が見あたらないときは、セットアップ操作で追加する。
作成手順
さて、どこから書き始めればいいのでしょう。

![]() |
































































































































