2017-01-09 13 views
1

Excelの列の重複値を強調表示する方法を探しています。これらはテキストとして定義された数値です。問題は、それが完全に機能しない通常の重複した条件付きフォーマットを使用する場合です。 duplicate conditional format 値には、小数点以下の小数点以下の桁数があります(例:3.1および3.10)。条件付き書式を使用すると、3.1と3.10の両方が強調表示されます。私の質問はどのように私は2つの値を区別することができるので、彼らは強調表示されませんです。私は重複をチェックするために列のすべてのセルをループするVBAコードを使用してみましたが、これは非常に(10分を完了するために)非常に遅いので、100,000の値を含むリストがあります。Excelで重複小数点値を検索して強調表示

答えて

1

あなたは(私はこれが列の最初のセルを省略仕事を得ることができ)列にタイトル行を持っていると仮定すると、 (私はそれを作成したが、それに応じて列のラベルを調整する)列Kを使用した。

これは、MATCHが完全一致のみを検索し、見つからない場合はエラーを返すため、魅力を発揮します。条件付き書式設定の式では、重複値をチェックし、自動機能と同じ方法で両方を強調表示します。

=IF(ISERROR(MATCH(K2,$K3:$K$1048571,0)),IF(ISERROR(MATCH(K2,$K$1:$K1,0)),FALSE,TRUE),TRUE)

唯一の問題は、すべての細胞がテキストとしてフォーマットしている場合は、このにのみ動作することであるだけでなく、主要な0.0の持つもの。違いがあるはずですので、

Example

+1

'SUMPRODUCT'よりもはるかに優れたパフォーマンスです。私は「マッチ」についても考えていましたが、同じ方法を使って上下を見る方法を得ることができませんでした。 +1。 –

+0

これはまさに私が探していたことありがとうございました –

+0

パーフェクト!それを聞いてうれしい。ありがとう@AxelRichter、私はマッチが正しく動作していることを認識する前に、いろいろな種類の乱雑なものを試していました。 –

0

なぜ3.1と3.10が異なると思いますか?これは等しい値です。したがって、既定の条件付き書式設定、さらにはCOUNTIFも同等のものとなります。 私はそれらの間で異なると思う可能性があるのは、SUMPRODUCTと明示的に=の比較を使用していることだけです。しかし、使用された範囲を縮小する必要があります。なぜなら、すべての行に使用すると非常に遅くなるからです。

A行1は、その後、10000に列に、条件付き書式の数式を'またはTextとしてフォーマットカラムのいずれかを使用して、テキストのような値を想定:

=SUMPRODUCT(($A$1:$A$10000=$A1)*($A1<>""))>1 

$A:$Aに適用することができます。

あなたがに以降K2に適用される条件formatiingため、この式を、使用することができます。

+0

値がテキストとしてフォーマットされ(整列2.51権は、フォーマット番号として入力されます)。 –

関連する問題