- ベストアンサー
問題解決のための条件付き書式設定方法
- Excelの条件付き書式(数式を使用して書式設定)機能を使用したいが、設定がうまくいかない。
- 特定の2つのセルに対して条件を設定し、書式を表示させたいが、うまくいかない。
- 書式設定の中の数式記述はコピーしてもアドレスが変わらないため、同じ列の下位行でも同じ書式を使いたい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
読んでいてワークシート関数式が不可解でなりませんでした 基本としてOFFSET構文とINDIRECT構文は 目的としては同じ動きをさせるもの 「自ら」を指定したい時は確かにありますが、その自らを指定する時の「自ら」に参照関数を指定し、 その関数中の「自ら」を指定するのに参照関数を… ……… …… … … … 際限ないですよね? 止めましょう 実際時折私もこのパラドクスに度々陥りますが この「自ら」を A1から見て何処、 とか 直ぐ左上のセルから見て、1,1の位置、 とかに 指定してやる様にしています。 あと、OFFSET構文の第4番目と第5番目の引数を省略するのはお勧めできません 関数式は一種のプログラムです。 ですから、基本に立ち返り 判読性も重視した方が良いですよ。 ところで各構文の基本的な使い方ですが、 =OFFSET($a$1,ROW()-1,column()-1,1,1) =OFFSET($a$1,ROW()-1,column(),1,1) A5にOFFSET構文を書くときは =OFFSET(A4,1,0,1,1) =OFFSET(A5,O,1,1,1) (※注:$で固定されていない領域指定はフィルやコピーとともに相対的に書き換えられる そのため領域A5に書かれた式でA5と指定されていた場合、 この指定は常に移動先の領域を示すものに、セルの移動・コピーと同時に書き換えられる。 ので、ROW()やCOLUMN()を意識して使う必要はない) =INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE) =INDIRECT("R["&0&"]C["&1&"]",FALSE) (※注:これは相対参照の書き方) なんてのが一般的では? なので 緑 =AND(INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE)>INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE),INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE)<>0) 赤 =AND(INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE)>INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE),INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE)=0) 黄 =(INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE)<INDIRECT("R"&ROW()&"C"&COLUMN(),FALSE)) または、 緑 =AND(INDIRECT("R["&0&"]C["&0&"]",FALSE)>INDIRECT("R["&0&"]C["&1&"]",FALSE),INDIRECT("R["&0&"]C["&1&"]",FALSE)<>0) 赤 =AND(INDIRECT("R["&0&"]C["&0&"]",FALSE)>INDIRECT("R["&0&"]C["&1&"]",FALSE),INDIRECT("R["&0&"]C["&1&"]",FALSE)=0) 黄 =(INDIRECT("R["&0&"]C["&0&"]",FALSE)<INDIRECT("R["&0&"]C["&1&"]",FALSE) で良いのでは? アクティブセルが仮にA5の領域指定したセルに条件書式指定する場合 =AND(OFFSET(A5,0,0,1,1)>OFFSET(A5,0,1,1,1),OFFSET(A5,0,1,1,1)<>0) …緑 =AND(OFFSET(A5,0,0,1,1)>OFFSET(A5,0,1,1,1),OFFSET(A5,0,1,1,1)=0) …赤 =(OFFSET(A5,0,0,1,1)>OFFSET(A5,0,1,1,1)) …黄 でも単純に =AND(A5>B5.B5<>0) …緑 =AND(A5>B5.B5=0) …赤 =A5<B5 …黄 と、他の方々が指定したこの方法の方がスマートですよ? ところで範囲指定して条件書式を指定する場合ですが、 アクティブセルが何処にあるかを十二分に意識して式を書かないと トンデモ!! な動作になり、心を折られそうになります。 お気を付けあそばせ。 お役に立てていたなら幸いです。 因みに条件書式では特例としてINDIRECT構文では 特別に他シートに書かれた領域も参照できたはず、お試しあれ。 他の描き方(A1的描き方やOFFSET構文など)では、 条件書式中の他シート参照は、確かエラーになりますよね? ヘルプにも確か「他シートは参照できない」旨、書かれていたはず。 でも実は出来ちゃうんですよね … 仕様変更されていなければですが …
その他の回答 (2)
- ORUKA1951
- ベストアンサー率45% (5062/11036)
c2セルを選択して[条件付書式]で、入力画面が出てきますから、セルの値ではなく式を選択して、 =AND(A2>B2,B2=0) を書く。 そして書式を指定したら、 条件を追加を繰り返しすだけですが??
お礼
ご返答ありがとうございました。 ただ、コピーしてもセルのアドレスが変更されないので・・・。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
例えばC3セルにて、 条件1) =AND(A2>B2,B2=0) 赤 条件2) =A2>B2 緑 条件3) =A2<=B2 黄 厳しいほうを先に書く。$A$2としなければコピーできる--書式のみコピー
補足
優先条件を先に記述して「条件を満たす場合は中止」のチェックボックススにもチェックしています。 AND条件の数式一つだけの設定でも、期待の動作しません。 数式指定条件に'AND'条件が指定できるか否か。 できるとしたら記述方法をご伝授頂けたらと思います。 今回は指定した書式のセルをVBプロシージャーでコピーしています。 設定した数式の対象セル記述を相対しても、コピー先では同じアドレスを参照していて、直接セルに数式を設定した時と 動作は異なります。 最悪はEXCELシートの書式設定ではなく、プログラムを記述して 書式をせってするしかないのか??? 簡単にEXCELシートに設定した、「条件付書式」の設定で実現できるかが問題です。 引き続き、ご指摘お願いいたします。
お礼
ご返答ありがとうございました。 長々とお手数おかけしました。 お礼も遅れてすいません。 非常にいろいろと参考になりました。 今回はありがとうございました。