アプリ版:「スタンプのみでお礼する」機能のリリースについて

仕事の都合上、週目を出せる式を知っていると非常に助かるので
計算式を考えているんですが
式を見つけ出せなくて困っています。
どなたか知恵を貸していただけないでしょうか?

例えば
あなたの生年月日は第何週目ですか?

これをカレンダーを見ないで求める式です。
申し訳ありませんが宜しくお願い致します。

A 回答 (4件)

Zellerの公式でできませんか?


あとはいくつかの事項を取り決めることが必要.
一週間を日曜日から土曜日までと,
第一週とは1月1日から最初の土曜日までと規定する.
つまり,2010年であるならば
1/1(金),1/2(土)が第一週であり
1/3(月)~1/9(土)が第二週というようにする

(1) 求めたい年の1月1日の曜日を計算する(Zellerの公式)
(2) 第一週を求める.求めたい年月日がここに入っていれば終わり
(3) 第二週の最初の日を求める
(4) 求めたい年月日と第二週の最初の日までの日数を求める
(5) (4)で求めた値を7で割った商に2を加える
#注意:(4)は閏年のことも考慮にいれないとだめだけど
#大抵のライブラリの日付の引き算の関数はそのあたりも込みで
#実装されているんじゃないかな

細かいところはきちんとつめないとだめだけども
大筋はこれでいけるんじゃないかと思う
    • good
    • 0
この回答へのお礼

回答をヒントに考えたらできました。
ありがとうございます。

お礼日時:2010/01/02 17:44

Ano.2です。


長くなりますが、
=IF(WEEKNUM(EOMONTH(A1,-1))>50,WEEKNUM(A1,1),IF(WEEKNUM(EOMONTH(A1,-1)+1)=WEEKNUM(EOMONTH(A1,-1)),WEEKNUM(A1,1)-WEEKNUM(EOMONTH(A1,-1))+1,WEEKNUM(A1,1)-WEEKNUM(EOMONTH(A1,-1))))
で、どうでしょう。
    • good
    • 0

Ano.2です。


前の回答では、不備がありますので、とりあえず無視してください。ごめんなさい。
    • good
    • 0
この回答へのお礼

IFを応用するというアイディアに助けられました
ありがとうございます。

お礼日時:2010/01/02 17:43

数学の公式のように求めるのは、いろいろな場合に分ける必要が出てくるので、難しいと思います。


プログラミングを考えているなら、Zellerの公式など使えばできると思います。
実用的に求めたいというのであれば、Excelで求められます。週目というのが年の初めからなのか、各月なのかわかりませんし、週目の区切りもどう数えるかによって変わってきます。
Excelなら、つぎのようです。
A1に日付を入れるとします。
土曜日と日曜日の間を週の区切りとします。
年はじめから何週目
=WEEKNUM(A1,1)
各月の何週目
=IF(WEEKNUM(EOMONTH(A1,-1))>50,WEEKNUM(A1,1),WEEKNUM(A1,1)-WEEKNUM(EOMONTH(A1,-1))+1)
で、どうでしょう。
    • good
    • 0

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