日程表の「日付」列1行目「1日」セルに「今月1日」の日付を入力すると、右隣「曜日」列に曜日が表示されるように数式か何か仕掛けを作成しておきたいと思います。日付に対応する曜日を表示させる方法は幾通りか考えられます。今年1月1日の曜日を入力していればオートフィルで機能で7曜日が繰返しコピーされますので、日付と曜日2列セットで、1シートに1年分365行(366行)の日付と曜日の値が一気に得られます。各月シートを作成する場合は、同様に先頭の1日の曜日をカレンダーで調べ、以降はオートフィルで曜日をコピーします。
曜日列に「曜日」の書式を設定しておく方が比較的簡単かもしれません。セルの書式設定の「日付」に曜日はありませんが、ユーザ定義で日付のシリアル値を aaa あるいは aaaa とすると日本語の曜日名(日月火水..及び曜日)をセルで表わす事が出来ます。書式のユーザ定義を ddd あるいは dddd とすると、sun,mon,tue.. など曜日を英語表記できます。
また、曜日といえば[WEEKDAY関数] が挙げられますが、[WEEKDAY関数]は、番号で曜日名を取得します。
EXCELが曜日を下記のように1~7の数字で表示するように、[WEEKDAY関数]の表示形式を1に設定します。
=WEEKDAY(シリアル値,[種類])
引数の[シリアル値]は日付を入力したセルを参照します。
引数の[種類]に1を入力します。引数の1は、1から7までの番号で1を日曜に設定する表示の種類です。日曜からはじまるカレンダーが1、月曜からはじまるカレンダーが2.. などと[種類]の番号で決めておきます。(引数の[種類]は省略できます。[種類]を設定しない場合は自動的に1)
下記表の曜日名の 日曜日(SUNDAY)の1とは異なります。
※曜日名表
1 日 日曜日 SUN SUNDAY
2 月 月曜日 MON MONDAY
3 火 火曜日 TUS TUSDAY
4 水 水曜日 WED WEDNESDAY
5 木 木曜日 THU THURSDAY
6 金 金曜日 FRI FRIDAY
7 土 土曜日 SAT SATURDAY
[WEEKDAY関数]は、数字で曜日名を表すだけですので、数字を曜日名に置き換えなくてはなりません。
[セルの書式設定]でユーザ定義を曜日にします。
WEEKDAY関数で曜日の番号が出ているセルについて、[セルの書式設定][表示形式タブ]の[ユーザ定義]の[種類]のテキストボックスに aaa(日本語の曜日)または ddd(英語表記)を設定します。
aaa( または aaaa) と入力すると、日(または日曜日)
ddd ( または dddd) と入力すると、SUN(またはSUNDAY)
また、他の関数と組合せ(ネスト)して、関数で曜日名が表示されるように、数式を作る方法もあります。
[TEXT関数]は、[セルの書式設定][表示形式タブ]の[ユーザ定義]で設定する表示形式を、関数式で記述することができます。
=TEXT(シリアル値,表示形式) です。
TEXT関数の引数の[シリアル値]は、「日付を入力したセルを参照して曜日の数式を作ったセル」を選択します。
TEXT関数の引数の[表示形式]は、[セルの書式設定]で設定する aaa など曜日の表示にします。
=TEXT(WEEKDAY(日付セル ),aaa)
さらに別の関数で、7通りの「曜日名」に置き換える方法があります。[CHOOSE関数]は、引数のインデックスを1以上の整数で表し、イデックスの番号に当たる文字列を設定することで、番号と置き換えする曜日名の表示などに使えます。
=CHOOSE(インデックス、値1,値2,値3,値4,値5,・・)
=CHOOSE(WEEKDAY(日付セル),”日”,”月”,”火”,”水”,”木”,”金”,”土”)
あるいは、別表で「番号と曜日表」を作成、表を範囲選択して参照することで[VLOOKUP関数]が使えます。
VLOOKUPで参照する表は、前述のWEEKDAY関数の※曜日名表 などを参考にしてください。
=VLOOKUP(検索値,範囲,列番号,[検索方法])
=VLOOKUP(WEEKDAY(日付セル),表の範囲,2,0)
引数の[列番号]を 2にすると、aaa なので 日
引数の[列番号]3にすると、aaaa で 日曜日
引数の[列番号]4にすると、ddd で SUN
引数の[列番号]5にすると、dddd で SUNDAY