- ベストアンサー
「OR関数」の使い方を教えてください。
【Exel2003】 スケジュール表を作っています。 条件付き書式を使って、「日曜日」と「休日」のフォントの色を赤にしたいのですが、 条件として、「OR関数」で「日曜日」又は「祝日」を選択して、書式を設定したいと考えて =OR(WEEKDAY($A1)=1,MATCH($A1,祝日,0)) A1=日付 祝日=一覧に名前を定義 と条件を設定したところ、「祝日」の書式は、設定できるのですが、「日曜日」の書式が設定できません。 =WEEKDAY($A1)=1 =MATCH($A1,祝日,0) と条件を別に設定すると、それぞれはうまくいくのですが 「OR関数」の使い方が間違っているのでしょうか教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>と条件を設定したところ、「祝日」の書式は、設定できるのですが、「日曜日」の書式が設定できません。 日曜日が正しく判定されて、祝日が正しく判定されていないのが原因です。 試しに =MATCH($A1,祝日,0) の結果をセルの上に表示させてみてください。 2月25日は #N/A と、エラーになると思います。 このため、エラー表示にならない“祝日”は正しく判定され「TRUE」が返ってきます 対して、エラーになる日曜日他の曜日は全て「FALSE」扱いになります。 ちょっと面倒ですが、ISNA関数とNOT関数を組み合わせて次のようにしてください =OR(WEEKDAY($A1)=1,NOT(ISNA(MATCH($A1,祝日,0)))) これで正しく判定できると思います。 ※ISNA関数とNOT関数の詳細はヘルプを参照してください。
その他の回答 (2)
- Cupper
- ベストアンサー率32% (2123/6444)
ちょっと分かりにくい表現でしたので訂正します。 >エラー表示にならない“祝日”は正しく判定され「TRUE」が返ってきます >対して、エラーになる日曜日他の曜日は全て「FALSE」扱いになります。 エラー表示にならない“祝日”は正しく判定されOR関数は「TRUE」を返します 対して、祝日でない日は全てエラーになるのでOR関数はエラーを返し「FALSE」扱いになります。
- yaburegasa
- ベストアンサー率44% (596/1335)
条件付書式の設定で、 数式が ・・・・・の場合 とされていますか? その場合、試しては無いのですが OR(WEEKDAY($A1)=1,MATCH($A1,祝日,0)) = TRUE の場合・・・ではないですか? 祝日の設定等あるので、今すぐ試しては無いので、まちがっていたら ごめんなさい。
補足
早速の回答ありがとうございます。 > 数式が ・・・・・の場合 とされていますか? < 「数式が」にしています。 > OR(WEEKDAY($A1)=1,MATCH($A1,祝日,0)) = TRUEの場合・・・では < 質問の式 =OR(WEEKDAY($A1)=1,MATCH($A1,祝日,0) とどこが違うのでしょうか
お礼
丁寧な説明ありがとうございます。 やっとわかりました。 「MATCH関数」は、”祝日”以外は、判定しないと言うことですね。