Connaitre nombre d'elements identiques qui se suivent

misterweby Messages postés 6 Statut Membre -  
misterweby Messages postés 6 Statut Membre -
Bonjour,

Je voudrais connaitre le nombre d’éléments identiques d'une série, qui se suivent, en ne prenant en compte que la dernière séquence de nombres identiques.

Ex :

j'ai la suite ci dessous : O, O, O, O, N, N, O, O, N, N, N, N, O, O, (une valeur par cellule)

Je souhaite connaitre le nombre de N qui se suivent en dernier (la dernière suite de la série uniquement), c'est a dire dans mon exemple avoir un 4 en retour.

Enfin, pour compliquer encore un peu, il ne faudrait pas tenir compte des cellules vides, c'est a dire :

Exemple 2 : dans la suite O, O, O, N, O, N, N, vide, vide, N, O, O, je voudrais avoir un 3 en retour (3 N qui se suivent dans la dernière série de N, en comptant que les cellules vides ne cassent pas la suite de N).

Avez-vous une idée ?

Merci d'avance !
A voir également:

3 réponses

ccm81 Messages postés 11033 Statut Membre 2 433
 
Bonjour

Un exemple avec une fonction personnalisée (macro)
http://www.cjoint.com/c/ELir0EkI338

Cdlmnt

Lien modifié à 18h53
0
JvDo Messages postés 2012 Statut Membre 859
 
Bonjour à tous,

une solution par formule matricielle :
=SOMMEPROD(--(DECALER(E3:X3;;MAX((E3:X3="O")*(COLONNE(E3:X3)<MAX((E3:X3="N")*(COLONNE(E3:X3)-COLONNE(INDEX(E3:X3;1))+1)))*(COLONNE(E3:X3)-COLONNE(INDEX(E3:X3;1))+1));1;MAX((E3:X3="N")*(COLONNE(E3:X3)-COLONNE(INDEX(E3:X3;1))+1))-MAX((E3:X3="O")*(COLONNE(E3:X3)<MAX((E3:X3="N")*(COLONNE(E3:X3)-COLONNE(INDEX(E3:X3;1))+1)))*(COLONNE(E3:X3)-COLONNE(INDEX(E3:X3;1))+1)))="N"))

j'ai considéré que ta plage de données était en E3:X3 (pourquoi pas)

Le principe : on cherche le dernier N puis le dernier O précédent le dernier N et enfin on compte le nombre de N entre ces 2 bornes.

cordialement
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 279
 
Bonjour à tous,

JvDo ça ne serait pas plutôt le nombre de cellules qu'il faudrait compter ?
Ou que tu comptes... Je n'ai pas testé, j'ai confiance en tes formules :-)
eric
0
JvDo Messages postés 2012 Statut Membre 859
 
Bonjour eriic,

Oui, je compte le nombre de cellules contenant N.
En revanche, en testant avec des N en dernière position, j'ai vu que la formule ne fonctionnait pas correctement.
Voici la modif et les valeurs testées :
=SOMMEPROD(--(DECALER(E3:X3;;MAX((E3:X3="O")*(COLONNE(E3:X3)-COLONNE(INDEX(E3:X3;1))+1<MAX((E3:X3="N")*(COLONNE(E3:X3)-COLONNE(INDEX(E3:X3;1))+1)))*(COLONNE(E3:X3)-COLONNE(INDEX(E3:X3;1))+1));1;MAX((E3:X3="N")*(COLONNE(E3:X3)-COLONNE(INDEX(E3:X3;1))+1))-MAX((E3:X3="O")*(COLONNE(E3:X3)-COLONNE(INDEX(E3:X3;1))+1<MAX((E3:X3="N")*(COLONNE(E3:X3)-COLONNE(INDEX(E3:X3;1))+1)))*(COLONNE(E3:X3)-COLONNE(INDEX(E3:X3;1))+1)))="N"))


O, O, O, O, N, N, O, O, N, N, , N, , N, N, O, O, O, O, N donne 1
O, O, O, N, O, N, N, N, , N, O, O, , , , , , , , donne 4
, N, , , , , , , , , , , , , , , , , , donne 1
O, O, O, O, N, N, O, O, N, N, , N, , N, N, O, O, O, O, O donne 5


cordialement
0
JvDo Messages postés 2012 Statut Membre 859
 
et pour que ce soit plus facile à comprendre : https://www.cjoint.com/c/ELjnglWNUX1

cdlt
0
misterweby Messages postés 6 Statut Membre
 
Bonjour et merci pour la réponse, (désolé pour le retard !)

Cette fonction correspond bien a mon besoin,néanmoins j'ai besoin d'affiner un peu la solution :

En effet, mes variables "N" peuvent en fait être "N" ou "IN", et mes autres variables "O" peuvent prendre différentes valeurs (donc il faudrait surveiller les valeurs differentes de N et IN ?

Y-a-t-il un moyen de faire ça en gardant la même logique de formule ?
0
misterweby Messages postés 6 Statut Membre
 
J'ai essayé d’insérer une fonction OU("IN";"N") mais cela ne semble pas fonctionner ou alors je l’insère mal...
0