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

Formula di Excel per ottenere il primo valore diverso da zero nella riga e restituire l'intestazione della colonna

Sto cercando di trovare una formula in cui posso guardare un intervallo di colonne all'interno di una riga e restituire l'intestazione della colonna in quella riga in cui si verifica il primo valore non zero, spostandosi da sinistra a destra.

Sotto c'è uno screenshot dei miei dati: 9 = 10/31/2011 10 = 11/30/2011 11 = 11/30/2011 12 = 12/31/2011

I risultati che vorrei vedere nella colonna H sarebbero i seguenti, per ogni riga:

Ho giocato con alcune formule di array e ho cercato tra le funzioni, ma non ho ancora trovato alcun successo. Spero che un altro mago di Excel possa avere un'idea.

Voglio evitare di scrivere una UDF per ora, se possibile.

Risposte (4)

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

Certo, prova questo

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

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

Ho accettato la risposta sopra, ma volevo mostrare l'altro modo che ho trovato per farlo, nel caso aiuti qualcuno.

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

Si potrebbe anche scrivere come:

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

Bene, se il requisito è solo mettere i valori di J8: N8 nella colonna H, allora copiare e trasporre (opzione Incolla) dovrebbe risolvere il problema.

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

Non riuscivo a far funzionare quanto sopra, poiché la formula restituiva la colonna più grande (numero) che non era zero. Ho usato =MATCH(SMALL(J10:N10,1),J10:N10,0). Lo small ignora i valori zero.