Excelの週番号に一貫性のない結果


18

特定の日付の週番号を含むスプレッドシートを使用しています。いくつかの調査の後、日付の列に適用できる関数ISOWEEKNUM()を見つけましたが、これは正常に機能するように見えました。このスプレッドシートからの抜粋は、以下のリンクに示されています。

スプレッドシートからの抜粋

しかし、2018年12月31日の週番号を1週目として表示すると、2018年に機能が壊れるように見えることに気付きました。

この関数の日付以外のパラメーターはないため、非常に簡単に見えます。これを機能させる方法はありますか?


4
今年の一環として、週数はその週の大半はである。
CodesInChaos

回答:


33

フォーミュラに問題はありませんが、使用したいフォーミュラではない可能性があります。別のExcel式があります。

=WEEKNUM(serial_num, [return_type])

それはあなたが得ると期待する結果を返します。ただし、最初にアプリケーションに適した週番号のタイプを確認する必要があります。

さらに説明しましょう。

ISOWEEKNUM(日)関数は、週は、常に月曜日に始まることに基づいて動作し、日曜日に終了し、その後、年の最初の週は、週に一年の最初の木曜日が含まれる週であることを標準に設定します。これは、前年の最後の数日を翌年の週1としてラベル付けできることを意味します。

WEEKNUM(日付、START_DAY)関数は1月1だから、1月1日は、デフォルトでは週1の最初の日である含まれている週のカウントを開始し、新しい週は1月1日後にその週の日曜日に最初の日曜日に2開始を開始します。関数の2番目のパラメーターを使用して、開始日を変更できます。つまり、1月1日が土曜日であり、デフォルトの開始日が使用されている場合、最初の週には1日を含めることができます。<-これはWEEKNUM()関数の背後にある重要な理解です。

日付値を含む小さなスプレッドシートを作成し、違いを示すためにさらにいくつかを追加しました。

ここに画像の説明を入力してください

年の最終日が来年の最初の週になるのは2018年だけではないことに注意してください。ISOWEEKNUM()関数は正常に機能しますが、最初の週がいつ始まるかについての解釈が異なります。

これを確認する別の方法は、1月1日をまたぐ1日の期間で2つの関数を調べることです。

ここに画像の説明を入力してください

2015年の1月1日は木曜日です。したがって、ISOWEEKNUM()週関数は12月の最後の3日間を含み、WEEKNUM()関数は1月1日に週を開始しますが、デフォルトの開始日曜日の最初の週には3日間しかありません。

これが違いを説明することを願っています。


1
フィードバックありがとうございます。どちらの回答も、受け取った回答が正しい理由を理解するのに役立ちました。実際、スプレッドシートにweeknum()が必要だったため、受け入れられた回答として@Clintonを選択しました。これにより、機能の違いを明確に理解できました。
WPDavid

17

2018年12月31日の週番号を週1として表示すると、2018年に機能が故障したように見えます

2018年12月31日は月曜日なので、これは正しいです。

12月31日が月曜日、火曜日、または水曜日の場合、翌年の週01になります。木曜日の場合は、ちょうど終了する年の53週目です。金曜日の場合は52週目になります(終了する年がうるう年の場合は53週)。土曜日または日曜日の場合は、ちょうど終了する年の52週目です。

ソースISO週日-ウィキペディア


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.