• ベストアンサー

「OR関数」の使い方を教えてください。

【Exel2003】 スケジュール表を作っています。 条件付き書式を使って、「日曜日」と「休日」のフォントの色を赤にしたいのですが、 条件として、「OR関数」で「日曜日」又は「祝日」を選択して、書式を設定したいと考えて  =OR(WEEKDAY($A1)=1,MATCH($A1,祝日,0))   A1=日付 祝日=一覧に名前を定義 と条件を設定したところ、「祝日」の書式は、設定できるのですが、「日曜日」の書式が設定できません。 =WEEKDAY($A1)=1 =MATCH($A1,祝日,0) と条件を別に設定すると、それぞれはうまくいくのですが 「OR関数」の使い方が間違っているのでしょうか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.2

>と条件を設定したところ、「祝日」の書式は、設定できるのですが、「日曜日」の書式が設定できません。 日曜日が正しく判定されて、祝日が正しく判定されていないのが原因です。 試しに  =MATCH($A1,祝日,0) の結果をセルの上に表示させてみてください。 2月25日は  #N/A  と、エラーになると思います。 このため、エラー表示にならない“祝日”は正しく判定され「TRUE」が返ってきます 対して、エラーになる日曜日他の曜日は全て「FALSE」扱いになります。 ちょっと面倒ですが、ISNA関数とNOT関数を組み合わせて次のようにしてください  =OR(WEEKDAY($A1)=1,NOT(ISNA(MATCH($A1,祝日,0)))) これで正しく判定できると思います。 ※ISNA関数とNOT関数の詳細はヘルプを参照してください。

gyouda1114
質問者

お礼

丁寧な説明ありがとうございます。 やっとわかりました。 「MATCH関数」は、”祝日”以外は、判定しないと言うことですね。

その他の回答 (2)

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.3

ちょっと分かりにくい表現でしたので訂正します。 >エラー表示にならない“祝日”は正しく判定され「TRUE」が返ってきます >対して、エラーになる日曜日他の曜日は全て「FALSE」扱いになります。 エラー表示にならない“祝日”は正しく判定されOR関数は「TRUE」を返します 対して、祝日でない日は全てエラーになるのでOR関数はエラーを返し「FALSE」扱いになります。

  • yaburegasa
  • ベストアンサー率44% (596/1335)
回答No.1

条件付書式の設定で、 数式が ・・・・・の場合 とされていますか? その場合、試しては無いのですが OR(WEEKDAY($A1)=1,MATCH($A1,祝日,0)) = TRUE の場合・・・ではないですか? 祝日の設定等あるので、今すぐ試しては無いので、まちがっていたら ごめんなさい。

gyouda1114
質問者

補足

早速の回答ありがとうございます。 > 数式が ・・・・・の場合 とされていますか? < 「数式が」にしています。  > OR(WEEKDAY($A1)=1,MATCH($A1,祝日,0)) = TRUEの場合・・・では < 質問の式  =OR(WEEKDAY($A1)=1,MATCH($A1,祝日,0)  とどこが違うのでしょうか  

関連するQ&A