2013-11-08 16:43:38 +0000 2013-11-08 16:43:38 +0000
7
7

Formule Excel pour obtenir la première valeur non nulle dans la ligne et l'en-tête de la colonne de retour

J'essaie de trouver une formule qui me permette d'examiner une plage de colonnes dans une ligne et de renvoyer l'en-tête de la colonne dans cette ligne où se trouve la première valeur non nulle, en me déplaçant de gauche à droite.

Voici une capture d'écran de mes données : 9 = 10/31/2011 10 = 11/30/2011 11 = 11/30/2011 12 = 12/31/2011

Les résultats que je voudrais voir dans la colonne H seraient les suivants, pour chaque ligne :

J'ai joué avec quelques formules de tableau et j'ai cherché dans les fonctions, mais je n'ai pas encore trouvé de succès. J'espère qu'un autre magicien d'excel aura une idée.

Je veux éviter d'écrire un UDF pour l'instant, si je le peux.

Réponses (4)

12
12
12
2013-11-08 17:31:38 +0000

Bien sûr, essayez ce

=INDEX(J$8:N$8,MATCH(TRUE,INDEX(J9:N9<>0,),0))

3
3
3
2013-11-08 17:58:40 +0000

J'ai accepté la réponse ci-dessus, mais je voulais montrer l'autre façon de faire, au cas où cela aiderait quelqu'un.

=OFFSET($I$8,0,MATCH(0,J10:N10,1)+1)

Vous pouvez aussi écrire ceci comme :

=INDEX(J$8:N$8,MATCH(0,J9:N9,1)+1)
0
0
0
2015-06-16 09:42:51 +0000

Eh bien ! si l'exigence consiste simplement à placer des valeurs de J8 : N8 dans la colonne H, alors Copier et transposer (Option Coller) devrait résoudre le problème.

-1
-1
-1
2015-04-21 13:03:42 +0000

Impossible de faire fonctionner ce qui précède, car la formule donnerait la plus grande colonne (nombre) qui n'est pas nulle. J'ai utilisé =MATCH(SMALL(J10:N10,1),J10:N10,0). Le petit ignore les valeurs nulles.