応募する

応募する

Tel.03-4500-9361 / 受付時間:平日10:00~19:00

こちらは全て株式会社エージェントゲートでの採用・募集となります。

エクセル(Excel)のWEEKDAY関数の使い方|土日に色をつける方法を解説

エクセルにはさまざまな関数がありますが、WEEKDAY(ウィークデー)関数というものをご存知でしょうか?WEEKDAYという名前の通り、曜日に関係する関数です。WEEKDAY関数を使えば、曜日から日付を取得する、特定の曜日に色を付ける、毎週の定例イベントを自動出力するといったことができます。

この記事では、業務を大きく効率化できる、エクセルのWEEKDAY関数の使い方を解説しています。記事の後半では、WEEKDAY関数を使って返り値から曜日を求める際の意外な落とし穴について詳しく解説しているので、エクセル初心者の方はもちろん、中級レベルの方も、ぜひ参考にしてください。

WEEKDAY(ウィークデイ)関数

WEEKDAY関数は、参照先の日付をもとに曜日を判断し、対応する返り値(戻り値)を出力する関数です。曜日ではなく返り値を出すというのが最大の特徴で、この返り値を使ってさまざまな用途へ応用できます。引数が少し複雑で、使っていくうちに混同してしまうケースが多々見られます。

WEEKDAY関数の数式

WEEKDAY関数は、下記の数式で表現される関数です。

=WEEKDAY(シリアル値,週の基準)

シリアル値や、週の基準など、難しい言葉が出てきました。順に解説していきます。まず、シリアル値は参照先の日付のことです。少し難しい名前が付いていますが、参照先のセルと思って大丈夫です。このシリアル値は必ず入力しなければならない項目で、記入を忘れるとエラーが発生します。A5セルやD9セルなど、セル番地がシリアル値に入るので、そこまで苦労することなく理解できるでしょう。

次に週の基準ですが、1週間は何曜日から始まるかというパターンのことを指しています。日曜から始まって、土曜で終わるのか、月曜から始まって日曜で終わるのか、人によって1週間の捉え方はさまざまです。普通に考えれば1週間は7日なので、7パターンかと思いきや、10パターンの週の基準があります。そのパターンをリストアップしたので、ぜひ参考にしてください。

週始まりの基準特徴返り値
1または省略日曜始まり土曜終わり
週の基準を省略すると、この返り値が返される
日曜(1)、月曜(2)火曜(3)、水曜(4)木曜(5)、金曜(6)、土曜(7)
2月曜始まり日曜終わり
返り値は1から7
月曜(1)、火曜(2)水曜(3)、木曜(4)金曜(5)、土曜(6)、日曜(7)
3月曜始まり日曜終わり
返り値は0から6
月曜(0)、火曜(1)水曜(2)、木曜(3)金曜(4)、土曜(5)、日曜(6)
11月曜始まり日曜終わり月曜(1)、火曜(2)水曜(3)、木曜(4)金曜(5)、土曜(6)、日曜(7)
12火曜始まり月曜終わり火曜(1)、水曜(2)木曜(3)、金曜(4)土曜(5)、日曜(6)、月曜(7)
13水曜始まり火曜終わり水曜(1)、木曜(2)金曜(3)、土曜(4)日曜(5)、月曜(6)、火曜(7)
14木曜始まり水曜終わり木曜(1)、金曜(2)土曜(3)、日曜(4)月曜(5)、火曜(6)、水曜(7)
15金曜始まり木曜終わり金曜(1)、土曜(2)日曜(3)、月曜(4)火曜(5)、水曜(6)、木曜(7)
16土曜始まり金曜終わり土曜(1)、日曜(2)月曜(3)、火曜(4)水曜(5)、木曜(6)、金曜(7)
17日曜始まり土曜終わり日曜(1)、月曜(2)火曜(3)、水曜(4)木曜(5)、金曜(6)、土曜(7)

上記の通り、何曜日から始まるかで、返り値が変わってきます。週の基準2を指定してWEEKDAY関数を使った場合、日付が月曜日の時は「1」が返り値になりますが、週の基準3を指定すると、月曜日は「0」という返り値になります。同じ月曜始まりですが、返り値が1つずつズレているため、別ものとして、週の基準も別の番号が振られている点には注意しましょう。

基本的には日曜始まりの1(省略)か、月曜始まりの2を使うのがわかりやすいのでおすすめです。1と17、2と11は内容が重複しているので、片方だけ覚えれば大丈夫です。

ここまでの内容をまとめると、WEEKDAY関数は=WEEKDAY(参照先の日付,週が始まる曜日の基準)という数式になります。

WEEKDAY関数の使い方

いざWEEKDAY関数を使ってみると、上記の画像のように曜日に対応した数字が表示されます。曜日ではなくただの数字が表示されるだけですが、どのような使い道があるのでしょうか?

特定の曜日に色を付ける

WEEKDAY関数を使えば、土日のような特定の曜日に色を付けられます。カレンダーやスケジュール帳を思い出してみるとわかりやすいですが、土曜は青色、日曜日は赤色のイメージがありますよね。会社でイベントスケジュールを作る際には重宝する機能なので、ぜひ覚えましょう。

まずは、見出しを除く表全体を選択して、ホームタブの条件付き書式から「新しいルール」を選びます。ここではB3からD14が選択範囲となります。一番下にある選択肢「数式を使用して、書式設定するセルを決定」をクリックしてWEEKDAY関数の数式を入力しましょう。

今回は週の基準を1(日曜始まり)にしました。返り値が1になったらという数式を記入したいので、数式は下記のようになります。

=WEEKDAY($D3,1)=1

次に画面右下の書式を選択して、フォントタブから色を赤に変えましょう。OKをクリックしたら、表の中の日曜日の行が赤色に変わっています。

では、土曜日はどのような手順で青色にすればいいのでしょうか。答えは「日曜日を赤フォントへ変える方法」と同じです。もう一度同じ手順を繰り返してみましょう。見出し以外の表を選択して、ホームタブの条件付き書式から「新しいルール」を選びます。「数式を使用して、書式設定するセルを決定」をクリックして、再びWEEKDAY関数の数式を入力しましょう。今度は土曜日なので、週の基準を1にするのであれば、返り値は7になるはずです。数式は下記のようになります。

=WEEKDAY($D3,1)=7

今度はフォントを青に変えてみましょう。OKを押すと、表の土曜日に当たる部分が青色になっています。

祝日に曜日に色を付ける

土日だけでなく祝日も休みの会社は、祝日にも色を付けたいですよね。日付、曜日とは別に「祝日」といった列を作成して、ISTEXT関数を組み合わせると実現できます。ISTEXT(イズテキスト)関数は、引数の中身が文字列だったらTRUE、空白など、それ以外の場合はFALSEが返ります。このISTEXT関数の特性を利用して、新たなルールを作ればいいのです。

まず、祝日の列を作って、祝日の日に丸記号や祝日名など、何かしらの文字を入力します。そして、土日に色を付けた時のように、新たな書式ルールの作成へ進みます。

ISTEXT関数の数式には、祝日の列の一番上のセルを選びましょう。数式は=ISTEXT(セル番地)となります。フォントの色は自由に選んでください。ここでは緑を選択します。OKを押すと、祝日のセルに文字が入っている行だけフォントが緑に変わりました。

毎週同じ曜日にある予定を自動で表示させる

会社では定例会議や集会、朝礼、終礼など、曜日によって開催が決まっているイベントがあります。社内のイベントスケジュールを作成する場合、毎週その予定を手作業で入力するのは面倒ですよね。そこで、IF関数とWEEKDAY関数を組み合わせることで、毎週同じ曜日にある予定を自動表示させられます。

IF関数は、引数に条件を指定して「もし〇〇だったら△△と表示する。それ以外だったら××と表示する」といった条件付けができる関数です。

例えば、毎週金曜日に定例会議があると仮定しましょう。週の基準値が1(金曜日の返り値は6)とすると、IF関数で定める条件は、「もし参照先の返り値が6だったら、定例会議と記入する」となります。数式は下記のようになります。

=IF(WEEKDAY(E3,1)=6,”定例会議”,””)

IF関数の役割は、参照先の返り値が6だった時に定例会議、それ以外なら空白を出力するという処理です。参照先にWEEKDAY関数を使って返り値を渡すことで、セル1つ1つにこの条件式を当てはめられます。

曜日を取得する

WEEKDAY関数と表示形式の変更を組み合わせれば、曜日を取得できます。WEEKDAY関数単体では返り値を出力するだけなので、パッと見ただけではわかりません。そこで、表示形式を変更すれば月曜日、火曜日といった表示に変えられます。

セルを右クリックすると、表示形式という項目があるので、そちらをクリックしてください。すると、ユーザー定義から自由に表示形式を変更できるようになります。aaaなら省略形の月、火、水が、aaaaなら月曜日、火曜日、水曜日といった表示へ変えられます。

表示形式解説表示
aaa曜日の短縮形を日本語で表示月、火、水、木、金、土、日
aaaa曜日を日本語で表示月曜日、火曜日、水曜日、木曜日、金曜日、土曜日、日曜日
ddd曜日の短縮形を英語で表示Monday、Tuesday、Wednesday、Thursday、Friday、Saturday、Sunday
dddd曜日を英語で表示Mon、Tue、Wed、Thu、Fri、Sat、Sun

実は危険?WEEKDAY関数で曜日を取得するのが危ない理由

上の見出しでWEEKDAY関数を使った曜日の取得方法を解説しましたが、実はWEEKDAYで曜日変換する方法をおすすめできない理由があります。下記の画像を見てください。

2022年9月1日の曜日をWEEKDAY関数を使って返り値を求め、それを表示形式変更でaaaaと指定して曜日に変えています。その曜日の表示形式を日付に変えてみましょう。1900年という全く別の日付に変わってしまったのです。これを見ると曜日と日付がズレてしまうのではないかと心配になってしまいますよね。そこで代わりに使える曜日の取得方法を紹介します。

TEXT(テキスト)関数を使う

TEXT関数は参照先のセルと表示形式を指定することで、日付を曜日に変える関数です。まず日付の記載されたセルを用意して、そのセルを参照先に指定して、上記で解説したaaaやaaaaといった表示形式を指定します。TEXT関数を使うと参照先の日付をもとにして文字列に変換します。そのため、文字列結合をする際など、曜日を利用して何か別の処理を行う場合は、後述する書式設定よりもTEXT関数がおすすめです。

例えばB2セルの日付を曜日に変えるには、下記のような数式を使います。

=TEXT(B2,”aaa”)

注意すべきポイントは、表示形式をダブルクオーテーションマークで囲むことです。ダブルクオーテーションマークを使わないとエラーが発生します。

書式設定

セルを右クリックすると、セルの書式設定という項目があるので、そちらをクリックしましょう。表示形式タブからユーザー定義を選び、自分の好きな表示形式に変えられます。例えば、「2022/09/01」というセルを右クリックして、表示形式を「yyyym/d(aaa )」に変えると、2022/09/01(木)という表記に変わります。「yyyym/d aaaa 」という表記にすれば2022/09/01 木曜日という風に変えられるのです。表示形式を変える際、好きな記号や数字、アルファベットを入力してみて、サンプル画面からどのように表示が変わるかを確認できます。

まとめ

エクセルのWEEKDAY関数は、指定した週の基準に基づいて曜日の返り値を戻す関数です。単体で使うとただの数字を出力するだけなので、あまり使い道はありません。しかし、表示形式の変更や他の関数と組み合わせることで、さまざまな応用方法があります。例えば土日のフォント色を変えたり、毎週特定の曜日にあるイベントを自動表示するといったものです。

WEEKDAY関数で日付からの曜日取得はできますが、TEXT関数や書式変更の方がおすすめです。

キャリチェンでは、専門のキャリアコンサルタントが女性のキャリアアップやキャリアチェンジをご支援いたします。
転職にまつわるささいなご相談から、自己分析などキャリアプランの作成、面接練習などの具体的な選考対策まで幅広くサポートいたします。
土日休みで残業もほとんどないお仕事も多数ございますので、「定時で上がってアフターファイブを楽しみたい!」など
プライベートとの両立を叶えたいという方は是非お問い合わせください。
今なら、LINEから3分ほどで簡単にお申し込みいただけます。

是非お気軽にご相談ください。