Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Recherche de valeurs consécutives

Manu.

XLDnaute Nouveau
Bonjour,

Je cherche une formule simple pour rechercher l'emplacement de 4 zéros consécutifs dans une ligne de tableau excel.

Voici l'exemple:
Code:
A   B   C   D   E   F   G   H   I   J   K   L   M
1   3   1   0   0   2   3   [B][COLOR="Red"]0   0   0   0[/COLOR][/B]   2   1

Je cherche donc à trouver l'emplacement des 4 zéros consécutifs dans les colonnes H à K. Il doit me renvoyer la colonne de départ, soit H, càd la colonne n° 8.


Il faudrait une fonction EQUIV, où on recherche un vecteur. Cet exemple ne marche pas comme EQUIV ne cherche que des valeurs
=EQUIV( {0.0.0.0} ; A1:M1 ; 0)

Quelqu'un aurait-il une solution miracle sans vba si possible?

Merci beaucoup.
 

job75

XLDnaute Barbatruc
Re : Recherche de valeurs consécutives

Bonjour Manu, bienvenue sur le forum,

Si les valeurs sont en ligne 1, le numéro de la colonne où commence la 1ère série de 0 consécutifs est donné par cette formule matricielle :

=MIN(SI(A1:J1&B1:K1&C1:L1&D1:M1="0000";COLONNE(A1:J1)))

A valider par Ctrl+Maj+Entrée.

Edit : la lettre de la colonne, toujours en matricielle :

=CAR(64+MIN(SI(A1:J1&B1:K1&C1:L1&D1:M1="0000";COLONNE(A1:J1))))

Adaptable si le tableau ne va pas plus loin que la colonne AC.

Bonne nuit.
 
Dernière édition:

Manu.

XLDnaute Nouveau
Re : Recherche de valeurs consécutives

Merci pour cette réponse.
Ca marche bien. Aurais-tu une idée pour modifier facilement la condition "0000" en "000" par exemple.
Avec cet exemple, il faut à chaque fois changer toute la formule ?

Je voudrais mettre qq part le paramètre "Nbre de zéros consécutifs", et avoir ensuite des formules qui s'adaptent automatiquement.

Merci.
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Recherche de valeurs consécutives

Bonjour Manu,

On peut en effet paramétrer la formule en utilisant la fonction REPT.

Avec les valeurs en ligne 3 et la cellule C1 pouvant prendre les valeurs de 1 à 4 :

Code:
=MIN(SI(A3:M3&REPT(B3:N3;C1>1)&REPT(C3:O3;C1>2)&REPT(D3:P3;C1>3)=REPT("0";C1);COLONNE(A3:M3)))

Toujours matricielle...

Fichier joint où une liste de validation est en C1.

Edit : si la formule est à tirer vers le bas (plusieurs lignes), bien sûr remplacer C1 par C$1...

A+
 

Pièces jointes

  • Classeur1.xls
    21.5 KB · Affichages: 100
  • Classeur1.xls
    21.5 KB · Affichages: 110
  • Classeur1.xls
    21.5 KB · Affichages: 113
Dernière édition:
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…