みなさん、こんにちはケンケンです。
今回からエクセルでカレンダーアプリを作っていきます。
カレンダーを作るにあたって、日付に関する関数を覚えておく必要があります。
今回は、基本的な関数を紹介していきます。
シリアル値をマスターしよう
みなさん、シリアル値ってご存じですか。
知らない方も多いかもしれませんがけっこう重要です。
このシリアル値といういうのは、日付のナンバーのようなものです。
1900/1/1を1番として、その日以降に2,3,4と連番を振っていきます。
例えば2020/7/24であったら「44036」という値がシリアル値です。1900/1/1から数えて44036番目という意味です。
この数値をエクセル上で確認してみましょう。
通常、日付を入力すると表示形式は以下のように「日付」となり、ユーザーが意図したとおり日付形式で表示されます。
この日付の表示形式を「標準」に変えてみましょう。
値が変わりました。正確に言うと、日付形式で表示されていたシリアル値を本来の数値で表現することができました。
シリアル値は日付を使って動作させるシステムを作る際に重要な概念なので覚えておきましょう。
日付を表現する関数
エクセルには日付や時刻を返す関数が多数あります。
その中でも特にカレンダーアプリを作るのに必要な関数を紹介します。
全部一気に覚える必要はありません。今後、関数を使うシーンになったら再度説明するのでご安心を。
YEAR関数
まずは、日付(シリアル値)から「年」を抜き出すYEAR関数です。
書式は、
YEAR(シリアル値)
ですね。
以下のように使ってみましょう。
A列に日付(シリアル値)が入力されている状態です。そして、B列に上図のように関数を入力します。
すると、日付から年数のみ取り出すことができました。
例えばYEAR関数とIF関数を組み合わせることで条件を分岐させることができます。
2019年以降だったら「A」それ以前は「B」と表示させるようにします。
上図のように数式を入力しきちんとABが表示されればOKです。
このように、日付の「年」だけ抜き出し、さらにそこから条件分岐処理をすることが可能です。
データ処理をする際に、年によって事務処理方法を分けたい時などに有効です。
MONTH関数
日付(シリアル値)から「月」を抜き出す関数です。
書式は
MONTH(シリアル値)
です。
以下のように数式を入力してみましょう。
日付に対応する月が抜き出せましたね。
MONTH関数でもIF関数と組み合わせて少し工夫してみます。
C1セルに以下のように数式を入力し、C12セルまでコピーしてみましょう。
=IF(AND(B1>=4,B1<=6),”第1四半期”,IF(AND(B1>=7,B1<=9),”第2四半期”,IF(AND(B1>=10,B1<=12),”第3四半期”,”第4四半期”)))
ちょっと数式が長くなりましたが、
要は4~6月は第1四半期、7~9月は第2四半期、10~12月は第3四半期、1~3月は第4四半期と表示される数式です。
ちゃんと数式が書ければ四半期ごとに表記を分けることができました。
その他にも月ごとで違う処理をしたいときに有効な方法ですね。
ネストに関しても複雑だと感じられた場合は、作業列を設けるなどして工夫してください。
DAY関数
日付(シリアル値)から「日」を抜き出す関数です。
書式は、
DAY(シリアル値)
です。
以下のように数式を入力してみましょう。
できましたか。
それでは、もう一工夫して10日までを上旬、20日までを中旬、月末までを下旬としてみます。
C1セルに以下のように数式を入力し、C31までコピーしてみましょう。
=IF(AND(B2>=1,B2<=10),”上旬”,IF(AND(B2>=11,B2<=20),”中旬”,”下旬”))
きれいに分けられましたね。
日々の処理を工夫したいときに使えそうですね。
まとめ
いかがでしたか。
今回は、シリアル値と日付に関係する関数を紹介しました。
基本的なことですが、シリアル値は盲点となっている方も多いので、これを機に覚えてしまいましょう。
最後に今回ご紹介した関数の一覧を載せておくので参考にしてください。
次回からこれらの関数を使って実際にカレンダー作りに取り掛かります。
それでは、また次回お会いしましょう。
カレンダーアプリ作成記事一覧
【エクセルでカレンダー作成】シリアル値の概念を知り日付関数の基礎をマスター
【エクセルでカレンダー作成】日付と曜日を表現する関数をマスターしよう
【エクセルでカレンダー作成】作業列を設けてカレンダー作りにとりかかる
【エクセルでカレンダー作成】VLOOKUP関数と条件付き書式でカレンダーを作りこむ
【エクセルVBA】VBAでカレンダーを作るときに最も重要な関数
【エクセルVBAでカレンダー作り】DoLoopとDateAdd関数を使って日付を書き出す方法
【エクセルVBAでカレンダー作り】OFFSETとVLOOKUPを使って検索抽出する方法
【エクセルVBA】別シートからカレンダーに行事を転記する方法
【エクセルVBA】カレンダーの土日だけ色を変える方法とRangeオブジェクトの応用的な使い方
【エクセルVBA】プロシージャをまとめてカレンダーを完成させよう