Como posso obter o trimestre do ano a partir de uma data?

8

No Excel, como posso obter o trimestre do ano a partir de uma data, usando uma fórmula de planilha? Eu tenho uma coluna com datas que abrangem vários anos.

  • jan-01 a mar-31 = Q1
  • de abr-01 a junho-30 = Q2
  • etc ...

Pergunta sobre bônus: Como posso mudar o trimestre para que o primeiro trimestre seja de abril a junho (janeiro a março seria o quarto trimestre).

    
por mtone 27.01.2010 / 19:10

4 respostas

7

Dependendo de como você formatou seu valor de Data, o Excel poderá convertê-lo automaticamente no "código de data". Este é o número de dias desde 1º de janeiro de 1900 (código de data de 1). Este número é então usado pelas diferentes funções de data. Aqui está uma fórmula sugerida para uma análise simples de trimestre.

=ROUNDUP(MONTH(A1)/3,0)

Isso apenas fornecerá o número do trimestre. você pode usar o CONCATENATE para adicionar texto.

Aqui está um ótimo tutorial com muitos exemplos:

link

[EDITAR]

Como afirmado por @hyperslug, a melhor maneira de fazer isso é usar o seguinte:

=CONCATENATE("Q",ROUNDUP(MONTH(DATE(YEAR(A1),MONTH(A1)-3,DAY(A1)))/3,0))

Este método muda a data para frente ou para trás antes de obter um valor mensal antes de dividir por 3. Você pode controlar o mês em que o trimestre começa alterando a seção "Mês (A1) -3".

  • Data de início do uso de janeiro: "Mês (A1)"
  • Data de início de uso em abril: "Month (A1) -3"
  • Data de início de setembro: "Mês (A1) +4"

Adição e subtração podem ser usadas. Não é intuitivo, mas usar a subtração move o quarto de partida para frente (-1 é fevereiro) e a adição o move para trás (+1 é dezembro).

[/ EDIT]

[EDITAR] Nota: Este método funciona, mas não é tão elegante quanto o método acima.

Depois de algumas brincadeiras, encontrei uma maneira de responder sua pergunta de bônus. Você pode usar instruções IF para retornar um valor (text / int) baseado no mês. Você só precisa descobrir quais meses estão associados ao trimestre.

=IF(AND(MONTH(A1)>=4,MONTH(A1)<7),"Q1",IF(AND(MONTH(A1)>=7,MONTH(A1)<10),"Q2",IF(AND(MONTH(A1)>=10),"Q3",IF(AND(MONTH(A1)>=1,MONTH(A1)<4),"Q4"))))

É uma equação densa que usa uma combinação das funções "IF", "AND" e "MONTH". Ao modificar os valores do mês (dentro das instruções AND), você pode controlar ainda mais qual valor é retornado. Eu usei strings de texto, mas você pode modificá-las facilmente para atender às suas necessidades.

[/ EDIT]

Espero que isso ajude

    
por 27.01.2010 / 19:31
2

Resposta do bônus:

=MOD(INT((MONTH(A1)-1)/3)-1,4)+1
    
por 27.01.2010 / 20:30
1

Isso deve ser mais eficiente:

=CONCATENATE("Q", INT(MONTH(A1)/4) + 1)
    
por 04.09.2015 / 14:28
0

A fórmula a seguir deve funcionar:

=IF(OR(MONTH(A1)=1,MONTH(A1)=2,MONTH(A1)=3),"Q1",IF(OR(MONTH(A1)=4,MONTH(A1)=5,MONTH(A1)=6),"Q2",IF(OR(MONTH(A1)=7,MONTH(A1)=8,MONTH(A1)=9),"Q3",IF(OR(MONTH(A1)=10,MONTH(A1)=11,MONTH(A1)=12),"Q4",""))))

Boa sorte.

    
por 06.06.2013 / 13:34