- ベストアンサー
Excelの条件付き書式、直接入力と参照した数値は違う?
- Excelの条件付き書式で直接入力と参照した数値が異なる場合があるか疑問です。
- 具体的には、Sheet1のA1セルに数値を入力し、Sheet2のA1セルがその数値を参照していますが、条件付き書式を設定すると、入力がなくても色が変わってしまいます。
- 直接入力ではうまくいくので、参照の方法に何か違いがあるのか、詳しい方法を教えていただきたいです。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
当方エクセル2000ですが、おっしゃる通りの現象を再現しました。 「セルの値が」ではなく「数式が」をえらび =AND(A1<>"",A1>=0) としてみてください。 なお、この質問とは無関係ですがCHEVALBOISさんの先日の質問 http://okwave.jp/qa/q6146666.html で わたし(merlionXX)の回答 =IF(COUNT(Y14:Y15)=2,INDEX($Y$3:$AH$3,1,Y14)&"で"&INDEX($Y$11:$AB$11,1,Y15),"") ではなく、他の回答 =IF(OR(Y14="",Y15=""),"",INDEX($Y$3:$AH$3,1,Y14)&"で"&INDEX($Y$11:$AB$11,1,Y15)) を採用されましたが、この数式の違いをおわかりでしょうか? 両者ともY14:Y15に空白セルが1つでもあれば、エラーになるのでそれを表示しません。 ただし、Y14:Y15に文字列が1つでも入力されれば、ちがう結果となります。 Y14:Y15に必ず数値をいれさせたいのであれば、OR(Y14="",Y15="") ではなく COUNT(Y14:Y15)=2 で判定すべきです。 もう質問が締め切られているのでここで説明させていただきました。
その他の回答 (5)
- conanthe
- ベストアンサー率65% (114/175)
こんにちは。ハンドルネームconantheです。 エクセルも時々不思議なことが起こりますね。理屈で考えたらCHEVALBOISさんのやり方でいいはずなのに、実際はうまくいかない。 いろいろ試してみました。その結果、次のようにすればいいのでは、と思います。 「セルの値が 次の値より小さい ""」 僕の勘違いでしたらごめんなさい。
お礼
ありがとうございますm(__)m しかし残念ながらお教え頂いたことではうまくできませんでした、 実のところ、できれば数式はつかわないでやりたかったのですが(絶対参照を使ってもコピー等で数式が崩れることがあるため) やはり数式を使わないと無理みたいです。 また何かありましたら教えてください。
- MackyNo1
- ベストアンサー率53% (1521/2850)
同じ質問が別の掲示板に投稿されていますね(この質問以外にもいくつか同じ質問を投稿されています)。 http://social.answers.microsoft.com/Forums/ja-JP/officeexceljp/thread/68e31cbd-a606-4972-9f24-fb65c5b9d403 この回答では解決できなかったのでしょうか? 一般的に、このような掲示板を利用する場合、同じ質問を2つ以上の掲示板に同時に投稿するのは、回答者に失礼になるだけでなく、マナー違反として認められていないことも多いので注意してください。 どうしても、その掲示板では有効な回答が得られず、解決できないような場合は、その質問をいったん解決処理して、別の掲示板で補足情報を追加して新たに質問するようにしましょう。
お礼
ご忠告ありがとうございます 回答が待てなくてついそうなってしまうことが何度かありました。 今後気をつけますのでm(__)m
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 条件付き書式設定で「数式が」を選択、数式欄に=LEN(セル)をお試しください。 参考です。 ・「次の値以上」で「="0"」は文字列の「0」ですから数値と相違しますのでNG、 「=0」ならば未入力セルも反応するからNG、 ・「次の値より大きい」で「0」は期待の通りとなる筈ですが「0」入力は反応しないのでNG。
お礼
=ISNUMBER()や=COUNT()はよく目にしますが、 =LEN()は、はじめて知りました。 何が反応して何が反応しないとか、なかなか理解できませんw ご説明ありがとうございますm(__)m
- kagakusuki
- ベストアンサー率51% (2610/5101)
空欄は数値ではないため、「~よりも大きい」という様な、数値の大小を比較する判定の対象外と見なされて、判定が行われないのかも知れません。 ですから、条件付き書式ウィンドウの左側の欄を「数式」にした上で、右側の欄を次の様にされては如何でしょうか。(A1セルの場合) =ISNUMBER(A1) 尚、この条件ではSheet2のA1の値が数値の0やマイナスの場合もセルが赤くなります。 もし、プラスの場合のみセルを赤くするのでしたら、右側の欄に入力する数式を、次の様に変えて下さい。 =AND(A1>0,ISNUMBER(A1))
お礼
数式でやるとなると、他にもいくつか関数があるようですが、=AND(A1>0,ISNUMBER(A1))は勉強になりました。 今回はそういう使い方はしませんが、これは必ず使うことが出てきそうです ありがとうございましたm(__)m
- m_and_dmp
- ベストアンサー率54% (990/1821)
エクセルのバージョンは2003です。 「ゼロ以上」という条件はゼロを含むからダメなのだろうと思いますが、 一つのセルで、「セルの値が 次の値より大きい 0」書式:文字の色「赤」を指定。「書式のコピー/貼り付け」ボタンを使ってそのセルの書式を他のセルにコピーしてみました。セルの内容も直接入力ではなく、近くのセルに入力した数値の参照にしました。それで期待した結果になりました。 書式の設定をパターン(ぬりつぶし)にして、やはり期待した結果になりました。 いろいろ試すうちにセルに複数の書式が設定された可能性はありませんか? 新しいシートを開いて試して下さい。
お礼
なるほど、そういう数式もあるわけですね、 前回教えて頂いた数式はホントに助かりましたm(__)m ちょっと長めの数式なので、あとで関数辞典で調べてみようと思いつつとりあえずそのまま使わせて頂いてる次第ですw 解説を読ませて頂いて数式の意味はともかく使用目的を考えたらということはよくわかりました。 Y14:Y15どちらか片方だけの入力ということはあり得ませんので・・・ ありがとうございましたm(__)m