Cálculo no excel para ocorrer (uma vez) em (uma data específica) e resultar para ficar quando a data já passou?

0

Gostaria de obter um resultado, digamos o total de A1 - A10, no final de janeiro, no dia 31, na célula B1. Isso é bastante fácil, IF = 31/1/17 etc. Mas eu preciso que esse número permaneça congelado nesse resultado e não mude como A1 - A10 muda de valor ou quando hoje está além dessa data.

Isso é possível, já que preciso disso em 10 colunas de um período de 12 meses?

    
por Rob 08.11.2017 / 15:38

2 respostas

-1

@Rob, suponha que você tenha dados no intervalo de A1 a A10 e queira calcular o total automaticamente quando a data atual for 31/01/2017 e, por exemplo, você tiver escrito essa fórmula em 15/01/2017.

Escreva em qualquer lugar da célula em branco como em D1 o valor da data de cálculo que é 31/01/2017. E em A11 escreva qualquer uma das fórmulas abaixo escritas.

= SE (TODAY () = D1, SUM (A1: A10), "Desatualizado")

= SUMPRODUCT (- (D1 = TODAY ()) * A1: A10)

Assim que a data atual corresponder à data de cálculo, o Excel produzirá a soma em A11.

Agora, a próxima etapa , como você escreveu, deseja que o resultado permaneça na célula até a data expirar ou se você alterar os valores no intervalo de dados A1 a A10.

Para isso, a solução mais simples é Copiar a célula A11 , posicionar o ponteiro somente em A11 e clicar em Colar Especial e acertar a opção Valor . Você encontra o mesmo valor em A11 ou sua resposta permanecerá igual em quaisquer condições.

Razão por trás disso, quando você copia & Cole o valor, o Excel irá remover a fórmula da célula A11.

Espero que você ajude, não precisa pensar em nenhum tipo de código VBA.

    
por 11.11.2017 / 11:03
-1

@Rob , propositalmente eu não postei o método automatizado, mas como você é tão díspar, então eu trouxe o código simples do VBA Sum e o intervalo de dados se a chave Cell ( D1) tem data atual.

Além disso, este código irá converter a célula para o valor como você exigiu que, finalmente, o resultado deve permanecer inalterado.

NB: Você pode usar este código com o Botão de Comando, clique em Evento ou como Evento de Alteração da Planilha. Aqui para o exemplo eu usei o botão de comando. Espero que isso ajude você & desta vez você Vote Positivo na minha resposta.

Private Sub CommandButton1_Click()


 Range("A11").Value = "=IF(ISBLANK(D1),0,IF(D1=TODAY(),SUM(A1:A10)))"


  Range("A11").Copy

  Range("A11").PasteSpecial xlPasteValues

  Application.CutCopyMode = False


End Sub
    
por 12.11.2017 / 11:19