2つの条件付き書式の動作の違い

このQ&Aのポイント
  • 2つの条件付き書式の動作には違いがあります。黄色い範囲では、ROW関数を使用して行数を取得し、CELL関数を使用して現在の行数を取得しています。そして、ROW関数で取得した行数が現在の行数以下であるかどうかを比較しています。一方、緑の範囲では、セルD7とセルE7の値を比較しています。D7にはROW関数を使用して行数が代入されており、E7にはCELL関数を使用して現在の行数が代入されています。したがって、黄色い範囲では、条件付き書式が適用される範囲が固定されるのに対して、緑の範囲では、現在の行に対して条件付き書式が適用されます。
  • 黄色い範囲の条件付き書式は、ROW関数とCELL関数を組み合わせて使用しています。ROW関数は現在の行の行番号を取得し、CELL関数は現在の行番号を取得します。そして、取得した行番号が現在の行番号以下であるかどうかを比較して、条件付き書式を適用します。
  • 緑の範囲の条件付き書式は、セルD7とセルE7の値を比較しています。D7にはROW関数を使用して行番号を代入し、E7にはCELL関数を使用して現在の行番号を代入し、その2つの値を比較して条件付き書式を適用します。したがって、緑の範囲では、セルD7とセルE7の値によって条件付き書式が決まるため、現在の行に対して条件付き書式が適用されます。
回答を見る
  • ベストアンサー

2つの条件付き書式の動作の違い

月初から指定日までの累計をダブルクリックだけで表示させるために、添付画像のような数式を設定しました。画像はA12をダブルクリックしたあとEnterキーをたたいた直後の状態です。 数式はうまく動作してくれているのですが、どこまでを計算範囲としているのかを視覚でわかりやすくするため、条件付き書式で計算範囲のみに黄色い背景を設定したつもりなのですが、Enterキーをたたくと一つ下の行のセルにも黄色の背景色がついてしまいます。F9で更新した場合やTabキーで右にセルを移動した場合は問題ありません。 条件付き書式で設定した数式をバラバラに分解して計算したセルに対してほぼ同等の条件付き書式を設定したのが右側の緑の範囲です。こちらはEnterキーをたたいた後も緑色の背景になる範囲は正しいままです。 両者の動作にはどのような違いがあるのでしょうか。 ・黄色い範囲の条件付き書式 =ROW()<=CELL("ROW") ・緑の範囲の条件付き書式 =$D7<=$E7 D7=ROW() E7=CELL("ROW")

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

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

B12セルを選んでWクリック、そしてEnterしてB13に落ちた時点で、B3セルの計算結果は「B12」を表示しています。 これは一見ご相談の「意図に沿った動作」だと思われていると思いますが、B3に「B12」が現れている状態で「F9キー」を押して「セルの再計算」を行わせると、B3セルの計算結果は「B13」に(あるいはF9を押した時点でのアクティブセルの行番号に)更新されてしまいます。 以上を実際に手を動かしてみることで、CELL("ROW")は「アクティブセルの行番号」を返す事になってはいるものの、それは「最後に再計算が走った時点での値」であって、「今現在の値ではない」という事が判ります。 あとはB3セルの計算結果の表示と条件付き書式の応答の違いですが、これもそれぞれの数式が「いつ最後の計算を行ったのか」の違いだという事で説明できます。 B3に(仮であっても)「B12」が表示されている事自体は、ご相談のシートの組み立て上は「都合が良い」ので、条件付き書式についてもB12が表示されているセルを参照して(つまり緑の状態で)設定しておくのがよろしいでしょう。

Angela_M
質問者

お礼

後かF9を押してみる操作は試していませんでした。 明快な解説ありがとうございます。 実際は緑の方で運用しようと思います。

関連するQ&A

  • エクセルの条件付き書式に関して

    エクセルの条件付き書式の件で教えて頂けないでしょうか。 条件1 A1セルが空白の時にはC1の背景を青色 こちらはD1セルの条件1に「=ISBLANK(A1)」と設定しました。 次にB1のセルの結果が5%~-5%(0.05~-0.05)の範囲であればC1の背景を緑で文字色は黒。 B1のセルの結果が上記範囲外であればC1の背景を緑で文字を赤色の太い文字にしたいのですが、数式の記述方法が分かりません。 教えて頂きたく、宜しくお願いいたします。

  • EXCEL 条件付き書式(数式を使用して書式

    EXCELの書式設定に ・条件付き書式(数式を使用して書式設定)機能を使用したいのですが・・・・・・。 任意の2セルの左側のセルに下記設定を行い 100、0と各セルに入力しても指定した書式表示が実行されません。 設定記述: ="and(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())), 0,0)>0, OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())), 0, 1)=0)" 固有セルを指定しないのは、この書式を、同じ列の下位行にコピーして使いたいからです。 (セルに直接記述した書式は、相対セル記述した場合、コピーするとアドレスも変化しますが  条件付き書式設定の中の数式記述はコピーしてもアドレスが変わりません) EXCEL2007,EXCEL2010で確認しています。 尚、andで指定している各条件を単一で指定すると正しく動作します。 いろいろとネットで調べましたが、解決できず。 解決方法は他にもあると思います。 実現したい仕様: 隣接した2つのセルに対して Aセルの右隣のセルBセルと仮定して (1)Aの値>Bの値 の時 表示色=緑 (2)Aの値<Bの値 の時 表示色=黄 (3)Aの値>Bの値 且 Bの値=0 の時 表示色=赤 (1)は (OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())), 0,0) > OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())), 0, 1) (2)は (OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())), 0,0) < OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())), 0, 1) で実現できています。 アドバイスありましたらお願いいたします。

  • 条件付き書式について

       A     B 1 ●●社 ××社 2 10,000  5,000 という表です。 条件付き書式で10,000以上の場合は、その会社名のセルを塗りつぶしたいです。 A1セルを選択して条件付き書式の「数式を利用して~」で ="(ADDRESS(ROW(),COLUMN()+1))>=10000" と入力したのですが、うまくいきません。 どこが間違っていますか?

  • エクセルの「条件付き書式」で困っています

    エクセルの「条件付き書式」なんですが 表の見栄えを良くするために、一行ごとに色を付けようと 「書式」-->「条件付き書式」-->設定ダイヤログに 条件(1)・・「数式が」-----「=MOD(ROW(),2)=0」を設定しました     書式-->パターン・グリーンを指定 思い通り選択範囲の表に、一行ごとの縞模様が出来たのですが 追加で 条件(2)・・「セルの値が」-----「次の値より大きい」-----「100」     書式-->フォント太字・赤を指定 と指定したところセルに色の付いた行(偶数行)は100以上の数値が入力されても フォントが太字・赤になりません このような条件は「条件付き書式」ではなく、表示形式で設定するのでしょうか? 私は「条件付き書式」で一括に設定したいのですが 詳しい方がいらしたら教えて下さい WIN2000・エクセル2000  です。

  • 条件付き書式 数式について Excel2003

    条件付き書式 数式について こんにちは。Excel2003を使用しています。条件付き書式を数式で使おうと思っています。 A列のセルの書式設定は「日付」になっています。 A1に「2011/7/28」とはいっています。 やりたいことは、A列の日付が今日の日付とイコールならA1~C1のセルの背景色を赤にしたいと思っています。 そこで、書式の条件付き書式から数式を選び、下記の式を入力しました。 today() = A1 で書式のパターンを赤にしました。 しかしながら、何もかわりません。何が間違っていると考えられるでしょうか?

  • Excel VBA 条件付書式の条件満たすセル取得

    Excel2010のVBAで条件付書式の条件を満たすセルの番地を取得したい 具体的には、 Excel2010のあるシートのあるセル範囲(例えばA1~XFD1048576)に 条件付き書式が付けてあって、 (例えば、数式の条件が満たされたら背景色を赤色にするなど) この条件を満たすセルに指定した書式が付けられて表示されています。 この状態で、VBAで、この条件を満たしたセルの番地を、 順番に取得したいのですが、どのように記述すればよいでしょうか。 【追記】 数式をすべてのセルに入れて検出する方法や セルをひとつずつ数式に当てはめてみていく方法は、 セルが膨大なため容量的・時間的にNGです。 このため、条件付き書式で回避しています。 条件付き書式の判定結果である書式(この場合でしたら背景色が赤色) で判断する必要があります。(書式は背景色が赤色でなくてもいいです) よく分かりませんが、検索の中の書式で指定しても、 この条件付き書式の判定結果の書式はヒットしませんでした。

  • Excelでの条件つき書式の張り付けについて

    Excel2007にて、1シート全体に、条件つき書式の設定をしました。 (シート内で値がAのときはセルの背景を緑にする、などの条件) シート内のセルをコピーし、同シート内に張り付けたところ、 張り付け部分のみ範囲指定された、 セル全体に設定した内容と同じ条件が作成されてしまい、 張り付けをすればするほど条件が増えて、 ファイル容量がどんどん大きくなってしまいます。 条件は増やさず、コピーしたセルの内容だけを張り付けることは できないのでしょうか。 上手く設定できず恐縮ですが、どうぞ知恵をお貸しください。

  • Excel2010 条件付き書式のコピー

    お世話になります。 以下の様なセルの集まり□に対して同一の条件付き書式が設定してあります。 ■は空スペース □□ ■□ 右下のセルの集まりを範囲選択して条件付き書式を削除。計算式、塗りつぶし等も削除。 すると、右上のセルの条件付き書式が消えてしまいました。 条件付き書式の削除は範囲選択しても列が同一だと消えてしまうものなのでしょうか? 条件付き書式が消えた右上のセルの集まりに対して、左上のセルの集まりの条件付き書式をコピーしたいのですが、「条件付き書式の設定を保存→設定呼び出し」といった機能はないでしょうか?

  • エクセル 条件付書式より優先させたい

    一行おきに色を変えて見やすくするために、 「条件付書式」で「数式が」 =MOD(ROW(),2)=0 を設定しました。 その色のついたセルの上に、 また新たに違う色で強調するために、 セルを塗りつぶしたい部分があるんですけど、 塗りつぶすことができません。 どうすればよいでしょうか? よろしくお願い致します。

  • セルの書式設定と条件付き書式がうまくできません

    よろしくお願いします エクセルのバージョンは2013です セルの書式設定と条件付き書式がうまくできません なるべく自分でやって見て、だめだったらgooの皆さんに教えてもらうようにはしていますが どうもセルの書式設定と条件付き書式が喧嘩してるようです 書式設定したいセル範囲が2つあります 共通の書式は 1、 桁区切りを使用する 2、 >0の時に+を付けて、文字色は水色 3、 0の時に+を付けないで0と表示する、文字色は黄色 4、 <0の時に-を付けて、文字色は緑 セル範囲1つ目は小数点以下の表示無し セル範囲2つ目は小数点以下1桁表示 上記ができません 検索してみると色々なサンプルが見られますが、うまくできません 手順としては 条件付き書式-セルの強調表示ルール-指定の値より大きい(小さい、値に等しい) を使えば良さそうですが、ここから先を色々やって見ますがうまくできません どなたか教えてください

専門家に質問してみよう