投稿日:
こんにちは。WEBディレクターのたかみーです。
WEBディレクターの日常業務、スケジュール管理。エクセルだったり、スプレッドシートはもちろん、いろいろなツールを駆使されている方が多いとおもいます。
今回は、Googleスプレッドシートでスケジュール管理するときなどに知っていると便利かもしれない、日付や時間、曜日に関する関数を目的別にご紹介します。お役に立てたら嬉しいです。
それでは、いってみましょう。
【セル入力例】いくつかの関数のセル入力例としてA1~A3セルと、B1~B6を指定しています。

現在の日付を表示:=TODAY()
現在の日付と時刻を表示:=NOW()※()の中は何も記載しません。
スケジュールだけでなく、見積書など、現在の日付を必要とする場合に便利な関数がTODAY、NOW関数です。
セルにTODAY・NOW関数を指定しておけば、その都度現在の日付がセルに表示されるので、日付の修正をする必要がなくなります。
指定した日付の「年」(西暦)を表示:=YEAR(A1)
指定した日付の「月」(1~12)を表示:=MONTH(A1)
指定した日付の「日」(1~31)を表示:=DAY(A1)
「会員登録したユーザの登録した年だけ抽出したい」など、「年」「月」「日」だけを抽出したい場合は、YEAR、MONTH、DAY関数が便利です。
A1セルに「2021/12/15 12:34:56」を指定していた場合、YEAR関数を使うと「2021」、MONTH関数は「12」、DAY関数は「15」が、それぞれ数値として抽出されます。日付を数値で抽出できるので、数値として使いたい場合に便利な関数です。
指定した時刻の「時」(0~23)を表示:=HOUR(A1)
指定した時刻の「分」(0~59)を表示:=MINUTE(A1)
指定した時刻の「秒」(0~59)を表示:=SECOND(A1)
「ログインした時間帯を調べたい」など、「時」「分」「秒日」だけでも抽出できます。
「年」「日付」の関数と同じように、A1セルに「2021/12/15 12:34:56」を指定していた場合、HOUR関数を使うと「12」、MINUTE関数は「34」、SECOND関数は「56」が、それぞれ数値として抽出されます。
「日付」の形式に変換:=DATE(年,月,日) or =DATE(B1,B2,B3)
「時刻」の形式に変換:=TIME(時,分,秒) or =TIME(B4,B5,B6)※「年」「月」「日」「時」「分」「秒」には、数字またはセルを指定します。
「3年契約しているサービスの有効期間の日付を求めたい」など、別々のセルに入力された値を日付や時刻の形式に変換したい場合に便利なのはDATE、TIME関数です。
セルを分けてB1「2021」、B2「12」、B3「15」と入力すると、それぞれ単独の数字として認識されてしまいますが、DATE関数を使って「=DATE(B1,B2,B3)」と指定すれば「2021/12/15」と日付に変換できます。「=DATE(2021,12,15)」と数値で指定した場合も同様に「2021/12/15」と変換できます。TIME関数も同じように指定すれば、時刻に変換できます。
2つの日付間の日数を表示:=DAYS(終了日,開始日)
※「終了日」「開始日」には日付となる数式「2021/12/15」か、A2セル「2021/12/15」のように日付のセルを指定します。
「指定した日付から納期やセミナーなどのイベントまでの日数を調べたい」など、開始日と終了日の2つの日付を指定して、2つの日付間の日数を表示したいときは、DAYS関数が便利です。
「=DAYS("2021/12/31","2021/12/15")」や、A2セルに「2021/12/15」を指定していた場合、「=DAYS("2021/12/31",A2)」のように指定します。ともに「16」が表示されます。終了日が開始日よりも前の日付になっている場合は、エラーにならずにマイナスで日数が表示されます。
2つの日付間の「日数」「月数」「年数」を表示:=DATEDIF(開始日,終了日,単位)
※「開始日」「終了日」には日付となる数式「2021/12/15」か、A2セル「2021/12/15」のように日付のセルを指定します。
※「単位」には、表示したい時間の単位を表す文字列(年数「“Y”」、月数「“M”」、日数「“D”」)を入力します。
DAYS関数は「日数」だけの計算ですが、DATEDIF関数は、「日数」のほかに「月数」「年数」も計算できます。「誕生日と現在の日付から年齢を調べたい」「指定した日付から勤続年数を計算したい」など、ある時点からの期間を調べるときなどに便利な関数です。
「=DATEDIF("2001/12/15","2022/12/31","Y")」や「=DATEDIF(A2,"2022/12/31","M")」のように指定します。それぞれ、「21」、「12」と表示されます。DAYS関数と、「開始日」「終了日」の順番が逆になるので、注意が必要です。また、終了日が開始日よりも前の日付になっている場合は、エラーになります。
2つの日付間の営業日数を表示:=NETWORKDAYS(開始日,終了日,[祝日])
※「開始日」「終了日」には日付となる数式「2021/12/15」か、A2セル「2021/12/15」、A3セル「2021/12/16」のように日付のセルを指定します。
※「祝日」は省略可能です。指定する場合は、A2のように日付のセルか、A2:A3のようにセルの範囲で指定します。
「納期やセミナーなどのイベントまでの営業日数を調べたい」など、土日、および指定した休日を除く日、いわゆる営業日数はNETWORKDAYS関数で計算できます。
「=NETWORKDAYS("2021/12/15","2021/12/31")」や「=NETWORKDAYS(A2,"2021/12/31")」のように指定します。ともに「13」が表示されます。祝日がある場合は、「=NETWORKDAYS(A2,"2021/12/31",A2)」「=NETWORKDAYS("2021/12/15","2021/12/31",A2:A3)」と指定します。それぞれ「12」「11」と表示されます。
〇営業日後または〇営業日前の日数を表示:=WORKDAY(開始日,日数,[祝日])
※「開始日」には日付となる数式「2021/12/15」か、A2セル「2021/12/15」、A3セル「2021/12/16」のように日付のセルを指定します。
※「日数」には、数字またはセルを指定します。
※「祝日」は省略可能です。指定する場合は、A2のように日付のセルか、A2:A3のようにセルの範囲で指定します。
NETWORKDAYS関数と似ていますが、WORKDAY関数は、「今日から10営業日後の日付を知りたい」など、指定した開始日から指定した日数だけ経過した、土日、および指定した休日を除く営業日を計算できます。
「=WORKDAY("2021/12/15",10)」や「=WORKDAY(A2,10)」のように指定します。ともに「2021/12/29」が表示されます。祝日がある場合は、「=WORKDAY("2021/12/15",10,A2)」「=WORKDAY("2021/12/15",10,A2:A3)」と指定します。それぞれ「2021/12/29」「2021/12/30」と表示されます。「日数」にマイナス指定すると〇営業日前の日数になります。
〇ヵ月後または〇ヵ月前の日付を表示:=EDATE(開始日,月数)
※「開始日」には日付となる数式「2021/12/15」か、A2セル「2021/12/15」のように日付のセルを指定します。
※「月数」には、数字またはセルを指定します。
「発行日から1ヵ月間有効の見積書」など、指定した月数前または月数後の日付を調べたい場合は、EDATE関数が便利です。
「=EDATE("2021/12/15",1)」「=EDATE(A2,1)」のように指定すると、「2022/01/15」と表示されます。「月数」にマイナス指定すると〇ヵ月前の日付になります。
〇ヵ月後または〇ヵ月前の月末を表示:=EOMONTH(開始日,月数)
※「開始日」には日付となる数式「2021/12/15」か、A2セル「2021/12/15」のように日付のセルを指定します。
※「月数」には、数字またはセルを指定します。
EDATE関数と似ていますが、EOMONTH関数は指定した月数前または月数後の月末の日付を調べられます。
「=EOMONTH("2021/12/15",2)」「=EOMONTH(A2,2)」のように指定すると、「2022/02/28」と表示されます。「月数」にマイナス指定すると〇ヵ月前の月末の日付になります。
指定した日付の曜日を表示:=TEXT(日付,表示形式)
※「日付」には日付となる数式「2021/12/15」か、A2セル「2021/12/15」のように日付のセルを指定します。
TEXT関数は、指定した表示形式に従って、数値をテキストに変換する関数です。
表示形式に「=TEXT("2021/12/15", "DDD")」「=TEXT(A2, "DDD")」のように"DDD"を指定すると、「水」と曜日の省略名が表示されます。"DDD"を"DDDD"にすると、「水曜日」と省略されずに表示されます。
いかがでしたでしょうか。今回はスケジュールやデータ集計、見積書に便利な日付や時間、曜日に関するGoogleスプレッドシートの関数をまとめました。ぜひ参考にしていただければ幸いです!
以上、たかみーでした。