Ir ao conteúdo
  • Cadastre-se

Excel - Subtrair célula de uma coluna pela próxima "não vazia"


Ir à solução Resolvido por Visitante,

Posts recomendados

Prezados, bom dia; 

Criei uma planilha para me ajudar a calcular o consumo diário de água aqui na empresa.

Então criei TRÊS colunas, uma com a "data" (coluna A). uma chamada "leitura" (coluna B) e a outra chamada "consumo" (coluna C). 

A lógica é bem simples: todo dia eu anoto a leitura no medidor e subtraio da leitura do dia anterior para achar o consumo diário.

Sendo assim, tomando como exemplo,  a fórmula de C3=B3-B2.

 A             B                   C

1   data     leitura     consumo 

2   2/3     1023          =0 

3   3/3     1026          =B3-B2=3

4   4/4    1030          =B4-B3 =4 

5   5/3     1035          =B5-B4=5

 

Mas o problema é que a fábrica só funciona de seg a sex, e eventualmente aos sábados... e quando isso acontece eu tenho que ficar editando a fórmula manualmente... pois a linha seguinte fica vazia...

       A             B                   C

1   data     leitura     consumo 

6   6/3     1039          =B6-B5=4

7   7/3                       =B7-B6=(-1039)     ---- sábado (não há quem faça a leitura)

8   8/4                       =B8-B7 =0             ----- domingo (não há quem faça a leitura)

9   9/3     1045          =B9-B8=1045

 

Queria uma fórmula onde o excel subtraísse a célula pela próxima linha não vazia automaticamente.

Link para o comentário
Compartilhar em outros sites

Acho mais viável você criar uma condição para os dias da semana. Assim, o excel só fará o cálculo se a data inserida for um dia útil de semana. O que acha?

 

Usando sua fórmula inicial '[C3] =B3-B2', adapte-a com a função =SE e a função =DIA.DA.SEMANA

 

[C3] =SE(E(DIA.DA.SEMANA(A2;1) >= 2;DIA.DA.SEMANA(A2;1) <= 6);B3-B2;"")

 

Para deixar com uma melhor aparência e evitar células com #VALOR ou #N/D, você pode usar incorporar com SEERRO, ficando assim:

 

[C3] =SEERRO(SE(E(DIA.DA.SEMANA(A2;1) >= 2;DIA.DA.SEMANA(A2;1) <= 6);B3-B2;"");"")

 

Ou seja, estamos atribuindo uma condição ao Excel que se ele retornar qualquer erro da fórmula em vermelho, a em azul será executada e retornará vazio (espaço em branco)

 

Se ajudou, clique em curtir ;)

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Eu já fiz isso. E realmente facilita, por exemplo se for segunda, a formula subtrai do valor de sexta (pois sábado e domigo não houveram leitura).

 

Mas só que as vezes a gente trabalha sábado e domingo... e eu tenho que modificar manualmente. 

Ou então quando é feriado no meio da semana, também tenho que ajustar...

Pensei em criar um "loop" que verificasse se a célula é nula, caso seja, a fórmula pularia para célula anterior... e quando a celula não for nula, o loop encerra.

 

Assim nunca mais me preocuparia em modificar a fórmula para casos particulares. 

Entendeu?

Link para o comentário
Compartilhar em outros sites

@Will_killer

 

Não há a necessidade de desenvolver uma macro para essa finalidade.

 

Veja o arquivo anexado. Atende a necessidade?

 

Estude a fórmula da coluna C e volte aqui no tópico caso tenha dúvidas.

 

Se a resposta foi útil,marque como 'resolvido' e 'curta' ;)

 

Obrigado!

20_03_2015_Consumo_minoso.rar

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

 

Coloque em "C3" e arraste para baixo:

=SE(B3="";0;B3-MAIOR(B$2:B3;2))

 

Gostei, nunca havia aplicado o MAIOR em meus trabalhos.

 

Obrigado pela dica @osvaldomp

 

@Will_killer use a fórmula do Osvaldo, é mais simples, fácil de entender e com mesmo resultado da fórmula do meu arquivo ;)

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!