Página 1 de 1

Retornar a referencia da ultima célula com valor

Enviado: 07 Mar 2019 às 19:17
por Luneta
Preciso de uma função que retorne a referencia da ultima célula com valor em uma coluna.
Ex: Na coluna C tenho centenas de linhas com valores e outras centenas vazias intercaladas, a última célula com valor é a C813. Preciso que seja retornado C813 e não o valor desta célula. Preciso de uma função e não um código VBA. Lembrando que antes da célula C813 existem células vazias.

Re: Retornar a referencia da ultima célula com valor

Enviado: 07 Mar 2019 às 19:56
por Patropi
Boa noite

Confira na planilha e dê retorno.
Fiz um exemplo com apenas 83 linhas.
07_03_19_Retornar a célula do ultimo valor com linhas em branco_Patropi.xlsx
Não se esqueça de clicar em Curtir.

[]s

Re: Retornar a referencia da ultima célula com valor

Enviado: 07 Mar 2019 às 22:24
por Luneta
Boa noite Patropi! Obrigado por sua disponibilidade.
Não saco muito de fórmulas e funções, mas pelo que interpretei do código vc faz referencia à célula C1000, mas é exatamente isso que quero evitar. E se a ultima célula com valor fosse a célula C555000? Creio que vc vai me dizer para colocar no lugar de C1000 - C1048576, porém é esse desperdício de processamento que quero evitar. No VBA há um código que faz o que necessito, envia o cursor para a última célula e depois retorna para a próxima com valor. Tipo: End + Seta para baixo e na sequencia End + Seta para cima. Porém não quero (ou não consigo) usar o código VBA.
O que eu preciso na verdade é o seguinte: =SOMA(C1:C?) Onde C? é a última célula com valor. Se conhecer uma função que faz isso resolve.
Valeu

Re: Retornar a referencia da ultima célula com valor

Enviado: 07 Mar 2019 às 22:34
por Luneta
Em tempo:.
Esta planilha vai receber registros diariamente.

Re: Retornar a referencia da ultima célula com valor

Enviado: 08 Mar 2019 às 08:13
por osvaldomp
A fórmula que o Patropi sugeriu porém com referência à coluna inteira
Código: Selecionar todos
=ENDEREÇO(CORRESP(PROC(2;1/(C:C<>"");C:C);C:C;0)+CONT.SE(C:C;PROC(2;1/(C:C<>"");C:C)-1);3;4)
ou
Código: Selecionar todos
=ENDEREÇO(CORRESP(9,99999999999999E+307;C:C);COLUNA(C1))
Não entendi a sua lógica de obter o endereço da última célula para depois empregá-lo na fórmula da soma.
Porque não utilizar =SOMA(C:C) ?

Re: Retornar a referencia da ultima célula com valor

Enviado: 08 Mar 2019 às 11:15
por Luneta
Bom dia Osvaldo!
Usando =SOMA(C:C) ocorre erro. A coluna C tem outras informações acima, inclusive a própria fórmula =SOMA() está na célula C2, a soma começa na célula C4.

Re: Retornar a referencia da ultima célula com valor

Enviado: 08 Mar 2019 às 11:27
por Luneta
Segue anexo o exemplo

Re: Retornar a referencia da ultima célula com valor

Enviado: 08 Mar 2019 às 11:31
por Luneta
Bom dia!
A primeira fórmula retorna C5 enquanto deveria retornar C11, a segunda retorna #NOME?

Re: Retornar a referencia da ultima célula com valor

Enviado: 08 Mar 2019 às 11:45
por osvaldomp
Em C2 e arraste até D2.
Código: Selecionar todos
=SOMA(DESLOC(C4;;;LINS(C:C)-LIN(C4)+1))

Re: Retornar a referencia da ultima célula com valor

Enviado: 08 Mar 2019 às 12:02
por Luneta
Bom dia Osvaldo!
Muito show. Pode por favor comentar a fórmula?

Re: Retornar a referencia da ultima célula com valor

Enviado: 08 Mar 2019 às 12:21
por Luneta
Só uma dúvida Osvaldo. Esta fórmula não seria equivalente a =SOMA(C4:C1048576)?. Porque se for, o excel vai processar a soma mais de 1 milhão de vezes. O que nos colocaria na estaca zero. Na minha interpretação com a fórmula =SOMA(C4:C1048576) o Excel pega a célua C4 e soma a C5, na sequencia soma com a C6 e depois C7 e assim ele vai processando e somando zeros nas células que não contem valor. Haveria um desperdício de processamento da mesma forma. Exatamente o que eu estou tentando evitar.

Re: Retornar a referencia da ultima célula com valor

Enviado: 08 Mar 2019 às 12:23
por Luneta
Em tempo!
Minha intenção era descobrir qual a última célula com valor e chegando nela pararia o processamento e retornaria a soma.

Re: Retornar a referencia da ultima célula com valor

Enviado: 08 Mar 2019 às 13:18
por Deciog
Luneta

O Excel só trabalha com célula, e a soma tem que ter célula inicio e célula final

Então eu fiz esta formula que pega e soma mas está presa em 100.000 células, se passar disso você tem que mudar e se seu projeto for menor muda também entendeu

Confere se é desta forma que desejas

Se minha resposta foi útil, clique em obrigado é uma forma de agradecimento da ajuda

Decio

Re: Retornar a referencia da ultima célula com valor

Enviado: 08 Mar 2019 às 13:48
por Luneta
Boa tarde Decio!
Valeu pela atenção. Esta solução remete para o mesmo problema, eu não sei qual será o tamanho final do meu projeto, então não posso especificar a linha final.

Re: Retornar a referencia da ultima célula com valor

Enviado: 08 Mar 2019 às 15:10
por osvaldomp
Luneta escreveu: Minha intenção era descobrir qual a última célula com valor e chegando nela pararia o processamento e retornaria a soma.
=ENDEREÇO(CORRESP(9,99999999999999E+307;C:C);COLUNA(C1))
Na fórmula acima que retornou #NOME, substitua COLUNA por COL

ou, a fórmula abaixo soma C4:C9, no seu exemplo, mas retorna resultado incorreto se houver células vazias na tabela de valores
Código: Selecionar todos
=SOMA(C4:ÍNDICE(C:C;CONT.VALORES(C:C)))
ou utilize Intervalo Dinâmico Nomeado

Re: Retornar a referencia da ultima célula com valor

Enviado: 08 Mar 2019 às 17:03
por Luneta
Boa tarde Osvaldo!
Olha por favor onde está o erro nesta fórmula.

=SOMA(C4:ENDEREÇO(CORRESP(9,99999999999999E+307;C:C);COL(C1)))

Re: Retornar a referencia da ultima célula com valor

Enviado: 08 Mar 2019 às 17:11
por osvaldomp
Código: Selecionar todos
=SOMA(INDIRETO("C4:"&ENDEREÇO(CORRESP(9,99999999999999E+307;C:C);COL(C1))))

Re: Retornar a referencia da ultima célula com valor

Enviado: 08 Mar 2019 às 17:22
por Luneta
Valeu pessoal!
Creio que encontraram a solução. Vou dar o tópico por encerrado. Mais uma vez agradeço a todos que colaboraram.
Grande abraço