Excel の DATE関数
Excel のワークシート関数のDATE
関数は、とても便利な関数です。
=DATE([年を示す数値],[月を示す数値],[日を示す数値])
を指定する事で、日付を得る事が出来ます。
例えば
=DATE(2023,4,2)
と記載すると、2023/4/2
の日付を得られます。
DATE関数は、ココがイケてる!
DATE
関数がイケてると思うのは、引数に 本来の月数や日数を超える数値や、ゼロや負数を指定できる ところです。
関数例 | 結果 | 備考 |
---|---|---|
=DATE(2023,13,1) |
2024/1/1 |
月に12以上の数を指定すると年の繰上げ、月数整えを行う |
=DATE(2023,2,30) |
2023/3/2 |
日にその月に無い数を指定すると月の繰上げ、日数整えを行う |
=DATE(2023,1,0) |
2022/12/31 |
日に Zero を指定すると前月の末日になる (超便利) |
=DATE(2023,-1,0) |
2022/10/31 |
月に負数を指定するとそれらを考慮した日付を返す |
とても便利です。
もう月末が何日か?とか、うるう年って何時?とか、悩まなくても月末が簡単に取得できますね!
日本は年度末決算が多いので、年を超えての計算が多いですが、そういう時にも便利なのです。
忍び寄る過去のしがらみ
学生時代、友人と下校時に、私が「もうすぐ初夏だねぇ」と言ったら
「迫る〜ショッカー」 と歌いだした友人がいました。
さて、便利なDATE
関数ですが、なぜか前述の 「イケてる機能」 が使えない事があります。
#NUM
エラーが出るのです。
具体的には 引数の年・月・日の数値に負数やZero、存在しない大きな日付を指定できない のです。
例えば、=DATE(2023,2,30)
が #NUM
エラーになります。
これを解決するには
オプション
-詳細設定
-Lotus との互換性の設定
-計算方式を変更する
のチェックを外してください。
この設定は シート毎に設定される ので注意してください。
Lotus 1-2-3 を知らない人への補足
昔、まだ Windows が発売される前の MS-DOS (PC-DOS) が PC OS の主流だった頃、DOS 上で動く Lotus 1-2-3 という表計算ソフトがあったんです。
DOS 上で動くアプリとしては高度なマクロ機能があったり、色々凄いソフトで DOS で動く表計算ソフトとして高いシェアを持っていたのも納得のソフトです。
Excel は Windows 上で動く表計算ソフトとしては Lotus 1-2-3 より先行しましたし、表計算ソフトとしての完成度も(Lotus 1-2-3 の Windows 版の出来が悪かった事もあり) Excel の方が高かったのですが、DOS で Lotus 1-2-3 を使っていたユーザを Excel にスムーズに移行できるよう、一部のワークシート関数を Lotus 1-2-3 互換にしたり、キー操作を Lotus 1-2-3 互換にする機能が、私が確認できた範囲で Excel 2019 まで搭載されています。
このような Microsoft の努力により、Windows 上の表計算ソフトで高シェアを獲得できたわけです。
Lotus 1-2-3 については、下記の記事が参考になります。
記事の通りメーカーは消えましたが、Excel の設定としてDATE
関数に影響を与える等、ある意味 傷跡 を残してますね・・・
機能は遠く及びませんし、操作性も(紹介するのはviっぽかったりと)違いますが、画面の雰囲気が似てるという意味では、Linux で動くSC
というアプリが、近い雰囲気が味わえます。
12月決算の会社だと、面倒が少なくて良さそう
日本は
- 和暦
- 3月決算(年度)
の2重苦の組織が多いですよね・・・
しらんけど。