• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:条件付書式でOR関数を使うと空白セルに適用されない)

条件付書式でOR関数を使うと空白セルに適用されない

このQ&Aのポイント
  • Windows7(32bit) Microsoft Office Excel 2010で条件付書式のOR関数を使用しています。しかし、セルが空欄の場合に適用されません。
  • 祝日表に一致する日付はセルの色が変わりますが、日付が無い部分は変わりません。
  • 数式が入っているため、空欄と認識されないのかもしれませんが、OR関数で設定すると希望通りの動作ができません。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

ご質問の直接の回答として >OR関数で設定するとなぜ動作しないのかが気になり、質問させて頂きました。 ORに入れた前半の「INDEX(祝日,MONTH(B1),DAY(B1))<>""」の部分、もうちょっと詳細にはMONTH(B1)とDAY(B1)が、""のセルに対して「エラー値」を計算してしまうため、OR関数全体がエラーになって条件付き書式が反応していません。 その意味で、OR関数で処理させる事は基本できないというのが回答になります。 方法1: えっと?「祝日」セル範囲は、カレンダーの中に「何とかの日」とか記入して作成してるってことですね。 でしたら =OR(B1="",IF(B1<>"",INDEX(祝日,MONTH(B1),DAY(B1))<>""))) みたいな。 方法2: 祝日一覧の作り方を、たとえば縦一列に祝祭日会社の休業日の年/月/日をただ羅列しておくだけにしておいて、条件付き書式の方は =OR(B1="",COUNTIF(祝日,B1)) みたいに作ります。

masakikamura
質問者

お礼

ご回答ありがとうございます。 方法1について: 画像が思ったよりも小さくなってしまい、見辛い中ご推察頂きありがとうございました。 祝日のセル範囲はご指摘頂いた通りです。 =OR(B1="",IF(B1<>"",INDEX(祝日,MONTH(B1),DAY(B1))<>"")) と条件付き書式で設定することで、期待通りの動作となりました。 該当の数式を別のセルに入力した所、確かに#VALUEが表示されていました。 trueかfalseしか返して来ないと思って、きちんと確認が出来ていなかったようです。 例えば、書式が反映されていなかったAD3セルの場合だと MONTH(AD3)とDAY(AD3)の値が取得出来ず、祝日表も当然参照できないということですね。 方法2につきましても、ご提案頂きありがとうございます。 この祝日表を別途使い回ししたく、年の変更が不必要なマトリックス表にしておりました。 ともあれ早速のご回答で助かりました。 ありがとうございました。

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.1です! 画像を改めて拝見しました。 結局、祝日と月末の空白セルに色を付けたい!というコトですよね? OR関数を使用する方法ではないのですが・・・ B1~AF5セルを選択 → 条件付き書式 → 新しいルール → 数式を使用して・・・ → 数式欄に =COUNTIF(祝日,B1) として好みの色を選択 これで「祝日」と月末の空白セルに色がつくと思います。m(_ _)m

masakikamura
質問者

お礼

再度のご提案ありがとうございます。 上手く画像が上がっていなかったようで、大変失礼いたしました。 >> 祝日と月末の空白セルに色を付けたい!というコトですよね? 最終的な目標はその通りでした。(さらにルール1つで設定できれば良いなと) 質問の意図としては、自分の設定した部分のどこが間違っていたのか?という所に比重がありました。 ご提案頂いた方法も、今後の参考にしたいと思います。 ありがとうございました。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

=OR(INDEX(祝日,MONTH(B1),DAY(B1))<>"",B1="") を =OR(INDEX(祝日,MONTH(B1),DAY(B1))<>"",trim(B1)="") としたらどうなります?

masakikamura
質問者

お礼

おかげさまで、別の方法で解決致しました。 ありがとうございました。

masakikamura
質問者

補足

ご回答ありがとうございます。 trim()をつけてみましたが、残念ながら変化無しでした。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 質問に対する直接の回答ではないのですので、余計なお世話かもしれませんが、 おそらく空白セルの条件は「小の月」の場合に日付を表示させないためだと思いますので、 1行目の数式を↓に変えてみてはどうでしょうか? A1セルにその月の「1日」のシリアル値を入力されるようですので、 B1セル(セルの表示形式は好みの「日付」)に =IF(MONTH($A1+COLUMN(A1)-1)=MONTH($A1),$A1+COLUMN(A1)-1,"") としてAF1セルまでオートフィルでコピーしてみてください。 これで小の月の場合の月末は空白になると思います。 こうした上で条件付き書式の設定ではどうでしょうか?m(_ _)m

masakikamura
質問者

補足

ご回答頂きありがとうございます。 数式を変更するという手もありましたね。 こういう書き方も出来るのかと参考になりました。 ただ、残念ながらOR関数を使った条件付き書式ではやはりダメでした。 2つに分けた場合は大丈夫でした。

関連するQ&A