プロが教える店舗&オフィスのセキュリティ対策術

エクセルで、その月の第一日曜日の日にちを求めるにはいったいどうしたら言いのでしょうか。考えても考えても判りません。教えて下さい!

A 回答 (6件)

すみません回答No5のbeer55です。


間違いがありましたので訂正します。
誤:(月~日曜日が1~7に対応、WEEKDAY関数の種類は「2」) とありますが
正:(月~日曜日が1~7に対応、WEEKDAY関数の種類は「1」) です
種類は入力しなくても結構です。
また本日の日付も間違っていました
本日は9月7日です。
    • good
    • 0

こんにちわ!


月の第一日曜日の日にちを求める方法として
=DATE(2003,9,8)-WEEKDAY(DATE(2003,9,7))ではいかがですか(本日9月8日なので9月としました。)
DATE(2003,9,8)は、下記の算式で求めます。
各週の曜日を求める式
日曜日(8+(n-1)*7-WEEKDAY(7)
月曜日(8+(n-1)*7-WEEKDAY(6)
火曜日(8+(n-1)*7-WEEKDAY(5)
水曜日(8+(n-1)*7-WEEKDAY(4)
木曜日(8+(n-1)*7-WEEKDAY(3)
金曜日(8+(n-1)*7-WEEKDAY(2)
土曜日(8+(n-1)*7-WEEKDAY(1)
(月~日曜日が1~7に対応、WEEKDAY関数の種類は「2」)
(8+(n-1)*7のnは何週かを示します。
第一週なら1、第二週なら2となります。
    • good
    • 0

既回答と同じですが


=DATEVALUE("2003/8/1")+8-WEEKDAY("2003/8/1")
次ぎの日曜日が求まります。
A2に2003/8/1とあるとして
=A2+8-WEEKDAY(A2)
第1日曜日は1日時点の次の日曜日と考える。但し
2003/6/1の時は2003/6/8になって不適当となるので
=IF(WEEKDAY(A3)=1,A3,A3+8-WEEKDAY(A3))
WEEKDAYは「種類」引数の内容が1,2,3あり、1が既定値ですから略しています。
    • good
    • 0

一度に計算する方法もありますが、考え方を整理する為に


次のように分けて考えた方がいいです。
A列に日付を入れる
例 a1 に 2003/8/15
B1に =WEEKDAY(YEAR(A1) & "/" & MONTH(A1)& "/1")
とする これはその月に1日が何曜日かを求める計算式
です。
この場合 6が表示されますね。これば金曜日という事です。

C1に =IF(B1=1,2-B1,9-B1)
とする 値は 3となりますね。
これがその月の第一日曜日です。

よってD1に =YEAR(A1)&"/"&MONTH(A1)& "/" & C1

として第一日曜日が求まります。

他にもスマートな方法があると思いますが、こうして
解析していくと考え方が分かりやすいと思います。
    • good
    • 0

#1です。

追加です。

もし、第一日曜日を知りたい月のデータが既に日付形式で用意されている場合は、次のようにしてください。

セルA1に「2003/8/21」などと入っているとします(問題になるのは年月だけなので、日は何日でも構いません)

次にセルB1に次のような関数式を入れます。ちょっと長いですが、コピペすれば簡単ですよね。

=DATE(YEAR(A1),MONTH(A1),8-WEEKDAY(DATE(YEAR(A1),MONTH(A1),1),2))

すると、B1には「2003/8/3」と表示される筈です。
#1の時と同様で、もし日付ではなく、奇妙な数字(37871)が表示されたなら、C1を右クリックし、セルの書式設定⇒表示形式で、表示を日付形式(YY/MM/DDなど)にしてください。

関数式の考え方ですが、与えられた日付を一旦分解して、その月の1日の曜日を調べ、そこから第一日曜日の日付を求めるというやり方になっています。式の中ほどにある「,8-」の「8」を変更すれば、第二日曜日や第三火曜日を出すことも可能です。
    • good
    • 0
この回答へのお礼

有難うございました。たすかりました。

お礼日時:2003/08/21 14:33

方法は幾つもありますし、もっとスマートなやり方も在るかもしれませんが、とりあえず。



たとえば2003年8月の第一日曜日が何日か求めたい場合、セルA1に「2003」、B1に「8」と入力しておきます。そして、C1に次の関数式を入力してください

=DATE(A1,B1,8-WEEKDAY(DATE(A1,B1,1),2))

もし日付ではなく、奇妙な数字(37871)が表示されたなら、C1を右クリックし、セルの書式設定⇒表示形式で、表示を日付形式(YY/MM/DDなど)にしてください。
    • good
    • 0
この回答へのお礼

有難うございました!たすかります。

お礼日時:2003/08/21 15:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!