スポンサーリンク
はじめに:Excelの日付関数
Excelで日付に関する関数といったらメインになるのは、YEAR・MONTH・DAYの3つだ。
以下、これらを勝手に「日付3関数」と呼ぶ。まあ、その中で最後のDAY関数は、使う機会が少ないと思っているが。
日付3関数と、あとはDATE関数を覚えておけば、Excelの日付関係の関数はなんとかなる。
他にも日付関係の関数があるにはあるが、最悪それらを捨ててでも、これら日付3関数+1を覚えておこう。
これらを知らなければ給料泥棒だ。
日付3関数
まず「日付3関数」YEAR・MONTH・DAYは、文字通り、日付から年・月・日の情報を個別に取り出すもの。
それらは
=YEAR(“2019/3/31”)
なんて書き方ができなくもないが、そんなのまずやらないだろう。
セルを参照する使い方しか、ほぼ有り得ないはずなので、それに基づいて書く。
上図のC2~C4セルのような感じで日付3関数は、YEAR・MONTH・DAYそれぞれの結果が返される。
そのまんまやんレベルで、だからこそこれら3関数の使い所が分からないと言えるかもしれない。
実用的な使い道としては、上図のような感じかなと思う。
A列に年月日がフル入力されているけど、それを年月日に分解したいという時に、必須となる。
他の例題としては上図のように、決算月が3月だとして、一覧表に示された年月の中で決算月を強調したいといった場合に、MONTH関数を使って月を取得するといったことが考えられる。
私もこんな風に、MONTH関数は単独で使うことが結構ある。
DATE関数は日付3関数と組み合わせて使う
いま示した例の逆をやるときに、DATE関数が必要になってくる。
すなわち、年・月・日の数字だけが個別に表示されている時に、それらを結合して年月日を取得したいというときだ。
上図では先程と逆に、B・C・D列に年・月・日の数字だけが入っていて、それを結合した年月日をA列に表示しないといけない。
そのためにDATE関数を使っている。
DATE関数の構成は
DATE(年 , 月 , 日)
というものだ。
これを見るだけなら、とても簡単にしか見えない。
しかしDATE関数は、日付3関数との合わせ技で使ってこそ真価を発揮する関数だ。
翌月20日の日付を求める例題
給料日とかを、当月25日締め・翌月20日支払とする。
そのとき与えられたのが、下図のようにA列に当月25日の日付だけが書かれたExcelで、その翌20日を求める必要があるとしよう。
(締めとかいうと堅苦しいかもだが、要は翌20日を求めたいというだけ)
そういう場合に、DATE関数と日付3関数の合わせ技が役に立ってくる。
この場合、上図に示したようにDATE関数の中身にYEAR関数やMONTH関数を使って、A列の中身を年・月・日に分解する。
そして月だけは1ヶ月プラスしたいので、
MONTH($A2)+1
として+1している。
4行目(2018/12/25の行)なんかは、MONTH=12に1プラスしたら13月になるんじゃと思うかもしれないが、大丈夫だ。
DATE関数が、年・月・日を総合的に判断して、正しい日付値の2019/01/20に変換してくれる。
括弧()が幾つもあって、この合わせ技は、慣れてない人は見るだけで拒否反応を起こすだろうと思う。
だから、DATE関数や日付3関数が使えない人も多いと思うのだが、逆に言えばこのパターンの合わせ技さえ覚えればかなり何とかなる。
改めて、この関数合わせ技について、括弧の対応関係も色付けして示すと、
この例では、日付3関数の中でDAY関数は使ってないし、実際これ以外でもDAY関数は不要なケースが多いと思うけどね。
さて今回は、20日という日付を指定して、DATE関数と日付3関数の合わせ技で求めるやり方を扱った。これが1日とかでも当然問題ない。
そして必ず問題になるのが、月末日ばかりは月によって何日なのか異なるけど、それをどうやって求めるかってこと。
このやり方についても、DATE関数と日付3関数の合わせ技で何とかできるし、他のやり方もあるから、次回の記事で取り上げる。
スポンサーリンク