Aide sur une formule

Bonjour,

Est ce que quelqu'un de doué sur excel peut expliquer cette formule qui m'a été donnée au travail...

{=EQUIV(1;(SOUS.TOTAL(3;INDIRECT("A"&LIGNE(A173:A347 ))));0)+1}

Cette formule me sert à donner le numéro de la deuxième ligne d'un tableau filtré.

Du coup quand j'actualise les filtres, la deuxième ligne de mon tableau correspond à la ligne (pour exemple) 55 de mon classeur.

La formule me donne donc le numéro 55 de la ligne 2 de mon tableau grâce au +1.

Je comprend par pourquoi il y a une fonction equiv couplé avec une fonction sous total qui donne un no_fonction 3 c'est à dire NBVAL puis ensuite indirect... la je perds totalement le file.

De plus la fonction est matricielle alors la .... j'ai beau me plonger 3 heures dans mon livre de 700 pages sur excel je ne la comprends pas et sa m'énerve!

Un âme charitable pour m'aider :p

Amicalement.

Bonsoir @ tous,

SOUS.TOTAL(3;INDIRECT("A"&LIGNE(A173:A347)))

Cette formule teste la présence d'une valeur dans toutes les cellules de la plage A173:A347

Après le filtre, pour les cellules masquées elle renvoie 0, et pour les cellules non masquées elle renvoie 1 si la cellule n'est pas vide.

Du coup on obtiendra une matrice des 0 et 1 : {0;0;1;1;1;1;0;1;0;1;1;1;1;0;0;0;1;1;0;0;0;1...}, et comme ça on cherche l’équivalent du 1 sur la matrice, qui est 3 sur l'exemple +1 = 4 .

@ + +

Sur le fichier joint, on a la formule avec une autre en index pour me sortir l'élément qui va avec l'actualisation des filtres.

Je pense que vous avez raison Rachid sur la formule, néanmoins quand je filtre et que je décoche la case "1" on retrouve la cellule avec inscrit "2" à l'intérieur pourtant la formule me donne le chiffre "2" soit le numéro de ligne 2 et avec la formule index à coté je trouve bien la lettre associé... pourtant la feuille est sur la ligne 6... la je comprend pas bien.

De plus mettre avec votre expliquation, si juste le chiffre "1" est enlevé lors du filtrage je me retrouve donc avec 26 valeurs apparantes soit {0;1;1;1;1;1;1;1;1;1;1;1;1;1...} jusqu'a avoir 26 "1" et la fonction equiv devrait me renvoyer le numéro de ligne de du premier "1" ? donc 6?

c'est un peu compliqué dans ma tête....

Merci de la réponse apportée tout de même.

Amicalement.

Re,

Non, elle ne renvoie pas le numéro de ligne mais l’équivalent de 1 dans la plage {0;1;1;1;1;1;1;1...} c'est 2 et n'est pas 6..

Faut voir sur l'aide d'Excel, l'explication de la fonction EQUIV().

@ + +

Bonjour

Maxime, il ne faut pas confondre 1ère ligne et 1ère valeur.

Ta formule indique la 1ère valeur visible. (voir explications de Rachid)

Regarde le fichier joint

7maxime-p.xlsx (17.21 Ko)

Amicalement

Nad

Bonjour,

vous êtes géniaux ! merci pour les explications et le petit fichier !

à bientôt !

Rechercher des sujets similaires à "aide formule"