塾長、はじめまして。サークルの友人に紹介されてうかがってみました。
私が所属しているサークルの、毎月の活動表をエクセルで作ろうと思ったのですが、意外に手間がかかるんですね。連続した日付を入力する方法は友人に教わったんです。そこで、となりのセルに土日はサークルが「お休み」と自動的に表示させたいと思っているのですが……エクセルの関数で、日付や曜日を判断して、文字を自動的に入力する方法はありますでしょうか?
わしが、エクセル関数塾塾長!関 数之進(せきかずのしん)である!
エクセルでスケジュール管理に挑戦しているとは、なかなか感心、感心。
それに、高度な技を使おうとしておるな?せっかく日付を入力しているのなら、その日付を利用して、自動的に入力出来るぞ!その技を極意書を使って説明しよう!
エクセルでは、「WEEKDAY(ウィークデイ)関数」を使って、日付に対応する曜日を数字で表示させることができます。WEEKDAY関数では曜日に対しての「数字」が戻されるため、今回はステップアップで以前ご紹介した「IF(イフ)」関数を組み合わせて、曜日によって表示させる文字列を変える方法を解説します。
まずは、WEEKDAY関数の基本的な書式と機能について紹介します。
「IF関数」については、下記ページにて説明しています。
WEEKDAY関数は次のように入力します。
=WEEKDAY(シリアル値,種類)
WEEKDAY関数は、シリアル値に対応した「曜日の数字」を、以下の種類のように表示します。種類は1〜3で指定しますが、指定する種類によって、「戻り値の最初の数字や対応する曜日」が違います。
種類の例:
1(省略) | 1:日曜日 | 2:月曜日 | 3:火曜日 | 4:水曜日 | 5:木曜日 | 6:金曜日 | 7:土曜日 |
---|---|---|---|---|---|---|---|
2の場合 | 1:月曜日 | 2:火曜日 | 3:水曜日 | 4:木曜日 | 5:金曜日 | 6:土曜日 | 7:日曜日 |
3の場合 | 0:月曜日 | 1:火曜日 | 2:水曜日 | 3:木曜日 | 4:金曜日 | 5:土曜日 | 6:日曜日 |
WEEKDAY関数を入力するときは、[関数の挿入]ボタンをクリックして[関数の分類]で[日付/時刻]を選択すると、かんたんに入力できます。
また、Excel2007と2010では関数ライブラリからも選択できます。
今回の例では、A列の日付が土日であれば、B列に「お休み」と入力させます。そこで、WEEKDAY関数でセルA5の日付をセルB5に曜日の数字として表示させます。その際に、「土曜日と日曜日」が連続した数字となる「種類2」を指定して、土曜日が「6」日曜日が「7」と表示させます。関数式を入力後、セルB35までコピーします。
シリアル値については、下記ページにて説明しています。
WEEKDAY関数は曜日を数字で表示しますが、数字を見ただけでは曜日がピンときません。実は、この数字は他の関数や数式と組み合わせて利用して、曜日ごとに違う表示をさせる場合などに便利です。
ここではエクセル関数塾第2回でご紹介した「IF」関数を組み合わせて、WEEKDAY関数で土曜日(6)と日曜日(7)なら「お休み」という文字列を表示させます。
式の例:
=IF(WEEKDAY(A5,2)>=6,"お休み","")
WEEKDAY関数は、日付に対応する曜日を数字で表示させることができる関数です。WEEKDAY関数で求められる曜日に対応した数字は、IF関数の条件と組み合わせると、特定の曜日に文字列を表示させることができるようになり、利用範囲が広がります。
次の表から、A列が土曜日と日曜日ならB列に「休暇」と表示させましょう。
問題に必要なエクセルのファイルをダウンロードしてください。
ダウンロードするには、下記のファイル名を右クリックして、メニューから「対象をファイルに保存」を選択してください。
本講座では、ファイルの保存先を《ドキュメント》としています。
ダウンロード方法がわからない場合は、下記ページをご参照ください。