\Excelショートカット集もらえる/
Excel WEEKDAY関数完全マスター:基礎から応用まで解説
はじめに:Excel WEEKDAY関数とは
Excelで日付処理を行う際に便利な関数の1つが「WEEKDAY関数」です。この関数を使えば、特定の日付がどの曜日に当たるのかを簡単に知ることができます。「日付は分かっているけど、曜日が分からない」というシーンで大活躍する関数なのです。
本記事では、WEEKDAY関数の基本的な使い方から応用テクニックまでを詳しく解説します。これを読めば、あなたもWEEKDAY関数のプロフェッショナルになれること間違いなしです!
こんなお悩みありませんか?
- 特定の日付の曜日を素早く知りたい
- 大量の日付データから特定の曜日だけを抽出したい
- 日付計算を含む複雑な条件式を作りたい
もしこれらの悩みを持っているなら、WEEKDAY関数はあなたの強い味方になるでしょう。それでは、具体的な使い方を見ていきましょう。
WEEKDAY関数の基本的な使い方
WEEKDAY関数の基本的な構文は以下の通りです:
=WEEKDAY(シリアル値, [種類])
ここで、
- シリアル値:日付を指定します。セル参照や直接入力した日付を使用できます。
- [種類]:戻り値の種類を指定します。省略可能で、省略した場合は1が使用されます。
種類の指定による戻り値の違い
種類の指定によって、戻り値が変わります。主な種類は以下の通りです:
種類 | 戻り値 |
---|---|
1 または省略 | 1(日曜日)~ 7(土曜日) |
2 | 1(月曜日)~ 7(日曜日) |
3 | 0(月曜日)~ 6(日曜日) |
基本的な使用例
では、実際に使ってみましょう。2024年1月1日の曜日を調べてみます。
=WEEKDAY(DATE(2024,1,1))
この式は「2」を返します。つまり、2024年1月1日は月曜日であることが分かります。
注意点:戻り値は数値
WEEKDAY関数の戻り値は数値であることに注意してください。「月曜日」や「火曜日」といったテキストを直接返すわけではありません。曜日の名前が必要な場合は、後ほど説明する方法を使って変換する必要があります。
WEEKDAY関数の実践的な使用例
1. 特定の曜日のみを抽出する
例えば、日付リストから月曜日のみを抽出したい場合、以下のような数式を使用できます:
=IF(WEEKDAY(A2)=2, "月曜日", "")
この数式をA列の日付に対して適用すると、月曜日の場合のみ「月曜日」と表示されます。
2. 営業日を計算する
土日を除いた営業日数を計算したい場合、WEEKDAY関数を使って以下のように計算できます:
=IF(OR(WEEKDAY(A2)=1, WEEKDAY(A2)=7), 0, 1)
この数式は、土曜日(7)または日曜日(1)の場合は0を、それ以外は1を返します。これを使って営業日数を合計できます。
3. 曜日名を表示する
WEEKDAY関数の結果を曜日名に変換するには、CHOOSE関数と組み合わせるのが効果的です:
=CHOOSE(WEEKDAY(A2), "日", "月", "火", "水", "木", "金", "土")
この数式により、日付に対応する曜日名を直接表示できます。
WEEKDAY関数の応用テクニック
1. 翌営業日を求める
ある日付の翌営業日(土日を除く)を求めるには、以下のような数式を使用できます:
=A2 + CHOOSE(WEEKDAY(A2), 2, 1, 1, 1, 1, 3, 2)
この数式は、金曜日なら3日後(月曜日)、土曜日なら2日後(月曜日)、それ以外は1日後を返します。
2. 四半期の初日を求める
WEEKDAY関数を使って、日付が属する四半期の初日を求めることができます:
=DATE(YEAR(A2), ROUNDDOWN((MONTH(A2)-1)/3,0)*3+1, 1)
この数式は、指定された日付が属する四半期の最初の日を返します。
3. 週番号を計算する
年内の週番号を計算するには、WEEKDAY関数とWEEKNUM関数を組み合わせます:
=WEEKNUM(A2, 2)
この数式は、月曜日を週の始まりとして週番号を計算します。
WEEKDAY関数使用時によくある間違いと対策
WEEKDAY関数を使用する際に、以下のような間違いに注意しましょう:
1. 日付の形式を間違える
間違いの例: =WEEKDAY(“2024/1/1”)
正しい使い方: =WEEKDAY(DATE(2024,1,1))
解説: 文字列として日付を入力すると、Excelの地域設定によっては正しく認識されない場合があります。DATE関数を使用するか、セル参照を使用することで、この問題を回避できます。
2. 種類の指定を間違える
間違いの例: =WEEKDAY(A2, 4)
正しい使い方: =WEEKDAY(A2, 1) または =WEEKDAY(A2, 2) または =WEEKDAY(A2, 3)
解説: WEEKDAY関数で有効な種類は1、2、3のみです。4以上の値を指定すると、#NUM!エラーが返されます。目的に応じて正しい種類を選択しましょう。
3. 結果の解釈を間違える
間違いの例: WEEKDAY(A2)=1 を月曜日と解釈する
正しい解釈: WEEKDAY(A2)=1 は日曜日を示す(種類1の場合)
解説: WEEKDAY関数の戻り値の意味は、指定した種類によって異なります。種類を省略した場合(または1を指定した場合)、1は日曜日を示します。月曜日を1として扱いたい場合は、種類に2を指定する必要があります。
これらの間違いを避けることで、WEEKDAY関数をより効果的に活用できます。常に関数の仕様を確認し、必要に応じてテストを行うことをおすすめします。
WEEKDAY関数の練習問題
以下の練習問題を通じて、WEEKDAY関数の理解を深めましょう。
問題1
セルA1に「2024/4/1」が入力されています。この日が月曜日から金曜日の間かどうかを判定する数式を作成してください。
回答
=AND(WEEKDAY(A1,2)>=1, WEEKDAY(A1,2)<=5)
解説
この数式では、WEEKDAY関数の第二引数に2を指定しています。これにより、月曜日が1、金曜日が5となります。AND関数を使用して、戻り値が1以上5以下であるかを判定しています。結果がTRUEなら平日、FALSEなら週末となります。
問題2
セルA2に任意の日付が入力されています。この日付の10営業日後(土日を除く)の日付を求める数式を作成してください。
回答
=A2 + 14 - WEEKDAY(A2+14,3) + IF(WEEKDAY(A2+14,3)>4,-2,0)
解説
この数式は複雑に見えますが、以下のように動作します:
- まず、14日後の日付を計算します(2週間分の日数)。
- WEEKDAY関数を使って、その日の曜日を0(月曜)から6(日曜)の値で取得します。
- 14から曜日の値を引くことで、直近の金曜日までの日数を調整します。
- 最後に、IF関数を使って土日の場合は2日分戻します。
この方法により、常に10営業日後の日付を正確に計算できます。
問題3
セルA3に2024年の任意の日付が入力されています。この日付が2024年の第何週目かを計算する数式を作成してください。ただし、週の始まりは月曜日とします。
回答
=WEEKNUM(A3,2)
解説
WEEKNUM関数は、指定された日付が年間の第何週目かを計算します。第二引数に2を指定することで、週の始まりを月曜日に設定しています。この数式により、2024年内の週番号を簡単に求めることができます。
これらの練習問題を通じて、WEEKDAY関数の実践的な使用方法や他の関数との組み合わせ方を学ぶことができます。実際のデータで試してみることで、さらに理解が深まるでしょう。
WEEKDAY関数を使いこなすことで、カレンダー関連の計算や条件付き書式の設定、さらには複雑な業務ロジックの実装まで、幅広いタスクをより簡単に行えるようになります。
Excelスキルの向上は、ビジネスシーンでの生産性を大きく高めます。WEEKDAY関数はその一歩となる重要な関数の1つです。ぜひ、本記事で学んだ技術を実際の業務に応用してみてください。
さらなるExcelスキルアップを目指す方へ
WEEKDAY関数を含む日付関数の活用は、Excelスキルアップの重要な一歩です。しかし、真のExcelマスターになるためには、さらに多くの関数や機能を学ぶ必要があります。
ユースフルでは、初心者から上級者まで、幅広いレベルに対応したExcel講座を提供しています。プロフェッショナルな講師陣による丁寧な指導と、実践的な演習を通じて、あなたのExcelスキルを次のレベルへと引き上げることができます。
特に、「ExcelPro講座」では、WEEKDAY関数を含む高度な関数の使い方から、データ分析、マクロ作成まで、ビジネスで即戦力となるスキルを体系的に学ぶことができます。
Excelの可能性を最大限に引き出し、仕事の効率を劇的に向上させたい方は、ぜひユースフルの講座をご検討ください。
今すぐ行動を起こして、あなたのExcelスキルを次のレベルへ引き上げましょう!