Se a célula contiver valor, então 'Cabeçalho da coluna'

Se a célula contiver valor, então 'Cabeçalho da coluna'

Procurando por ajuda

 A       B       C       D       E        F
1               Food    Petrol   Rent   Wages
2       **Food** 12
3       **Petrol**        35
4       **Rent**                  120
5       **Wages**                       300

Eu tenho uma fórmula que copia valores nas células C2:F5 em diante, mas estou tendo dificuldade em criar uma fórmula que copie o cabeçalho da coluna "Alimentos/Gasolina/Aluguel" para a coluna B se houver um valor na célula apropriada na coluna

Então se C2 tem um valor então B2=C1 Se F5 tem um valor então B5= "Salários"

atualmente tenho 38 colunas e quase 1000 linhas, pode ser complicado fazer tudo manualmente

desde já, obrigado

Responder1

Existem várias maneiras de fazer isso. Você descreve ter 38 colunas, portanto, alguma forma de pesquisa é a abordagem mais simples. Você pode fazer isso com INDEX e MATCH:

insira a descrição da imagem aqui

A fórmula em B2:

=INDEX($C$1:$F$1,MATCH(0,ISBLANK(C2:F2),0))

Observe as chaves ao redor da fórmula na imagem. Esta é uma fórmula de matriz, então você precisa inseri-la usando Ctrl+ Shift+ Enterem vez de apenas Enter. E, claro, você precisa ajustar os intervalos para corresponder aos seus dados.

Como funciona:

MATCH procura a primeira entrada que não esteja em branco, caso em que ISBLANK retornará False, que o OpenOffice exibe como 0( Trueexibiria como 1). MATCH retorna a posição da coluna dentro do intervalo onde a correspondência foi encontrada. O 0parâmetro no final procura uma correspondência exata.

INDEX retorna o valor da primeira linha na posição da coluna correspondente encontrada por MATCH.

Você pode copiar e colar a fórmula na coluna B depois de inserida.

ATUALIZAR:

Você indicou nos comentários que sua planilha real não possui células vazias onde não há números. Em vez disso, eles contêm fórmulas que exibem uma célula em branco. Neste caso, ISBLANK não o reconhecerá como em branco. Podemos lidar com isso apenas testando um valor numérico e procurando a primeira condição True. Então a fórmula B2 seria:

=INDEX($C$1:$F$1,MATCH(1,ISNUMBER(C2:F2),0))

Novamente, esta é uma fórmula de matriz, então você precisa inseri-la usando Ctrl+ Shift+ Enterem vez de apenas Enter. Acabei de verificar que esta fórmula funciona neste exemplo quando as células "vazias" não estão realmente em branco.

informação relacionada