Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment renvoyer la dernière valeur non nulle d'une colonne?

4 réponses
Avatar
yvanduvent
J'ai des colonnes de tailles différentes, admettons 5 colonnes contenant des
chiffres. Toutes se terminent par des 0 pour avoir une matrice carrée.
J'aimerais extraire et renvoyer la dernière valeur non nulle de chaque
colonne, est-ce que quelqu'un pourrait m'aider?
-Merci d'avance
Yvan

4 réponses

Avatar
michdenis
Bonjour yvanduvent,

Pour chacune de tes colonnes, tu peux utiliser la formule suivante :

Validation matricielle : Ctrl + Maj + Enter
=MAX(SI((A1:A21<>"")*(A1:A21<>0);LIGNE(A1:A21)))


Salutations!


"yvanduvent" a écrit dans le message de news:

J'ai des colonnes de tailles différentes, admettons 5 colonnes contenant des
chiffres. Toutes se terminent par des 0 pour avoir une matrice carrée.
J'aimerais extraire et renvoyer la dernière valeur non nulle de chaque
colonne, est-ce que quelqu'un pourrait m'aider?
-Merci d'avance
Yvan
Avatar
JB
Bonjour,

http://cjoint.com/?eggHJSkSG4

S'il n'y pas égalité de nombres:
=INDEX(A1:A10;MAX(SI(A1:A10<>0;EQUIV(A1:A10;A1:A10;0);"")))
Valider avec Maj+Ctrl+Entrée

S'il y a égalité:

=INDEX(A1:A10;MAX(SI(A1:A10<>0;EQUIV(A1:A10-LIGNE(A1:A10)/10^10;A1:A10-LI GNE(A1:A10)/10^10;0);"")))
Valider avec Maj+Ctrl+Entrée

Cordialement JB
Avatar
JB
Autres solutions : http://cjoint.com/?egikWXsrLa

Sans texte:
=INDEX(A1:A10;MAX(SI(A1:A10<>0;LIGNE(INDIRECT("1:"&LIGNES(A1:A10)));"")))

Avec texte:
=INDEX(A1:A10;MAX(SI((A1:A10<>0)*(ESTNUM(A1:A10));LIGNE(INDIRECT("1:"&LIG NES(A1:A10)));"")))

Sans texte:
Dernier nombre de la colonne (sans texte)
=INDEX(A1:A10;MAX(SI(A1:A10<>0;LIGNE(A1:A10))))

Attention: si on déplace le champ d'une ligne:
=INDEX(A1:A10;MAX(SI(A1:A10<>0;LIGNE(A1:A10)-1)))

JB
Avatar
AV
Valide avec texte ou non, vides ou non, déplacement de la plage ou
insertion lignes possibles.
Valeurs d'erreur exclues (si besoin... demander)

Matricielle (validation par ctrl+maj+entrée)
=INDEX(Plage;MAX((ESTNUM(Plage))*(Plage<>0)*(LIGNE(Plage)))-(LIGNE(Plage)-1))

AV