• ベストアンサー

Excelの条件付き書式の設定がうまくいきません

Excel2011(Mac)です。 ある列において、数値が50以上のセルのみ着色したいのですが、条件付き書式のルール設定で数式を利用して =INDIRECT(ADDRESS(ROW(),COLUMN()))>=50 とすると、50以上はすべて着色するのですが、空欄まで着色されてしまいます。 ためしに、 =INDIRECT(ADDRESS(ROW(),COLUMN()))<>"" としてみたら、空欄以外の数値が入っているところがすべて着色されます。 それでは、と思い、 =AND(INDIRECT(ADDRESS(ROW(),COLUMN()))<>"",INDIRECT(ADDRESS(ROW(),COLUMN()))>=50) としてみたら、今度はすべてのセルが着色されません(不思議で仕方ありません)。 どういう数式を書けば、空欄と50未満のところは着色されず、50以上のセルだけ着色されるのでしょうか。

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

  • ベストアンサー
  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.1

空白でないのではありませんか。 数式が入力されていると思います。 あくまでもセルに入力されている物に対して検査するので、対象が文字や数式の場合は 大きな値が入力されていると判断されます。  =CELL("type",INDIRECT(ADDRESS(ROW(),COLUMN()))="v" これで対象が数値か否か判断できますから、この関数式とandを取ってみてはいかがでしょう。  =AND(INDIRECT(ADDRESS(ROW(),COLUMN()))>=50,CELL("type",INDIRECT(ADDRESS(ROW(),COLUMN()))="v") …長いw 面倒ですから、INDIRECT(ADDRESS(ROW(),COLUMN())) の部分を A1 などとセルのアドレスを直接指定してしまってはいかがでしょう。 複数のセルを指定して 条件付書式 を設定するのでしたら、指定した状態でアクティブなセルを指定しておけばいいです。 他のセルはちゃんと繰り上がって設定されてくれますよ。 例:   A列を指定した直後はA1セルがアクティブになっているので A1 と指定。   B2セルからB10セルを上から指定した時は B2セルがアクティブになっているので、B2。   B2セルからB10セルを上から指定して、一度 Enterキーを叩くとB3セルがアクティブなので B3。  =AND(A1>=50,CELL("type",A1)="v") スッキリします。

zumawo
質問者

お礼

早速のご回答ありがとうございます。 おっしゃるとおりのやり方で問題なくできました。 ただし、A1などのセルの直接指定の場合のみで、INDIRECT・・・だとやはりうまく行きません。しかも、私が上記で書いた数式AND(・・・<>"",・・・>=50)の、INDIRECT・・・以下をセル直接指定にした場合にも全く問題なくうまくいくことがわかりました。 どうやら、INDIRECT以下が問題だったようです。

関連するQ&A