Excelの日付と時刻関数は、簿記係、プロジェクトプランナー、人事部など、時間が重要となる業務の負担を軽減します。ここで紹介する4つの関数(ISOWEEKNUM、WEEKNUM、WORKDAY、WORKDAY.INTL)は複雑なので、詳細な手順と例を挙げて説明します。
注: 最初に各関数が定義され、次に関数の引数 (関数が計算を実行するために使用する値) が定義され、さらに関数の構文 (関数の名前と引数を含む数式の配置方法) が定義されます。
注意: 引数は常に括弧で囲まれ、個々の引数はコンマで区切られます。
週番号関数
現在、世界中で使用されている主な週番号システムは3つだけであり、それぞれに独自の特徴があります。ここでは、各システムとそれらに対応するExcel関数を紹介します。
- WEEKNUM はオプションの 2 番目の引数を使用して、特定の日付から始まる週を定義します。
- ISOWEEKNUM() は、ISO (国際標準化機構) によって定義された ISO 週システムで動作します。
- 週番号を手動で付ける方法では、最初の週は 1 月 1 日から始まり、2 番目の週は 1 月 8 日から始まり、閏年の場合は 1 日または 2 日だけになる週 53 で終わります。
週番号()
この関数の引数は次のとおりです。
シリアル番号: 週内の任意の日付: たとえば、日付を含むセル参照、DATE 関数で入力された日付、または別の数式から計算された日付にすることができます。
Return_type (オプション): 週が始まる曜日を決定する数値 (デフォルトはタイプ 1、つまり週が日曜日に始まる)。
構文は次のようになります: WEEKNUM(serial_number,[return_type])
結果: 答えは1から54までの週番号の値を返します
返品種別 - 週の開始日:
1または17(または省略): 日曜日
2または11: 月曜日
12: 火曜日
13: 水曜日
14: 木曜日
15: 金曜日
16: 土曜日
21: 月曜日(ISO週番号機能で使用)
WEEKNUM を使用して数式を設定する方法は次のとおりです。
1. セル A4 から A15 に 10 個または 12 個のランダムな日付を入力します。
2. カーソルをB4に移動します。 「数式」 > 「日付と時刻」に移動し、ドロップダウンリストからWEEKNUMを選択します。
注:関数を入力する際、最後の引数の後に任意のキー(スペースバーなど)を押すと、Excelは上記の10個のオプションを一覧表示するポップアップメニューを表示します。リストから適切なコードを選択し、Enterキーを押してください。

3. [関数の引数] ダイアログ ウィンドウで、シリアル番号フィールド (このフィールド ボックス内に既に配置されているはずです) でカーソルをクリックし、セル A4 (ランダム日付の列の最初の日付) をクリックします。
4. セルB4に週番号が表示されます。上の数式バーに数式(構文)が表示されていることに注目してください。
5. セル B4 から B5 から B15 まで数式をコピーします。
JD サルティン
ISOWEEKNUM()
ISO(国際標準化機構)週番号システムは、主に簿記係、タイムキーパー、会計士、エンジニア、人事、政府、情報システム部門で会計年度の計算に使用されています。基本的に、このシステムでは、日や月ではなく週で年を定義します。グレゴリオ暦に基づいて、年間の序数週の表記法を定義します。つまり、ISO週番号システムは、それぞれ364日または371日で、52週または53週で構成されます。週は月曜日から始まり、各年で木曜日を含む最初の週に週番号1が割り当てられます。
注: Microsoft はこの関数を Excel 2013 で導入しました。Excel の以前のバージョンでは、WEEKNUM 関数は、Excel の数式で週番号を返す唯一の方法でした。
この関数の引数は次のとおりです。
- 日付: 有効な日付 (日付または Excel のシリアル番号)
- 構文は次のようになります: =ISOWEEKNUM(date)
- 結果: 回答は 1 ~ 53 の範囲の値 (または週番号) を返します。
1. 列 A の A4 から A15 まで、10 個または 12 個のランダムな日付を入力します。
2. カーソルをB4に移動します。「数式」 > 「日付と時刻」に移動し、ドロップダウンリストから「ISOWEEKNUM」を選択します。

3. [関数の引数] ダイアログ ウィンドウで、日付フィールド (このフィールド ボックス内に既に配置されているはずです) 内でカーソルをクリックし、セル A4 (ランダム日付の列の最初の日付) をクリックします。
4. ISO週番号がセルB4に表示されます。数式バー(上部)に数式(構文)が表示されます。
5. セル B4 から B5 から B15 まで数式をコピーします。

WORKDAY関数を使用すると、配達日、期日、将来の日付、または範囲内のランダムな日付を計算できます。また、営業日数に基づいて一連の日付を計算したり、目標日に基づいて開始日を取得したりすることもできます。ただし、休日、有給休暇、非稼働日などの特定の日を除外する必要があります。
将来の日付を計算するには正の数を使用し、過去の日付を計算するには負の数を使用することに注意してください。
この関数の引数は次のとおりです。
- start_date: 開始する日付。
- days: start_date の前または後の営業日。
- 休日: 非営業日として定義される日付のオプションのリスト。
構文は次のようになります: =WORKDAY (開始日,日数,[休日])
回答は、特定の日付を表すシリアル番号を返します。
注意: WORKDAY関数は、end_dateを計算する際にstart_dateの「日付」を就業日として計算しません。また、WORKDAY関数は「通常の」週末、つまり土曜日と日曜日を計算に含めません。
1. 列 A、B、C、D、E にそれぞれ次のフィールド/列ヘッダーを入力します: 開始日、日数、実績、休日 (中央揃えで D と E に結合)。
2. 列 A にランダムな日付を入力し、列 B にランダムな数字 (日数) を入力します。
3. 会社の休日(名前と日付)を D 列と E 列に入力します。
4. セルC4(結果列)にカーソルを置きます。「数式」 > 「日付と時刻」に移動し、ドロップダウンリストからWORKDAY関数を選択します。

5. [関数の引数] ダイアログ ボックスで、Start_Date フィールド ボックス内をクリックし、セル A4 にカーソルを置きます。
6. Tab キーを押して「日数」フィールド ボックスに移動し、セル B4 でカーソルをクリックします。
7. Tabキーを押して「休日」フィールドボックスに移動し、会社の休日日を含むセル(E4~E16)を選択/強調表示します。「OK」をクリックします。
数式バーに「=WORKDAY(A4,B4,E4:E16)」という数式が表示されていることに注目してください。A4は開始日、B4は日数、E4からE16は休日の範囲です。
重要:この数式をセル C4 から C5 から C15 にコピーする前に、関数キー F4 を使用して、休日セルを絶対値にしてください: =WORKDAY(A4,B4,$E$4:$E$16) これにより、休日範囲内の日数が常に同じになります (E4 から E16)。

8. 次に、「ホーム」 > 「書式」を選択し、ドロップダウンメニューから「セルの書式設定」を選択します。「日付」カテゴリから日付の形式を選択し、「OK」をクリックします。
9. C4 の数式/日付を C5 から C15 にコピーします。

10. この式を使用すると、たとえば、8 月 1 日から 8 月 26 日 (B4) までには 19 日間の「営業日」があり、4 月 14 日から 4 月 29 日 (B5) までには 11 日間の「営業日」があることがわかります。

WORKDAY.INTL()
WORKDAY.INTLとWORKDAYの主な違いは、INTL関数では週のどの曜日を週末とするかをカスタマイズできることです。この関数はExcel 2010で数式メニューに追加されたため、それ以前のバージョンでは使用できません。
この関数の引数は次のとおりです。
- start_date: 開始日
- 日数: 終了日
- 週末日 [オプション]: このパラメータを使用して週末日を定義します
- 休日 [オプション]: 休日の日付の定義済みリスト(非営業日)
構文は次のようになります: =WORKDAY.INTL (start_date,days,[weekend], [holidays])
結果: 入力されたデータに基づいて、次のまたは前の稼働日を返します。
未来の日付には正の数、過去の日付には負の数を使用してください。また、休日は、実際の休日の日付を指定したセル範囲、または休日の実際の日付を表すシリアル値のリストとして入力してください。
1. 上記と同じスプレッドシートを使用します。
2. 列 C の WORKDAY 関数を削除します。
3. 上記と同じ休日範囲、つまり E4 から E16 を使用します。
4. 以下の週末の曜日コード番号を使用して、週末の曜日を定義します。このパラメータを空白(または未指定)にした場合、デフォルトで1番が使用されます。
週末の日数
1 土曜日、日曜日
2 日曜日、月曜日
3 月曜日、火曜日
4 火曜日、水曜日
5 水曜日、木曜日
6 木曜日、金曜日
7 金曜日、土曜日
11 日曜日のみ
12 月曜日のみ
13 火曜日のみ
14 水曜日のみ
15木曜日のみ
16金曜のみ
17 土曜日のみ
5. セルC4(結果列)にカーソルを置きます。「数式」タブ > 「日付と時刻」ボタンをクリックし、ドロップダウンリストからWORKDAY.INTL関数を選択します。

6. [関数の引数] ダイアログ ボックスで、Start_Date フィールド ボックス内をクリックし、セル A4 にカーソルを置きます。
7. Tab キーを押して「日数」フィールド ボックスに移動し、セル B4 でカーソルをクリックします。
8. Tabキーを押して「週末」フィールドボックスに移動し、上記のリストから週末の曜日に対応する番号を入力します。金曜日と土曜日を表す7番を選択したので、前の例(デフォルトの週末である土曜日と日曜日を使用した場合)とは結果が異なります。
9. Tabキーを押して「休日」フィールドボックスに移動し、会社の休日日を含むセル(E4~E16)を選択します。「OK」をクリックします。
数式バーの数式「=WORKDAY.INTL(A4,B4,7,E4:E16)」に注目してください。A4は開始日、B4は日数、7は週末の金曜日と土曜日のコード、E4からE16は休日の範囲です。
休日セルを絶対値にするには、ファンクション キー F4 を使用することを忘れないでください: =WORKDAY.INTL(A4,B4,7,$E$4:$E$16) そうすれば、休日範囲内の日は常に同じになります (E4 から E16)。

8. 次に、 「ホーム」 > 「書式」を選択し、 ドロップダウンメニューから「セルの書式設定」を選択します 。「日付」カテゴリから日付の形式を選択し、「OK」をクリックします。
9. C4 の数式/日付を C5 から C15 にコピーします。
