2016-07-31 18 views
0

テーブルでは、その前の列がTRUEと評価された場合、 "NP Buyback Cost"をハイライトします。別のセルがブール値trueの場合の条件付きフォーマット

enter image description here

これは簡単なはずのように思えるが、それはテストとして「TRUE」または1のいずれかを使用して行わ得ていないのです。 enter image description here

修正は何ですか?

+2

Try '= K3'これはすでに真ですが、TRUEは数学的に使用されると1に評価されますが、ブール値を** 1 **と変換なしで直接比較しています。これは、セル(例えばK3)にTRUEを入れ、別のセルに '= K3 = 1 'を入れることによってワークシート上で観察することができる。絶対に必要以上に作業をしたい場合は、 '= K3 + 0 = 1'を使います。 – Jeeped

+0

が完璧です。それを答えたいと思うなら、私はそれを公式にして嬉しいです。ありがとう! – Berryl

+0

=実際に引用符を入れていないかぎり、K3 = TRUEでなければなりません(論理値ではない文字列と比較しようとする= K3 = "TRUE") –

答えて

4

ブール値TRUEは数式で使用すると数学的に1に等しく、変換なしでは1に等しくありません。

いずれの2つのセルでも、次の2つの公式でこれを証明できます。

=K3=1  ◄ resolves to False since TRUE is not equal to 1 without conversion 
=(K3+0)=1 ◄ resolves to TRUE since adding 0 to a boolean converts it to a number 

K3はすでにブール値であるため、変換や比較は実際には必要ありません。最も効率的な公式は、単純に、

=K3 

fwiwです。真はブール値Trueで、VBAでは-1です。それはワークシート上にあるので1ではありません。いずれの場合も、Falseは一度変換されるとゼロとして解決します。

+0

と(FWIW)ブール値に0を代入するとFALSEになり、その他の数はすべてTRUEになります。 17、-42、3.5はすべてエクセル式で真と扱われます。 –

+0

それは正しいですが、私がフレーズしたいのは、ゼロが偽であり、偽でないものは真であるということです。 – Jeeped

関連する問題