(license)みなさん、こんにちは!タカハシ(@ntakahashi0505)です。Googleスプレッドシートやエクセルで日付に関する処理をする場合も多いですよね。日付の処理って、ややこしいしたくさん関数があって覚えきれなかったりしますよね。今回は、スプレッドシートで使える日付関連の関数を一通り紹介したいと思います。ちなみにですが、実は今回紹介する関数はExcelでも全く同じように使えますので、一石二鳥。今日の日付を求める今日の日付を求める関数はTODAY関数です。TODAY()括弧内は何も書かないでOKです。特定の日付から年、月、日を取り出すある日付から年、月、日を取り出したい場合はそれぞれYEAR,MONTH,DAY関数でYEAR(日付)MONTH(日付)DAY(日付)とします。年、月、日を指定して日付にする逆に、年月日を指定して日付にしたい場合はDATE関数でDATE(年,月,日)と書きます。何カ月後の日付を求めるある特定の日から指定の月数だけ加算した日の日付を求めたい場合はEDATE関数を使います。書き方はEDATE(開始日,月数)です。以下の場合はそれぞれ来月の同じ日付:EDATE(TODAY(),1)前月の同じ日付:EDATE(TODAY(),-1)1年後の同じ日付:EDATE(TODAY(),12)と書きます。末日を求める月末の日付を求める場合はEOMONTH関数を使います。EOMONTH(開始日,月数)例えば今月末:EOMONTH(TODAY(),0)来月末:EOMONTH(TODAY(),1)前月末:EOMONTH(TODAY(),-1)などと使います。覚えておくと便利です。日付関連の関数を使った演習さて、では演習です。チャットワークに自動でタスクを追加するというシステム作りを進めているのですが、このようなスプレッドシートがあります。記事はこちらですので、ご興味があればどうぞ。Scriptを使ってスプレッドシートの定期タスクをチャットワークのタスクとして自動で追加するシステムを作ります。今回はスプレッドシートの毎日のタスクについてしぼって実現します。tonari-it.com2016.04.13さて、今まで紹介した関数を駆使ししてF4セルとF5セル、つまり「次のタスク期限」を求める適切な数式を入れたいと思います。それぞれ求めていきましょう。今日の日にちがE4セルで指定した日より後の日にちであれば、来月のE4セルと同じ日にちの日と設定をしたいです。条件によって分岐があるのでまずIF関数を使います。FALSE値)と表現することができます。日はE4セルですからDATE(YEAR(TODAY()),MONTH(TODAY()),E4)と表現できます。TRUE値は「来月のE4セルと同じ日にちの日」ですからつまり「今月のE4セルと同じ日にちの日」のちょうど一月後です。EDATE(DATE(YEAR(TODAY()),MONTH(TODAY()),E4),1)です。ややこしいですけど、コピペすれば簡単。DATE(YEAR(TODAY()),MONTH(TODAY())+1,E4)と書くことができます。F4セルは=IF(DAY(TODAY())>E4,DATE(YEAR(TODAY()),MONTH(TODAY())+1,E4),DATE(YEAR(TODAY()),MONTH(TODAY()),E4))1=IF(DAY(TODAY())>E4,DATE(YEAR(TODAY()),MONTH(TODAY())+1,E4),DATE(YEAR(TODAY()),MONTH(TODAY()),E4))とすればよいということです。条件に応じて月末日を求める次にF5です。E5セルを見て「末」と書いてあれば、その月の月末日を求めるということです。=IF(E5="末",EOMONTH(TODAY(),0))1=IF(E5="末",EOMONTH(TODAY(),0))で、「末」と書いていない場合は先ほどのF4の場合を当てれば両方のパターンで使えますので=IF(E5="末",EOMONTH(TODAY(),0),IF(DAY(TODAY())>E5,DATE(YEAR(TODAY()),MONTH(TODAY())+1,E5),DATE(YEAR(TODAY()),MONTH(TODAY()),E5)))1=IF(E5="末",EOMONTH(TODAY(),0),IF(DAY(TODAY())>E5,DATE(YEAR(TODAY()),MONTH(TODAY())+1,E5),DATE(YEAR(TODAY()),MONTH(TODAY()),E5)))としておきます。超長いですが、分解して段階を踏めば...なんとかなりますでしょ?まとめスプレッドシートで使える日付関連の関数を多数お伝えしました。リファレンス的にご活用頂ければうれしいです。今日の日付を求める:TODAY()日付から年を取り出す:YEAR(日付)日付から月を取り出す:MONTH(日付)日付から日を取り出す:DAY(日付)年月日を指定して日付にする:DATE(年,月,日)特定の日から指定の月数だけ加算した日の日付を求める:EDATE(開始日,月数)特定の日の月末の日付を求める:EOMONTH(開始日,月数)大事なことなのでもう一回お伝えしますが、これらの関数はExcelでも全く同じように使えます。マスターしちゃいましょう。次回、これを活用してチャットワークに自動でタスクを追加する記事の続きを書きますので、よろしければそちらもどうぞ。【GAS】定期的に発生するタスクをチャットワークに自動でタスク追加(完全版)チャットワークのタスク機能ですが、定期のタスク追加は面倒ですよね。Scriptで毎月、毎週、毎日の定期タスクを自動でチャットワークに追加するプログラムを作成します。tonari-it.com2016.04.27連載目次:GASでチャットワークに自動でタスク追加をするタスク管理は重要なのですが、タスクを立てること自体を忘れてしまったりませんか?このシリーズではスプレッドシートとチャットワークを使って定期的なタスクを自動で追加する方法についてお伝えしています。プランノーツ代表、コミュニティ「ノンプロ研」主宰。ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ★フォロー頂ければ嬉しいです。「コミュニティ+講座」形式で継続性&教え合える環境も提供。!ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ。セミナー・もくもく会・Facebookグループのサポートで「自らで学び続ける力をつける」支援、「教え合うことで学びの価値を上げる」場の提供をしています。VBA】QuitイベントでOutlook終了時にメッセージを表示するOutlook終了時に実行されるイベント、Quitイベントで、Outlook終了時にメッセージを表示させる方法をご紹介しています。返信が必要なメールは専用のフォルダに入れておいて、このイベントを使えば、返信していないメールがあることを知らせることができますよ。2019.05.27Excel・VBA活用術エクセル関数でスケジュール自動表示のためのカレンダーを作成する方法エクセル関数のみでカレンダーのテンプレートとなるシートを作成しそれを安全に運用していく方法をお伝えします。テンプレートは対象月のカレンダーを作成するために必要なシートで、スケジュール自動作成を行うための前準備です。【エクセルVBA】AddItemメソッドでリストボックスに値を追加してみよう!ユーザーフォームを作って使ってみるまでを目標に、連載記事でコントロールのメソッドやプロパティ、イベントをご紹介しています。今回は、リストボックスにAddItemメソッドを使って値を追加する方法をご紹介しています。【エクセルVBA】ユーザーフォームにコンボボックスを追加する方法ユーザーフォームを作って使ってみるまでを目標に、連載記事でコントロールのメソッドやプロパティ、イベントをご紹介しています。今回の記事では、コンボボックスをフォーム上に追加する方法と、代表的なプロパティをいくつかご紹介しています。ユーザーフォームでツールを作りたいとき、使い勝手のよいコントロールですよ!2020.01.16Excel・VBA活用術エクセルパスワード瞬時解除でシート・ブックのパスワード忘れがもう怖くない!数式保護のためにシートやブックに保護をかけるんですが、前任者からの引継ぎだったり度忘れでパスワード解除が出来なくなってしまって絶望に立たされた方へ救いの手を差し伸べてくれる女神のようなフリーソフト。エクセルパスワード瞬時解除をご紹介いたします。Appsスマホからの入力も可能!Googleスプレッドシートで超簡単に収支表を作成してみた紙管理だった収支表を、Googleスプレッドシートに置き換えました。そこに至るまでの経緯と、Googleスプレッドシートで簡単な収支表を作成する方法をご紹介しています。Googleスプレッドシートで作成すれば他のメンバーと共有できるほか、スマホからの照会や入力も可能です。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。Scriptが「V8ランタイム」をサポート!モダンなECMAScript構文が使えるようになった2020.02.072020.02.08GASでコピーしたGoogleスライドのプレゼンテーションを取得する方法2020.02.052020.02.05Facebookページいつも隣にitのお仕事タイトルとURLをコピーしました。