勝手に初心者講座。エクセル関数の練習問題を作ってみました編。
利用したエクセルファイルをこちらに添付しました。
必要に応じてダウンロードしてご利用ください。
エクセル関数練習問題エクセルファイル
今回は日付に関する関数をやってみたいと思います。
問題1.セルA1に文字列で「2020.12.12」と入力があります。これをA2セルに関数を使って日付データに変換し表示してください。

回答:DATE関数と文字列取り出し関数を使います。
DATE関数は 年、月、日を指定すると、日付データ(シリアル値)に変換してくれます。

普通は年・月・日の部分に数字を入れていくのですが、今回は、LEFT,MID関数を使ってセルA1の文字列から年、月、日に該当する部分を取り出して日付データにします。

答えはこちら

なお、シリアル値とは日付・時刻をエクセル内部で管理する値のことです。
数字で「1」が1900/1/1をあらわし、ここから一日経過するごとに数値が増えていきます。1900/1/2は「2」です。セルA2の2020/12/12の書式を標準にすると「44177となります。つまり1900/1/1から44,177日目ということですね。なお、「0」の数字値が入っているセルに日付書式を適用すると「1900/1/0」とおかしなことになります。なお、時刻は1日24時間を「1」として小数で表します。正午の12時は「0.5」です。セルに「44177.5」と入力し、書式を日付時刻形式で表すと「2020/12/12 12:00」となります。
シリアル値についてはこちらの記事が分かりやすかったので参考とさせていただきました。
日付と時刻のシリアル値とは – 日付関数 – Excel関数入門 (officepro.jp)
シリアル値や文字列から日付への変換に関してはこちらの記事もどうぞ
【Excel/初心者】エクセル塾:日付時刻の関数①
【Excel/初心者】エクセル塾:日付時刻の関数②曜日を表示する
【Excel/初心者】エクセル塾:日付時刻の関数③文字列・数値を日付データ(シリアル値)にするには
【Excel/初心者】エクセル塾:日付時刻の関数④時刻の関数
問題2.
①今日の日付を関数を使ってセルB1に入力してください。
②今日の一か月後の日付をセルB1の日付と関数を使ってセルB2に入力してください。
③当月末の日付をセルB1の日付と関数を使ってセルB3に入力してください。
④先月末の日付をセルB1の日付と関数を使ってセルB4に入力してください。

回答:関数は関数の挿入や直接入力、またはリボン「数式」の「日付時刻」をクリックすると日付時刻関連の関数が表示されるので、そちらから入力します。

①今日の日付はTODAY関数を使います。
セルB1に「=TODAY()」と入力します。
②一か月後の日付はセルB1の日付とDATE関数を利用します。
セルB1の日付からYEAR関数で「年」を取得します。同様にMONTHで「月」を、DAYで「日」を取り出します。これをDATE関数の中で行います。

年の部分に「2020」、月の部分に「12」、日の部分に「13」が取り出されています。翌月にしたいので「月」の部分に「+1」とします。


年もちゃんと繰り上げてくれていました。よかった。
③今月末の日付
月末の日付はDATE関数の「日」の部分に「0」を入力することで得られます。1日の前の日付は月末だよね、ということでしょう。
当月末は次の月の1日の前の日ということで以下のように指定します。

これで「2020/12/31」の日付が得られます。
※EOMONTH関数を使ってもOKです。
④前月末の日付
これは先ほどと同様で「月」に一を足さなくていいやつです。今月1日の前の日なので。

なお、エクセル2010以降(たぶん)は②③④はもっと便利な関数がありました。
②翌月の日付:EDATE関数。日付と「何か月後か」を数値で指定すると〇月後の日付を計算してくれます。「-1」だと前月の日付を計算してくれます。

③今月末の日付:EOMONTH関数が利用できます。EOMONTHは月末の日付を計算してくれます。「開始日」に日付を指定して、「月」に「〇か月後」を指定します。今月は0か月後なので「0」を指定します。

④前月末の日付:EOMONTH関数で「-1か月後」を指定します。

いやー。恥ずかしながら今日まで知らなかった。この便利な関数。
EOMONTHについてはこちらの記事を参考とさせていただきました。
EOMONTH関数なら翌月末や月初が簡単に呼び出せる | TschoolBANK 作~るバンク
次回はCOUNTIF,SUMIFです。
エクセル塾始めました!こちらでも関数を扱っています。
おススメのエクセル本
学びなおしにも!これ一冊よむだけで全然違う。
関数を簡単に楽しく学ぶなら、こちらがおススメ!マンガみたいで読みやすいですよ。
コメント