if文の中でor関数とand関数を同時に使ったことがないので、コンピュータサービス技能評価試験 の表計算部門2級の練習問題を参考に作った設問。
A | B | |
---|---|---|
1 | 日付 | 予定 |
2 | H23/01/01 (土) | |
3 | H23/01/02 (日) | |
4 | H23/01/03 (月) | |
5 | H23/01/04 (火) | |
6 | H23/01/05 (水) | |
7 | H23/01/06 (木) | |
8 | H23/01/07 (金) | |
9 | H23/01/08 (土) | |
10 | H23/01/09 (日) | |
11 | H23/01/10 (月) | |
12 | H23/01/11 (火) | |
13 | H23/01/12 (水) | |
14 | H23/01/13 (木) | |
15 | H23/01/14 (金) |
- 「日付」が火曜日または金曜日の場合、予定に “まりふ”と表示
- 「日付」が月、水、木、土曜日の場合、予定に “やない”と表示
- 上記以外の場合、予定に“−”と表示
回答
※ 予定(1)
「設問どおり」に行えば、次のようになるであろう。
=IF(OR(WEEKDAY(A2)=3,WEEKDAY(A2)=6),"まりふ",IF(OR(WEEKDAY(A2)=2,WEEKDAY(A2)=4,WEEKDAY(A2)=5,WEEKDAY(A2)=7),"やない","−"))
※ 予定(2)
手を抜いた例。
=IF(AND(WEEKDAY(A2)>=2,WEEKDAY(A2)<=7),IF(OR(WEEKDAY(A2)=3,WEEKDAY(A2)=6),"まりふ","やない"),"−")
※予定(3)
今回のfaqの回答。強いてor関数とand関数を使ってみたが、全く問題はなかった。
=IF(OR(WEEKDAY(A2)=3,WEEKDAY(A2)=6),"まりふ",IF(OR(WEEKDAY(A2)=2,AND(WEEKDAY(A2)>=4,WEEKDAY(A2)<=7)),"やない","−"))
サンプルデータは こちら からダウンロードできます。
※ 所感
ここまで長いと【関数の引数】ダイアログボックスで入力するのは、非常に面倒だった。表計算部門2級ともなると、数式バーから入力できないと「手間がかかる」と感じた。