エクセル関数、今月の第3日曜日は何日?

エクセルは表計算シートアプリです。そして表処理に便利な関数がたくさん用意されています(とても憶えきれるものではありませんが、、、また使う機会がないと忘れてしまいますが、、、)。
ここでは先日の祝祭日カレンダー、成人の日など特定の週の特定の曜日を求める方法について、使用するWeekday関数とChoose関数、について具体的に書いてみます。

下図はブログで使ったエクセルファイルです(Excel Onlineでは働きません、ダウンロードで使用できます)
1-第何曜日

【第何曜日を求める】
先ずその月の朔日(以下一日)の曜日をWeekday関数で求めます。そうすると求める曜日の第一曜日の日が算定できます。後はこの日に7日の倍数を加えれば目的の週の日が分かります。そして一日が月曜日の場合、火曜日の場合というように各曜日について、目的の週の曜日の日を求めます。
このように求めた日をChoose関数の戻り値(値1、値2、、、)に設定します。そしてChoose関数のシリアル値にはその月の一日の曜日を設定すれば、第何週目の何曜日は何日になるか知ることができます。

1.一日の年月日を設定する
Date関数を使います。
このブログでは年月日は、年は$A$1セル、月は$C$1セルにスピンボタンで設定してます。よって一日の年月日は「 =Date($A$1,$C$1,1)」となります。
ブログでは「$H$1」セルに一日の年月日を入れています。

2.一日の曜日を求める
Weekday((シリアル値,週の基準))関数を使います。
一日の曜日は「=Weekday(Date($A$1,$C$1,1))」で求められます。
上で設定した「一日の年月日(Date($A$1,$C$1,1)」がこの関数の引数となっています。Date関数は「週の基準」で曜日順を設定しますが、省略すると日曜日を「1」として始まる形となります。
ブログの例では、「$A$4」セルに当月の一日の曜日を入れています。なお、Weekday関数の戻り値は1から7の数字で直感的でないので、隣りの「$B$5」セルに文字の曜日に変換して表示させています。
「=TEXT(DATE($A$1,$C$1,1),”aaa”)」  —- 曜日を漢字で表記させます

3.何曜日の第一回目の日を知り、第何週の何曜日を算定
一日の曜日が分かれば、特定の曜日の第一日目を数えることができます。
例えば、一日が水曜日(4)なら、次の日曜日は、木・金・土・日と4日後、つまり5日となります。よって第三日曜日ならこれに14日を足して「5+14=19」、19日となります。
一日が月曜日(2)ならば、次の日曜日は、火、水、木・金・土・日と6日後、7日となるわけです。この場合の第三日曜日は「7+14=21」つまり21日となります。

4.Choose 関数で何週の何曜日を求める
Choose(シリアル値,値1,値2,,,,値m)関数はシリアル値「n」に対応した「値n」を戻します。
ここではシリアル値は一日の曜日とします。値1から値7は第何週何曜日となる日を上記の方法で算出して、一日が日・月・火、、、、土である順に入れます。
例えば第3日曜日を知るには、
CHOOSE(WEEKDAY(DATE($A$1,$C$1,1)),15,21,20,19,18,17,16)となります。
2-第何曜日

なお、ブログで使ったエクセルファイルでは、第三日曜日と第五日曜日と直截的な表示としましたが、第三日曜日、第五日曜日の代わりに、「PCを楽しむ会」などと表示させれば、より実際的になったかなあと思いました。

※ 開発タブを表示する方法
開発タブを表示する

カテゴリー: エクセル, Office(オフィス) タグ: , パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中