occurences

andré

XLDnaute Barbatruc
Salut à vous tous,

J'ai à nouveau un trou de mémoire (lol).

Quelqu'un pourrait-il m'aider à retrouver la formule permettant de définir le contenu de la chaîne alpha-numérique d'une plage qui compte le plus d'occurences ?

Exemple :
Une plage contenant : oui, oui, 1, non, 2, non, oui
Dans une cellule je voudrais afficher 'oui', parce qu'il y a 3 oui dans la plage et seulement 2 non et 1

Problème évidemment s'il y a deux chaînes avec le même nombre d'occurences.
Il y a-t-il moyen d'afficher les deux chaînes ?

Â+
 
M

Monique

Guest
Bonjour André

Si tes données sont dans la plage A1:A6

=INDEX(A1:A6;EQUIV(MAX(SI(A1:A6<>0;NB.SI(A1:A6;A1:A6)));SI(A1:A6<>0;NB.SI(A1:A6;A1:A6));0);1)

André, j'avais répondu la semaine dernière sur cette question, tu oublies de me lire ?.

@+Jean-Marie
 

andré

XLDnaute Barbatruc
Bonjour Monique,

Avant tout, merci.

J'avais bien écrit : j'ai un trou de mémoire.
Ce n'était peut-être pas les termes exacts que j'aurais du employer.

Donc : SUBSTITUE() ou REMPLACE(), à ton choix, par :

Ayant été ébloui par la réponse de Monique à une question similaire, j'ai tout-à-fait oublié d'en prendre bonne note, et je ne la retrouve pas.

La réponse évidemment, parce que toi tu es toujours au poste (lol), et c'est très bien ainsi.

Bon dimanche.
Â+
 

andré

XLDnaute Barbatruc
Rebonjour Monique,

Heureusement que tu m'as dit que c'est une formule matricielle (lol).

Je le précise toutefois pour les autres.

J'avais bien trouvé une solution avec une colonne supplémentaire et la fonction NB.SI, puis dans une autre cellule la fonction RECHERCHEV(GRANDE.VALEUR(..., mais la tienne est bien plus subtile.
Cela me permettait toutefois d'afficher les doublons.

Vois-tu une possibilité d'afficher les doublons avec ta formule, soit deux ou plusieurs chaînes avec le même nombres d'occurences ?

Merci d'avance.
Â+
 

Monique

Nous a quitté
Repose en paix
Bonjour,

Jean-Marie, à quoi tu joues ?

André,
toutes les occurrences, ordre décroissant
en D2 puis copier vers le bas
=INDEX(Zone;EQUIV(MAX(SI(NB.SI(D$1:D1;Zone)=0;NB.SI(Zone;Zone)));SI(NB.SI(D$1:D1;Zone)=0;NB.SI(Zone;Zone));0))

Au conditionnel, en F2 :
=SI(SOMME(SI(Zone<>'';1/NB.SI(Zone;Zone)))<LIGNES(F$2:F2);'';INDEX(Zone;EQUIV(MAX(SI(NB.SI(F$1:F1;Zone)=0;NB.SI(Zone;Zone)));SI(NB.SI(F$1:F1;Zone)=0;NB.SI(Zone;Zone));0)))

Ordre croissant, en H2 :
=INDEX(Zone;EQUIV(MIN(SI(Zone<>'';SI(NB.SI(H$1:H1;Zone)=0;NB.SI(Zone;Zone))));SI(Zone<>'';SI(NB.SI(H$1:H1;Zone)=0;NB.SI(Zone;Zone)));0))

Le fil en question, il y en a au moins 1 de Jmr,
les 2 véhicules qui ont consommé le plus de carburant,
et les 2 qui ont consommé le moins,
avec possibilité d'ex aequo
 
L

laM

Guest
Bonjour André, Monique

J’aimerai votre avis sur ces autres versions
(formules matricielles adaptées de celles de Monique)

A1 :A6 contiennent : oui, oui, 1, non, 2, non
{=SI(MAX(NB.SI(A1:A6;A1:A6))=NB.SI(A1:A6;A1:A6);A1:A6;'')}
ce qui donne : oui, oui, , non, , non

Et avec
{=SI(MAX(NB.SI(A1:A6;A1:A6))=NB.SI(A1:A6;A1:A6);SI(1=NB.SI(DECALER(A1:A6;;;LIGNE());A1:A6);A1:A6;'');'')}
on vérifie qu’il n’y a qu’une occurrence de la « valeur testée positivement », entre la première cellule et la position actuelle
ce qui donne : oui, , , non, ,

Au revoir, à bientôt
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 854
Membres
103 975
dernier inscrit
denry