45 votes

Un bug dans Excel ? La mise en forme conditionnelle pour marquer les doublons met également en évidence la valeur unique

Si je laisse Excel mettre en évidence deux valeurs en double PT_INTERNAL2859736 alors aussi la valeur unique *736 est mis en évidence. Pourquoi cela se produit-il et comment puis-je arrêter de mettre en évidence la valeur unique en tant que doublon ?

Je pensais que le Valeurs en double est fiable jusqu'à ce que je trouve ce cas.

enter image description here

Le problème peut être reproduit à partir de l'image.

Maintenant, si vous avez reproduit ce comportement, essayez de supprimer l'un des éléments suivants PT_ valeurs. L'autre perdra la mise en évidence mais le *736 le gardera !

         enter image description here

S'agit-il d'un comportement attendu du Valeurs en double fonctionnalité (dont l'utilité m'échappe) ? Ou s'agit-il plutôt d'un défaut qui doit être signalé ?


Mise à jour par iliansky (2021-01-25) :

Un comportement non documenté similaire peut également être observé avec d'autres symboles tels que < , > , <= , >= lorsque ces symboles sont placés au début du texte dans une cellule et qu'il y a au moins 2 cellules non vides dans la colonne. Voir un exemple ici (chaque colonne est un exemple distinct).

Cela peut poser un problème lors du traitement de fichiers xml dont les lignes commencent normalement par < .

51voto

cybernetic.nomad Points 5157

C'est en effet parce que * est traité comme un joker.

La solution consiste à utiliser une formule pour insérer un tilde ( ~ ) afin d'échapper à l'astérisque ( * ) pour la mise en forme conditionnelle :

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

30voto

miroxlav Points 11663

Après une recherche plus approfondie du comportement et de la documentation, je peux répondre à la question d'un point de vue de haut niveau :

Il s'agit plutôt d'un comportement non documenté que d'un défaut.

D'autres réponses nous ont rappelé l'utilisation de caractères génériques ( * , ? , ~ ) dans les formules Excel. La question restée sans réponse jusqu'à présent est de savoir si elles sont également attendues dans la mise en forme conditionnelle. Microsoft documente les Valeurs en double de la mise en forme conditionnelle dans les articles suivants :

Nulle part dans ces articles il n'est fait mention de que l'algorithme interne de recherche des doublons respecte toujours les caractères génériques ( * , ? , ~ ). En revanche, la prise en charge des caractères génériques est explicitement mentionnée dans les fonctionnalités, où la présence de caractères génériques est évidente et attendue :

Mais revenons aux doublons : on peut discuter de la question de savoir si les valeurs de l'échantillon PT_INTERNAL2859736 y *736 sont des doublons par définition . Selon le bon sens, non. Dans Excel, évidemment oui. Il est possible qu'Excel utilise simplement son algorithme de recherche standard (qui tient compte des caractères génériques) pour rechercher des cellules contenant des valeurs en double... et les résultats de l'affichage des valeurs en double peuvent être tout à fait inattendus, comme vous pouvez le voir dans la question ou ici :

enter image description here

Sur la base de ce qui précède, je dirais qu'il ne s'agit pas d'un défaut, mais d'un comportement inattendu et non documenté.

Et cela pose un problème dans les scénarios de la vie réelle. Vous n'avez pas été prévenu que vous avez besoin d'une formule spéciale pour découvrir les vrais doublons. On vous a simplement présenté Valeurs en double type de mise en forme conditionnelle sans autre explication. Aujourd'hui, j'ai pris une liste de 2000 valeurs pour fournir des données au client et les faux positifs n'ont été repérés que par coïncidence et après une double vérification des résultats. J'ai presque supprimé des valeurs uniques en pensant qu'elles avaient des doublons quelque part dans la liste.

Le comportement actuel est logique du point de vue d'Excel mais présente un énorme point d'exclamation pour les utilisateurs inexpérimentés. Si quelque chose doit être corrigé, c'est au moins la documentation.

14voto

Saaru Lindestøkke Points 4331

I Google para excel asterisk wildcard conditional formatting vous trouverez quelqu'un avec le même problème.

La solution proposée consiste à utiliser une formule personnalisée pour vérifier si la valeur est un doublon.

La formule se présente comme suit :
=SUMPRODUCT(--(("~"&A2)=("~"&$A$2:$A$4)))>1

enter image description here

Et le résultat est là :

enter image description here

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X