●今回の関数は?
Date 関数
●どんな時に使う?
年、月、日の値から日付シリアルを得る関数ですね。
しかし、年、月、日の値が別々に存在していることはあまりないように思えます。
昔に作られたExcelファイルで、年のセル、月のセル、日のセルに個別に入力する仕様のファイルもありますが
そんな変な入力方法を採用しているファイル・・・
教会で使用している会計処理用のファイル
(いやーん恥ずかし〜)
さて、Date関数の引数と返り値はどんなんかって言うと?
返り値:日付シリアル
引数: 1個目は 年の値
2個目は 月の値
3個目は 日の値
となります。
たとえば、 Date( 2021, 6, 25) とすると、 2021年6月25日を表す日付シリアル 44372が返ってきます。
ちなみに、日付シリアルの 1 は何年何月何日?になるか気になりませんか?
Excelで、1 って入力して、データ表現形式を日付にすると、表示されますよ
実際に行ってみると、 1900年1月1日と表示されます。
ちなみに、Excelには、1904年から表示するオプションがあります。
この機能がなんで存在するかは私も知りません。
興味のある方はググッてみてくださいね。
そして、できたら私にも教えてください
話を元にもどして
えっ? じゃあ、Excel では、1900年1月1日より前の日付は扱えないの?
って疑問がわきますが、その答えは Yes です。
ちなみに、 0 を日付形式で表現すると、 1900年1月0日と表示されました。
そして、この日付シリアルの考え方がわかると、ある日の次の月の初月を得るとか、前月の末日を得るのは、至極簡単になります。
たとえば、今日 2021年6月25日の前月の末日を得るには
Date ( 2021 , 6 , 0 )
とすれば、
2021年5月31日が得られます
なんでー?って思われた方はいますか〜?
これは、前月の末日の次の日は、今月の1日ですよね。
末日は大の月や小の月で、28,29,30,31と変わりますが、初日は絶対に 1日です。
なので、前月の末日を求めたいなら、今月の1日の前日がそうなります。
すると、今月の日付シリアルが Date ( 2021 , 6 , 1 ) が 44348 なので、
前月の末日は、44347
これを日付形式で表示させると、 2021年5月31日となります。
そして、この 44347 を求めるには、 Date ( 2021 , 6 , 1 ) - 1 (1を引く)のでもいいし、
Date ( 2021 , 6 , 1 - 1 ) でも良いわけです。
1 - 1 は 0 なので、真っ先にお伝えした、
Date ( 2021 , 6 , 0 ) が前月末日の日付シリアルを得る関数式となるわけです。
では、次月の初日は? って言うと、もっと簡単で、
Date ( 今日の年 , 今日の月 + 1 , 1 ) とすればいいわけですね。
つまり、 Date ( 2021 , 7 , 1 ) です。 そのまんまです
ちなみに、日付シリアルから年、月、日の値を得るための関数も用意されています。
もう、モロ、Year関数、 Month関数、 Day関数 です。
よって、Year( 2021/6/25 ) は 2021を返しますし、 Month( 2021/6/25 ) は 6を、Day( 2021/6/25 ) は 25 を返します。
こんな感じですね。
●注意すべき点は?
注意すべき点としては・・・引数に解釈できないような値を設定するとエラーになるかも・・・ですね。
でも、試しに Date ( 2021 , -555 , -67 )を入力すると
おぉ〜〜〜 1974/6/25 と表示されました。
これはびっくりです。
●関連する関数は?
良く使う関数としては、次のようなものでしょうか
Year関数 :本文で述べました
Month関数 :本文で述べました
Day関数 :本文で述べました
DateValue関数 : 日付として解釈できる文字列を日付シリアルに変換します。
例 Date ( "令和3年 6月 25日" ) は 44372 となります。
いかがですか? アイデア次第で、いろいろな使い道が見つかりますよ!
カレンダーも簡単に作れますからね〜
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image