Claro, tente isso
=INDEX(J$8:N$8,MATCH(TRUE,INDEX(J9:N9<>0,),0))
Eu estou tentando encontrar uma fórmula onde eu possa olhar para um intervalo de coluna dentro de uma linha e retornar o cabeçalho da coluna naquela linha onde o primeiro valor diferente de zero ocorre, movendo-se da esquerda para a direita.
Abaixo está uma captura de tela dos meus dados:
Os resultados que gostaria de ver na coluna H seriam os seguintes, para cada linha:
9 = 10/31/2011
10 = 11/30/2011
11 = 11/30/2011
12 = 12/31/2011
Eu brinquei com algumas fórmulas de array e procurei por funções, mas ainda não encontrei nenhum sucesso. Espero que outro assistente do excel tenha uma ideia.
Eu quero evitar escrever um UDF por enquanto, se puder.
Aceitei a resposta acima, mas queria mostrar a outra maneira que encontrei para fazer isso, caso isso ajude alguém.
=OFFSET($I$8,0,MATCH(0,J10:N10,1)+1)
Você também pode escrever isso como:
=INDEX(J$8:N$8,MATCH(0,J9:N9,1)+1)
Bem! se o requisito é apenas colocar valores de J8: N8 na coluna H, então Copiar e transpor (Opção de Colar) deve resolver o problema.
Não foi possível obter o resultado acima, pois a fórmula retornaria a maior coluna (número) diferente de zero. Eu usei = MATCH (SMALL (J10: N10,1), J10: N10,0). O pequeno ignora valores zero.