Como adicionar / subtrair meses de uma determinada data no Excel

7

Aqui está o meu cenário :

I have to populate list with dates and some metadata of upcoming events for the following year in my Excel application. Some of the events are occurring on the same day each month, e.g. the 3rd day of month.

Então a pergunta é:

Is there any function so that I can add one month to given date, like:

  • cell A1: 1/23/2013
  • cell A2: 2/23/2013
  • cell A3: 3/23/2013

O que não funcionou:

Aparentemente

A3=$A2+30

produz 3/25/2013 , o que está errado.

    
por laika 23.05.2013 / 21:39

5 respostas

10

Tanto quanto eu não encontrei resposta aqui em superusuário eu posto minha própria resposta:

De acordo com este link Excel: Adicionando / Tomando n mês (es) a uma data. Adicionar meses a uma data do Excel você precisa:

  • Ativar Ferramentas de análise
    • File - > Options - > Add-ins - > Manage: Excel Add-ins - > %código%

e use a função Go , aqui está um exemplo:

  • EDATE(reference_cell, offset_integer)
  • A2 = 2/23/2013 A3 = EDATE($A1, 1) ->

EDITAR:

Como barry houdini apontou em comentário, Analysis Toolpak é necessário apenas para Excel 2003 e versões anteriores, na medida em que a função 3/23/2013 é integrada em versões posteriores do Excel.

    
por 23.05.2013 / 21:39
3

Você tem duas abordagens possíveis em que posso pensar. O primeiro é o identificador de preenchimento:

  1. Na célula A1, digite 1/23/2013.
  2. Na célula A2, digite 2/23/2013.
  3. Realce as células A1 e A2.
  4. Coloque o mouse na alça de preenchimento na parte inferior direita do grupo de células destacadas e arraste para baixo para quantos valores forem necessários.

O segundo, como já discutido, é fórmulas, mas você precisa contabilizar o mês de dezembro:

=IF(MONTH($A1) = 12, DATE($A1 + 1, 1, DAY($A1)), DATE(YEAR($A1), MONTH($A1) + 1, DAY($A1)))
  1. Se o mês é dezembro, componha uma nova data, DATE() , com os seguintes valores:
    1. O ano original incrementado em 1.
    2. O mês de janeiro.
    3. O dia original do mês.
  2. Outra parte compõe uma nova data, DATE() , com os seguintes valores:
    1. O ano original.
    2. O mês original incrementado em 1.
    3. O dia original do mês.

Observe que você ainda precisa validar o dia do mês. Por exemplo, 31 de janeiro é uma data válida, mas 31 de fevereiro não seria. Isso seria um pouco mais complicado, no entanto, e depende se você quer cobrir todos os casos.

    
por 23.05.2013 / 23:13
1

Eu percebi que esta resposta é alguns anos tarde demais ... mas isso funciona para qualquer data, apenas no caso de alguém vir aqui parecendo que eu fiz:)

A1 = 2017/8/6
A2 = =EOMONTH(A1,0)+DAY(A1)

EOMONTH leva você até o final do mês (nesse caso, 2017/8/31 ) e a fórmula do DIA fornece o número de dias desde o início do mês (nesse caso, 6, já que é 6 de agosto) . Adicione-os juntos e pronto.

A segunda parte de EOMONTH determina quantos meses a frente você vai, 0 é o final do mês referenciado, 1 é o final do mês após o mês referenciado e assim por diante ...

Espero que alguém ache isso útil!

    
por 05.08.2017 / 19:15
0

Acho que =DATE(YEAR(A1),MONTH(A1)+1,DAY(A1)) (em A2 e copiado para baixo) também funciona.

Editar Mas pode cair para as datas após o dia 28.

    
por 23.05.2013 / 22:58
-1

Eu consegui adicionar 30 à data. Célula A1: 1/23/2013 e B1: = A1 + 30 e produziu 22/2/2013.

Outra opção é esta:

=DATE(YEAR(A1),MONTH(A1)+MONTHSTOADD,DAY(A1))

Onde A1 é sua data original e MONTHSTOADD é o número de meses que você deseja adicionar.

((Desculpe, a segunda opção que adicionei parece ter sido adicionada por outro usuário.))

    
por 23.05.2013 / 23:03