重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

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以上のセルだけ着色されるのでしょうか。

A 回答 (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")

スッキリします。
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/01/12 22:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!