Excelで重複する2つの値PT_INTERNAL2859736
を強調表示させると、一意の値*736
も強調表示されます。なぜこのようなことが起こるのか、また、ユニークな値が重複して強調表示されないようにするにはどうすればよいのでしょうか?
このケースを見つけるまでは、Duplicate Valuesルールは信頼できると思っていました
画像を元に問題を再現することができます
さて、この動作を再現した場合、PT_
の値のうち1つを削除してみてください。もう一方の値はハイライトが失われますが、*736
はハイライトを維持します!
これはDuplicate Values機能(私が見落としている有用性)の期待される動作ですか?それとも、これはむしろ報告されなければならない欠陥なのでしょうか?
44 None 2019-03-05
確かに*
はワイルドカードとして扱われているからです
これを回避する方法は、条件付き書式設定でアスタリスク(*
)をエスケープするためにチルダ(~
)を挿入する式を使用することです
=COUNTIF(A:A,SUBSTITUTE(A1,"*","~*"))>1
51 cybernetic.nomad 2019-03-05
挙動やドキュメントをさらに研究した結果、高度な視点からの回答ができるようになりました
これは欠陥というよりも、むしろ文書化されていない行動です
他の回答では、Excelの数式でワイルドカード文字(*
, ?
, ~
)を使用していることを思い出しました。これまで未回答だった疑問は、条件付き書式でも期待できるかどうかということです。マイクロソフトは、条件付き書式設定のDuplicate Valuesモードについて、以下の記事で文書化しています
これらの記事のどこにも、重複を検索する内部アルゴリズムがまだワイルドカード文字 (*
, ?
, ~
) を尊重していることには言及されていません。それどころか、ワイルドカードのサポートは、ワイルドカードの存在が明白で期待される機能性の中で明示的に名前が付けられています
- 標準検索ボックス
- functions like SEARCH(), SEARCHB(), COUNTIF(),
しかし、重複の話に戻ると、サンプル値PT_INTERNAL2859736
と*736
が定義上重複しているかどうかについて議論することができます。常識的に考えれば、違います。Excelでは、明らかにそうです。Excelでは、重複した値を持つセルの検索のために標準の検索アルゴリズム(ワイルドカード文字を尊重する)を使用している可能性があります…そして、質問やここで見られるように、重複した値を表示した結果は非常に予期しないものになることがあります
以上のことから、これは欠陥ではなく、予期せぬ、文書化されていない動作だと思います
そして、これは実際のシナリオでは問題が発生します。あなたは、実際の重複を発見するために特別な数式が必要であることを警告されていませんでした。それ以上の説明もなく、Duplicate values conditional formatting typeが提示されただけなのです。今日、私は顧客にデータを提供するために2000個の値のリストを取り、偶然と結果の二重チェックの後にだけ偽陽性が発見されました。私はそれらがリストのどこかで重複していることを考慮してユニークな値をほとんど削除しました
現在の動作はExcelの観点からは論理的ですが、経験の浅いユーザーが使うには大きな感嘆符を引いてしまいます。何か修正すべき点があるとすれば、それは少なくともドキュメントです
30 miroxlav 2019-03-05
Googleでexcel asterisk wildcard conditional formatting
を検索すると、同じ問題を抱えた人がいると出てきます
そこで提案された解決策は、値が重複しているかどうかをチェックするためにカスタム式を使用することです
式は以下のようになります。 =SUMPRODUCT(--(("~"&A2)=("~"&$A$2:$A$4)))>1
そして、その結果が
14 Saaru Lindestøkke 2019-03-05