Excelに2つの重複する値を強調表示させると、PT_INTERNAL2859736
、次に一意の値*736
が強調表示されます。なぜこれが発生し、重複する一意の値の強調表示を停止するにはどうすればよいですか?
このケースが見つかるまで、Duplicate Valuesルールは信頼できると思いました。
画像に基づいて問題を再現できます。
ここで、動作を再現した場合は、PT_
の値。もう一方は強調表示を失いますが、*736
保持します!
これはDuplicate Values機能の期待される動作ですか(私が見落としている有用性)?それとも、これは報告する必要のある欠陥ですか?
動作とドキュメントをさらに調査した後、高レベルの観点から質問に答えることができます。
他の回答では、ワイルドカード文字(*
、?
、~
)Excelの数式で。以前に答えられなかった質問は、条件付き書式にも期待されるかどうかです。 Microsoftは、条件付き書式のDuplicate Valuesモードを次の記事で文書化しています。
これらの記事のどこにも言及されていません重複を検索する内部アルゴリズムは依然としてワイルドカード文字(*
、?
、~
)。逆に、ワイルドカードのサポートは機能で明示的に指定されており、ワイルドカードの存在は明白であり、期待されています。
しかし、重複に戻ります。サンプル値PT_INTERNAL2859736
および*736
は重複しています定義により。常識では、違います。 Excelでは、もちろんそうです。 Excelが重複する値を持つセルの検索にも標準の検索アルゴリズム(ワイルドカード文字を尊重する)を使用するだけである可能性があります...質問やここでわかるように、重複する値を表示した結果は予期しないものになる可能性があります。
上記に基づくと、これは欠陥ではなく、予期せぬ、文書化されていない動作です。
そして、これは実際のシナリオで問題を引き起こします。実際の重複を検出するには特別な式が必要であることを警告されていません。 Duplicate values条件付きフォーマットタイプによって、詳細な説明なしで表示されました。今日、私は顧客にデータを提供するために2000の値のリストを取得しました。誤検出は、偶然と結果の二重チェック後にのみ発見されました。リストのどこかに重複があると考えて、一意の値をほとんど削除しました。
現在の動作はExcelの観点からは論理的ですが、経験の浅いユーザーが使用するために巨大な感嘆符が描かれています。何かを修正する必要がある場合、それは少なくともドキュメントです
*
はワイルドカードとして扱われます。
それを回避する方法は、式を使用してチルダ(~
)アスタリスク(*
)条件付きフォーマット:
=COUNTIF(A:A,SUBSTITUTE(A1,"*","~*"))>1