web-dev-qa-db-ja.com

Excelのバグ?重複をマークするための条件付きフォーマットも一意の値を強調します

Excelに2つの重複する値を強調表示させると、PT_INTERNAL2859736、次に一意の値*736が強調表示されます。なぜこれが発生し、重複する一意の値の強調表示を停止するにはどうすればよいですか?

このケースが見つかるまで、Duplicate Valuesルールは信頼できると思いました。

enter image description here

画像に基づいて問題を再現できます。

ここで、動作を再現した場合は、PT_の値。もう一方は強調表示を失いますが、*736保持します!

enter image description here

これはDuplicate Values機能の期待される動作ですか(私が見落としている有用性)?それとも、これは報告する必要のある欠陥ですか?

42
miroxlav

動作とドキュメントをさらに調査した後、高レベルの観点から質問に答えることができます。

これは、欠陥ではなく、文書化されていない動作です。

他の回答では、ワイルドカード文字(*?~)Excelの数式で。以前に答えられなかった質問は、条件付き書式にも期待されるかどうかです。 Microsoftは、条件付き書式のDuplicate Valuesモードを次の記事で文書化しています。

これらの記事のどこにも言及されていません重複を検索する内部アルゴリズムは依然としてワイルドカード文字(*?~)。逆に、ワイルドカードのサポートは機能で明示的に指定されており、ワイルドカードの存在は明白であり、期待されています。

しかし、重複に戻ります。サンプル値PT_INTERNAL2859736および*736は重複しています定義により。常識では、違います。 Excelでは、もちろんそうです。 Excelが重複する値を持つセルの検索にも標準の検索アルゴリズム(ワイルドカード文字を尊重する)を使用するだけである可能性があります...質問やここでわかるように、重複する値を表示した結果は予期しないものになる可能性があります。

enter image description here

上記に基づくと、これは欠陥ではなく、予期せぬ、文書化されていない動作です。

そして、これは実際のシナリオで問題を引き起こします。実際の重複を検出するには特別な式が必要であることを警告されていません。 Duplicate values条件付きフォーマットタイプによって、詳細な説明なしで表示されました。今日、私は顧客にデータを提供するために2000の値のリストを取得しました。誤検出は、偶然と結果の二重チェック後にのみ発見されました。リストのどこかに重複があると考えて、一意の値をほとんど削除しました。

現在の動作はExcelの観点からは論理的ですが、経験の浅いユーザーが使用するために巨大な感嘆符が描かれています。何かを修正する必要がある場合、それは少なくともドキュメントです

30
miroxlav

*はワイルドカードとして扱われます。

それを回避する方法は、式を使用してチルダ(~)アスタリスク(*)条件付きフォーマット:

=COUNTIF(A:A,SUBSTITUTE(A1,"*","~*"))>1
50

Google for _Excel asterisk wildcard conditional formatting_の場合、同じ問題のある someone が見つかります。

そこで提案された解決策は、値が重複しているかどうかを確認するためにカスタム式を使用することです。

式は次のようになります。
=SUMPRODUCT(--(("~"&A2)=("~"&$A$2:$A$4)))>1

enter image description here

そして結果は:

enter image description here

14