連載「仕事がサクサク進む!Excel関数活用術」、前回は数値の四捨五入、切り上げ、切り捨てを行うROUND関数、ROUNDUP関数、ROUNDDOWN関数を紹介しました。
4回目の今回は、本日の日付を出すTODAY関数、日数計算を行うDATEDIF関数を詳しく解説します。
TODAY関数が使えると、Excelで作った資料の日付更新をする手間が省けて便利です。
またDATEDIF関数を覚えると、面倒な日付計算が簡単に行えます。
2つとも仕事で利用する機会の多い関数なので、この機会に使い方をマスターしてみてくださいね。
仕事がサクサク進む!Excel関数活用術(全6回)
- 関数のキホン、SUM関数
- 集計に便利!AVERAGE、MAX、MIN、COUNT関数
- 消費税・賃金計算に便利!ROUND系関数
- 日付表示に便利!TODAY関数、DATEDIF関数
- データ抽出に便利!VLOOKUP関数
- 条件指定に便利!IF関数、COUNTIF関数
目次
本日の日付を表示するTODAY関数
TODAY関数は、Excelファイルを開くたびに本日の日付を自動で表示してくれます。
以下の図のように、本日の日付を表示させたいセルに「=TODAY()」と数式を入力します。
その後Enterキーを押すと、現在の日付が西暦で表示されます。
TODAY関数は、パソコン内蔵時計の日付を自動で変換してくれるため、カッコ内に引数を指定する必要はありません。
仕事の場では、見積書、請求書、発注書など書類発行日の日付の記入が必要な書類でよく使われる関数です。
社員名簿、在庫管理などExcelで管理表を作成したときの日付記入にTODAY関数が使われることもあります。
仕事の様々なシーンで使え、面倒な引数の指定もないので、早速使ってみてくださいね。
2つの日付の差を計算するDATEDIF関数
DATEDIF関数は、2つの日付の期間の差(日数、月数、年数)を計算したいときに使います。
日数の計算結果を表示したいセルに以下の数式を入力します。
=DATEDIF(古い日付,新しい日付,単位)
引数1「古い日付」
上記数式の引数のうち「古い日付」には、古い日付を直接入力して指定、もしくは古い日付が入力されたセルを指定します。
日付を直接入力する場合は、西暦(YYYY/MM/DD形式)で入力します。その場合、引数は「“”(ダブルコーテーション)」で囲みましょう。
引数2「新しい日付」
上記数式の引数のうち「新しい日付」には、新しい日付を直接入力して指定、もしくは新しい日付が入力されたセルを指定します。
日付を直接入力する場合は、西暦(YYYY/MM/DD形式)で入力します。その場合、引数は「“”(ダブルコーテーション)」で囲みましょう。
引数3「単位」
上記数式の引数のうち「単位」は、次の3つの表示形式から指定できます。
引数は文字列なので「“”(ダブルコーテーション)」で囲みましょう。
・日付の差を年数で表す場合:Y
例:
=DATEDIF(“2019/8/1”,“2021/10/26”,“Y”)
→2つの日付の差を年数で表すので、関数の計算結果は2年
・日付の差を月数で表す場合:M
例:
=DATEDIF(“2019/8/1”,“2021/10/26”,“M”)
→2つの日付の差を月数で表すので、関数の計算結果は26ヵ月
・日付の差を日数で表す場合:D
例:
=DATEDIF(“2019/8/1”,“2021/10/26”,“D”)
→2つの日付の差を日数で表すので、関数の計算結果は817日
こうしてみると、「今まで紹介した関数と比べて指定する引数が多い」と思ってしまいますよね。
しかし覚えてしまえば、日付計算機能がついた電卓を使うよりもExcelの方が効率よく作業が行えます。
DATEDIF関数は、仕事の場面では社員の勤続年数や契約期間、締切日までの日にち計算など、様々なシーンで使われています。
慣れるまで単位の引数を覚えるのがちょっと面倒かもしれませんが、がんばって覚えてみてくださいね。
DATEDIF関数で社員の勤続年数を計算
社員名簿の入社年月日から本日の日付をもとに社員1人ひとりの勤続年数を出す方法を例に挙げて、DATEDIF関数の使い方を一緒に確認してみましょう。
① 表のE列(勤続年数)の先頭セル(E4)に「=DATEDIF()」と入力。
② 引数のうち「古い日付」には、入社年月日があるD4セルを指定。
③ 引数のうち「新しい日付」には、本日の日付が入力されたE1セルを指定(絶対参照(詳細はあとで説明)を指定するため「$E$1」と入力(詳細はあとで説明))。
④ 引数のうち「単位」には、勤続年数を年で表示させたいので「“Y”」と入力。
⑤ Enterキーを入力すると、D4セルに勤続年数の値「36」が表示されます。
※2番目以降の社員の勤続年数を出す場合は、E4セルの右下にカーソルを持ってきて、オートフィルでE4に入力した数式をコピーします。そうすると、残りの社員の勤続年数(E5からE9)が表示されます(オートフィルの詳細は次で説明)。
関数の必須知識!「オートフィル」「相対参照」
Excelでは、「1,2、3~」「月、火、水~」のような連続したデータを入力する場合、各セルに1つ1つ手入力する必要はありません。
連続データを入力するときは「オートフィル」と呼ばれる機能を使って他のセルにコピーすれば、効率よくデータの入力が行えますよ。
オートフィルの使い方は、以下の手順を参考にしてください。
① A1からA10に「A1~A10」の連続データを入力したいので、先頭のA1セルに「A1」と入力。
② A1セルの右下部分をクリックすると「フィルハンドル」という黒いポッチが表示されます。
③ 黒いポッチにカーソルを持っていくと、マウスポインタの形が黒い十字マークに変更します。十字マークを下方向に向かってドラッグすると、図のように「A1、A2、A3、~A10」と連続データが入力されます。
オートフィルを使ってセルに入力した値が連続データとしてコピーされることを、Excelでは相対参照といいます。
次の図のように商品の「単価×個数=売上」を計算する数式を入れたい場合は、相対参照のままでオートフィル機能を使って他のセルに数式をコピーしても問題ありません。
このように、オートフィルで数式をコピーすると、D4とD5のセルにも同じ数式の解答が表示されます。
関数と一緒にマスターしたい!「絶対参照」
上で紹介したDATEDIF関数のように、本日の日付を元に勤続年数を計算する場合は、元となるセルの値を常に固定しておく必要があります。このことをExcelでは絶対参照といいます。
絶対参照でセルの値を固定するときは、行や列の前に「$」をつけなければなりません。
今回の場合、社員1人ひとりの入社年月日と本日の日付から勤続年数を計算しています。
入社年月日は1人ひとり違うため、相対参照のままで問題ありませんが、本日の日付は全員同じでなければなりません。
そのため、本日の日付が入力されたE1セルを引数として使う場合は、「$E$1」と、絶対参照のマーク「$」を、「列」と「行」の両方につける必要があります。
絶対参照はDATEDIF関数以外の関数でもよく利用されます。これを機に使い方を覚えておきましょう。
今回は、本日の日付を表示するTODAY関数、日付と日付の差を計算するDATEDIF関数をご紹介しました。どちらもよく仕事で使う関数なので早速使ってみてくださいね。
また、相対参照や絶対参照は、関数の数式をコピーするときに覚えておかなければならないExcelの知識。ちょっとややこしいかもしれませんが、がんばって覚えましょう。
次回は、VLOOKUP関数を使ったデータの抽出方法をご紹介します。ではまた!
※画像はすべてExcel2019を使用
無料登録でオンラインの資格講座を体験しよう!
資格受け放題の学習サービス『オンスク.JP』では様々な資格講座のオンライン学習が可能です。
最短20秒の無料会員登録で、各講座の講義動画・問題演習の一部が無料体験できます。
※無料会員は、決済情報入力なしでご利用可能。
※自動で有料プランになることはありません。
関連する記事が他にもあります