今回は「日付」に関する関数についてご紹介させて頂きます。
どの関数も使い方自体は難しくありませんので、すぐにマスターすることが出来る関数です。
実際の業務での重要度は普通レベルだと思います。
それでは早速ご紹介させて頂きます。
NOW関数
基本的な使い方
構文=NOW()
Googleのヘルプには以下のように書かれています。
現在の日付と時刻に対応するシリアル値を返します。
ヘルプに書かれているとおりの関数で、セルに現在の日付と時刻を入力します。
実際にどのように使うかは以下で詳しくご説明させて頂きます。
実際の使い方
セルG2に、以下の数式を入力します。
=NOW()
特に解説は必要ないかと思いますが、注意点としては、表示されている時刻は、シートに変更が加えられる度に更新されます。
WEEKDAY関数
基本的な使い方
WEEKDAY(日付, [種類])
Googleのヘルプには以下のように書かれています。
指定した日付に対応する曜日を数値で返します。
ヘルプに書かれているとおりの関数で、指定した日付が何曜日に当たるかを「数値」で表示します。
ここで大事なのは、「曜日を数値」で表示するということです。
「日曜日」や「月曜日」のように表示される訳ではありません。
- 種類が1の場合、数値は、「1が日曜日で7が土曜日になります」
- 種類が2の場合、数値は、「1が月曜日で7が日曜日になります」
上記を踏まえて以下で実際の使い方を見ていきましょう。
実際の使い方
2022年度の祝日を表にしてみました。
各日付が何曜日に当たるのかを入力します。
セルE2に以下の数式を入力します。
=WEEKDAY(C2)
または
=WEEKDAY(C2,1)
ENTERを押したらセルE2をE17までコピーして貼り付けます。
無事に「数値」が入力されました。
しかしこれでは何曜日なのか全く分かりません。
そこで以下の手順で「数値」を「曜日」に変更していきます。
応用編(CHOOSE関数)
先程の「WEEKDAY関数」を「CHOOSE関数」の入れ子にします。
記入する数式は以下になります。
=CHOOSE(WEEKDAY(C2),”日曜日”,”月曜日”,”火曜日”,”水曜日”,”木曜日”,”金曜日”,”土曜日”)
CHOOSE関数の使い方については別記事でご紹介させて頂きます。
少し入力が面倒ですが、日曜日から土曜日までを「”(ダブルクオーテーション)」で囲って7日分入力しています。
先ほどと同様に、ENTERを押して、E17までコピーして貼り付けます。
2022年度の祝日の曜日がすべて入力されました。
WEEKNUM関数
基本的な使い方
WEEKNUM(日付, [種類])
Googleのヘルプには以下のように書かれています。
指定した日付がその年の何週間目に当たるかを数値で返します。
ヘルプに書かれているとおりの関数で、指定した日付が何週間目に当たるかを表示します。
[種類]は「1」を選択すると、日曜日から、「2」を選択すると月曜日から週が始まります。
実際にどのように使うかは以下で詳しくご説明させて頂きます。
実際の使い方
先程の表の祝日が、何週間目にあたるのか調べて見たいと思います。
セルF2に以下の数式を入力します。
=WEEKNUM(C2)
または、
=WEEKNUM(C2,1)
ENTERを押して、セルF2をF17まで、コピーアンドペーストします。
各祝日が、第何週目なのか表示されました。
DAYS関数
基本的な使い方
DAYS(終了日,開始日)
Googleのヘルプには以下のように書かれています。
2 つの日付間の日数を返します。
ヘルプに書かれているとおりの関数で、2つの日付間の日数を計算します。
実際にどのように使うかは以下で詳しくご説明させて頂きます。
実際の使い方
入社日と退職日から勤続日数を求める数式を、「DAYS関数」を使って求めます。
セルE26に以下の数式を入力します。
=DAYS(C26,B26)
ENTERを押して、セルE26をE28まで、コピーアンドペーストします。
3人の勤続日数が無事に表示されました。
「DAYS関数」では単純に「日数」を計算しましたが、勤続日数が長くなると日数だと少し分かりにくくなってしまいます。
そこで、もう少し分かりやすくするために、次にご紹介する「DATEDIF関数」を使って「年数」や「月数」で表示してみましょう。
DATEDIF関数
基本的な使い方
DATEDIF(開始日, 終了日, 単位)
Googleのヘルプには以下のように書かれています。
2 つの日付間の日数、月数、年数を計算します。
ヘルプに書かれているとおりの関数で、2つの日付の期間を計算します。
年齢や勤続年数などの計算に大変便利な関数です。
なお、「単位」は以下のアルファベットで表します。
単位 | 表示内容 |
---|---|
Y | 年 |
M | 月 |
D | 日 |
YM | 1年に満たない残りの月 |
MD | 1月に満たない残りの日 |
YD | 1年に満たない残りの日 |
実際にどのように使うかは以下で詳しくご説明させて頂きます。
実際の使い方
セルG26からG28まで、「年」、「月」、「日」を表示させます。
数式はそれぞれ以下になります。
- 年:=DATEDIF(B26,C26,”Y”)
- 月:=DATEDIF(B27,C27,”M”)
- 日:=DATEDIF(B28,C28,”D”)
上から、「20年」、「192ヶ月」、「761日」と表示されました。
しかし、年と月は正確な日数を表示しているわけではありません。
そこでもう少し詳しい勤務日数を表示させるために、「YM」と「MD」を使用します。
少し長い数式になりましたが、以下のように入力しています。
=DATEDIF(B26,C26,”Y”)&DATEDIF(B26,C26,”YM”)&DATEDIF(B26,C26,”MD”)
「DATEDIF関数」を「&」で繋いでいます。
先程の数式のままENTERを押すと、結果は表示されるのですが、数字が並んでいるだけでとても分かりにくいものになってしまっています。
もう少し見やすくするために、「年」、「月」、「日」も一緒に表示されるように数式を変更してみましょう。
数式を以下のように変更しました。
=DATEDIF(B26,C26,”Y”)&”年”&DATEDIF(B26,C26,”YM”)&”ヶ月”&DATEDIF(B26,C26,”MD”)&”日”
ちょっと長くなりましたが、表には「20年2ヶ月30日」と表示されていますので、とても分かりやすくなったと思います。
DAYS関数とDATEDIF関数のどちらを使うべきか?
開始日と終了日からその間の日数を計算出来る2つの関数、「DAYS関数」と「DATEDIF関数」のどちらを利用すべきでしょうか?
実は、どちらの関数を使うかを決める前に、もう一つの選択肢もあるのです。
それが、「=AーB」という単純な引き算です。
これら3つの方法のどれを使うかは、使用する状況によるところが大きいと思いますが、2つの関数の場合は、日数が100日以内であれば、「DAYS関数」、100日を超えるようであれば、「月」や「年」を使用した方が分かりやすいと思いますので、「DATEDIF関数」を利用された方が良いでしょう。
単純に「日」を表示する場合、「DAYS関数」と「引き算」であれば、好みで使い分けるのが良いかもしれません。
個人的には「引き算」で十分な気がするのですが。
まとめ
いかがでしたか。
「日付」に関する様々な関数をご紹介させて頂きましたが、どれも利用頻度の高い関数の1つです。
日付にまつわる表を作成する機会があれば、積極的に利用してみてください。
今回も最後までお読み頂きありがとうございました。
コメント