De nombreux utilisateurs d’Excel connaissent la fonction equiv() et savent qu’elle sert par exemple à trouver la première
occurrence d’une valeur ou d’un texte dans un vecteur quand son troisième
argument est 0, grâce à la syntaxe : =equiv(valeur;vecteur;0).
Dans le tableau ci-dessous, nous avons tiré en colonne A
des valeurs aléatoires de 1 à 10, histoire de pouvoir bien tester le
fonctionnement de nos formules. Il suffit donc d’utiliser la touche F9 pour obtenir un nouveau tirage des valeurs de la colonne
A.
La formule de D2, visible dans le commentaire associé,
sert à calculer la position du premier 7 dans la colonne A.
Remarque – Dans le temps (avant Excel 2007), la fonction sierreur() n'existait pas et l'on était alors obligé d'utiliser une formule plus complexe avec un si(), ce qui nous obligeait à écrire deux fois l'expression à analyser !
Bonjour à tous,
RépondreSupprimerAprès essai de vos formules, je trouve une erreur si l'occurence 2 est en ligne 21, l'occurence 3 est ligne 22.
Pour palier à ce soucis, je vous propose:
=SI(NB.SI($A$2:$A$21;$D$1)>=LIGNES($1:1);EQUIV($D$1;A:A;0);"Aucune")
et
=SI(NB.SI($A$2:$A$21;$D$1)>=LIGNES($1:2);D2+EQUIV($D$1;DECALER($A$1;D2;0):$A$21;0);"")
Bonjour Jacky,
RépondreSupprimerVous avez peut-être regardé ma copie d'écran un peu trop vite...
En effet, ma table s'arrêtait en ligne 21 !
Cordialement. Hervé Thiriez.
Jacky Harlé a eu le mérite d'écrire les formules qui fonctionnent sous Excel 2003
RépondreSupprimerCordialement vôtre.
Bonjour,
RépondreSupprimerLa formule matricielle suivante permet de trouver directement la ligne de la énième occurrence (en E1 dans ce qui suit) :
=SIERREUR(PETITE.VALEUR(SI($A$1:$A$21=D1;LIGNE($A$1:$A$21));E1);"")
Cordialement.
Daniel
Bravo et merci pour cette super formule matricielle qui marche à merveille!
RépondreSupprimersuper formule
RépondreSupprimermerci