Rectifier une formule Ligne

  • Initiateur de la discussion Initiateur de la discussion JJ1
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

JJ1

Guest
Bonjour,
Je joins un petit ficher où je compte un intervalle de lignes séparant un nombre.
Pouvez-vous corriger la formule qui compte les ligne entre les intervalles , je voudrais des 0 à la place, ou, si c'est possible, directement le récapitulatif -merci
Bon AM
 

Pièces jointes

Re : Rectifier une formule Ligne

Bonjour JJ1,

D'après ce que j'ai compris, en H2:L2, tu auras toujours 0 (donc pas difficile).

Ensuite, en H3 :

Code:
=SI(NB.SI($A$1:$A$18;H$1)<LIGNE()-1;"";PETITE.VALEUR(SI(
($A$1:$A$18=H$1)*LIGNE($A$1:$A$18)>0;($A$1:$A$18=H$1)*LIGNE(
$A$1:$A$18));LIGNE()-1)-PETITE.VALEUR(SI(($A$1:$A$18=H$1)*LIGNE(
$A$1:$A$18)>0;($A$1:$A$18=H$1)*LIGNE($A$1:$A$18));LIGNE()-2))

Formule matricielle à valider par CTRL + MAJ + ENTREE

à recopier vers le bas et vers la droite

Bon WE

@+
 
Re : Rectifier une formule Ligne

Bonsoir

Une proposition, avec une formule matricielle, à valider par Ctrl+Shift+Entrer.
Attention, cela ne suffit pas pour la mettre en oeuvre, comme c'est une véritable fonction matricielle, la formule renvoyant une matrice et non une seule valeur, il faut sélectionner une plage de cellule (exemple B2:B18), puis inscrire la formule, et ensuite la valider par les trois touches.

Voici la formule,
Code:
=FREQUENCE(SI(LIGNE($A$2:$A$18)<=EQUIV(B1;$A$2:$A$18;0);"";SI($A$2:$A$18<>B1;LIGNE($A$2:$A$18);LIGNE($A$3:$A$19)));($A$2:$A$18=1)*LIGNE($A$2:$A$18))

Edit :
La formule peut-être plus courte de cette manière
Code:
=FREQUENCE(SI(LIGNE($A$2:$A$18)<=EQUIV(B1;$A$2:$A$18;0);"";LIGNE($A$2:$A$18)+($A$2:$A$18<>B1));($A$2:$A$18=1)*LIGNE($A$2:$A$18))
En regardant ton fichier de plus prêt, je pense que la représentation voulue est de type de la colonne H, ce que ne donne pas la formule ci-dessus.

Voici en adaptant la formule, toujours le même principe sélectionner une plage de cellules, coller la formule et valider par les trois touches.
Code:
=FREQUENCE(SI(LIGNE($A$1:$A$18)<EQUIV(B1;$A$1:$A$18;0);"";SI($A$1:$A$18<>B1;LIGNE($A$1:$A$18);SI($A$2:$A$19="";"";LIGNE($A$2:$A$19))));SI($A$1:$A$18=1;LIGNE($A$1:$A$18);""))
Petit inconvénient de la formule quand la plage sélectionnée est plus importante que le nombre de valeurs dans la matrice, excel affiche un #N/A ce qui est désagréable, une MFC suffit à masquer ce problème.

Edit2 :
ou avec une gestion d'erreur, dû coup, la formule est plus courte
Code:
=SI(NB.SI(A:A;1)<LIGNE(A$1:A$18);"";FREQUENCE(SI(LIGNE($A$1:$A$18)<=EQUIV(B1;$A$1:$A$18;0);"";LIGNE($A$1:$A$18)+($A$1:$A$18<>B1));SI($A$1:$A$18=1;LIGNE($A$1:$A$18);"")))
@+Jean-Marie
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
162
Réponses
2
Affichages
166
Retour