まりふのひと

Excel2003/if関数の中でor関数とand関数を同時に使う

if文の中でor関数とand関数を同時に使ったことがないので、コンピュータサービス技能評価試験表計算部門2級の練習問題を参考に作った設問。

 AB
1日付予定
2H23/01/01 (土) 
3H23/01/02 (日) 
4H23/01/03 (月) 
5H23/01/04 (火) 
6H23/01/05 (水) 
7H23/01/06 (木) 
8H23/01/07 (金) 
9H23/01/08 (土) 
10H23/01/09 (日) 
11H23/01/10 (月) 
12H23/01/11 (火) 
13H23/01/12 (水) 
14H23/01/13 (木) 
15H23/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級ともなると、数式バーから入力できないと「手間がかかる」と感じた。