web-dev-qa-db-fra.com

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

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

Ci-dessous une capture d'écran de mes données: enter image description here

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

9 = 10/31/2011
10 = 11/30/2011
11 = 11/30/2011
12 = 12/31/2011

J'ai joué avec des formules de tableau et cherché dans des fonctions, mais je n'ai pas encore réussi. J'espère qu'un autre assistant d'Excel peut avoir une idée.

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

7
Scott Holtzman

Bien sûr, essayez ceci

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

12
Raystafarian

J'ai accepté la réponse ci-dessus, mais je voulais montrer le chemin que j'ai trouvé pour le 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)
3
Scott Holtzman

Bien ! si l'exigence consiste simplement à placer les valeurs de J8: N8 dans la colonne H, les options Copier et transposer (Option Coller) devraient résoudre le problème.

0
Sanjeev Kathuria