Como calcular faixa etária?

Como montar uma fórmula ou macro que preencha a coluna Q com a faixa etária das pessoas cuja datas de nascimento estão contidas na coluna O e a idade é calculada e restornada na coluna P Sendo que:

  1. se a idade for igual ou maior do que 60 então a célula Q3 deve ser preenchida com IDOSO,
  2. se a idade for entre 59 e 18, ADULTO
  3. se a idade for entre 17 e 12, ADOLESCENTE
  4. se idade for menor ou igual 11, CRIANÇA
  5. se a célula O3 estiver vazia, deve repetir o valor de P3.

Tentei a seguinte fórmula, mas ela retorna o erro 504:
=SE(O3="";P3;DATADIF(O3;HOJE();"YM")>=60;"IDOSO";DATADIF(O3;HOJE();"YM")<60;"ADULTO";DATADIF(O3;HOJE();"YM")<18;"ADOLESCENTE";DATADIF(O3;HOJE();"YM")<12;"CRIANÇA")

=SE(O3="";P3;SE(DATADIF(O3;HOJE();"y")>59;"IDOSO";SE(DATADIF(O3;HOJE();"y")>17;"ADULTO";SE(DATADIF(O3;HOJE();"y")>11;"ADOLECENTE";SE(DATADIF(O3;HOJE();"y")<12;"CRIANÇA";"ERRO")))))

1 Like

Obrigado, @schiavinatto !

Agora parece muito óbvio o por que do erro.

=SES(P3<0;"ERRO";O3="";P3;DATADIF(O3;HOJE();"y")>59;"IDOSO";DATADIF(O3;HOJE();"y")>17;"ADULTO";DATADIF(O3;HOJE();"y")>11;"ADOLECENTE";DATADIF(O3;HOJE();"y")<12;"CRIANÇA")

SES

Também pode usar a função PROCV:
PROCV idades.ods (7.6 KB)
imagen

1 Like

Ola @LeroyG, sempre esqueço:

SE + SE ...... = SES

Bem lembrado, obrigado.

Seria viavel usar macro para fazer esse calculo?

Com o pouco de conhecimento que tenho tentei construir código, mas não estou conseguindo fazer funcionar.

De inicio, não vejo vantagem, se fizer a primeira é só arrastar para baixo.

Mas se quiser melhorar a aparência da formula, use: Planilha / Intervalos nomeados e expressões, e cadastre a formula, e nomeie como quiser.

Segue exemplo nomeado FAIXAIDADE.

Francys_ask.ods (8.1 KB)

1 Like

Também pensei na solução usando PROCV.
Geralmente é mais fácil de manter e de incrementar ou alterar.

1 Like