■ 指定日が"土日"なら前の平日を返す
WORKDAY関数 … 土日祝日を除いて○日前(後)を出せます(詳しく→ WORKDAY関数)
WEEKDAY関数
… 曜日を数値に変換するため曜日による条件を作成できます。
▼ 確定日を出す(希望日が土日なら前の平日)▼
■ WORKDAY関数の場合
-
前の平日を出す → Workday(開始日+1,-1,祝日)
-
次の平日を出す → Workday(開始日-1,1,祝日)
B2に =Workday(A2+1,-1)
■ WEEKDAY関数の場合
WEEKDAY (日付シリアル値 ,
曜日の種類★1)
B2に =IF(WEEKDAY(A2,2)=6,A2-1,IF(WEEKDAY(A2,2)=7,A2-2,A2))
◆Weekdayの結果が6(土曜)なら希望日-1、7(日曜)なら希望日-2、それ以外はそのまま日付を表示
★曜日の種類一覧★ 例えばWeekday(日付,2)なら月=1、火=2、水=3、
木=4、金=5、土=6、日=7
1 または省略 |
1 (日曜) 〜 7 (土曜)
|
2 |
1 (月曜) 〜 7 (日曜)
|
3 |
0 (月曜) 〜 6 (日曜)
|
11 |
1 (月曜) 〜 7 (日曜)
|
12 |
1 (火曜) 〜 7 (月曜)
|
13 |
1 (水曜) 〜 7 (火曜)
|
14 |
1 (木曜) 〜 7 (水曜)
|
15 |
1 (金曜) 〜 7 (木曜)
|
16 |
1 (土曜) 〜 7 (金曜)
|
17 |
1 (日曜) 〜 7 (土曜)
|
例えば【土日だけ〜する】という条件式は、引数2を利用して
>=6 (返り値が6以上なら…)とすることができます。
=IF(WEEKDAY(日付,2) >=6,"休み","出勤")
■ 例:毎月20日が給料日だが、土日なら前の平日を給料日とする
毎月20日の予定に「給料日」と表示
します。その日が土日なら前の平日に給料日と表示します。
B2に次の式を入力してオートフィル
IF (AND
(DAY (A2) =20,WEEKDAY (A2 ,2) <=5 ),"給料日",
IF (AND (DAY (A2) =19, WEEKDAY (A2,2) =5 ),"給料日",IF
(AND( DAY (A2) =18,WEEKDAY (A2,2) =5),"給料日","")))
◆日付が20でかつ平日なら「給料日」と表示、日付が19でかつ金曜なら「給料日」と表示、日付が18でかつ金曜日なら「給料日」と表示、
それ以外は空白を表示
|