Veja neste artigo como converter o nome do mês para data no Excel utilizando fórmulas e PowerQuery.
1. Introdução
O formato de data é um formato numérico especial e precioso para a análise de dados porque permite analisar o passar do tempo. Para quem trabalha com dados nem sempre os registros temporais apresentam-se de maneira bem estruturada, nos quais é necessário algum tipo de tratamento para obter-se datas válidas.
Não é incomum os dados apresentarem apenas o nome do mês, omitindo dia e ano. Com base nisto, este artigo objetiva apontar soluções para partirmos do nome dos meses e obter datas válidas. Embora não saibamos os dias dos meses, os anos podem ser inferidos ou inseridos manualmente. De qualquer forma, obter as datas permitem mais possibilidades nas análises temporais, sobremaneira por viabilizarem melhores relacionamentos entre tabelas e os seus agrupamentos tipicamente empregados, a citar o agrupamento de anos.
Apontaremos neste artigo como obter datas a partir dos nomes dos meses utilizando dois recursos: fórmulas e o Power Query com base nos dados a seguir. Vale lembrar que os nomes podem estar exibidos por extenso, como na imagem, ou de maneira abreviada (com as 3 letras iniciais).
NOTA: como o dia do mês não é definido, admitimos que o dia é irrelevante, sendo importante apenas que obtenhamos uma data pertencente àquele mês em questão. O ano pertencente à data será discutido ao longo do artigo.
2. Conversão Nome do Mês para Data utilizando fórmulas
No Excel temos a função nativa DATA.VALOR, que requer apenas um argumento. Este argumento é o texto que pode refletir uma data válida. Em nosso caso, simplesmente o nome do mês não resultará em uma data válida. Por isso, o resultado =DATA.VALOR(“Janeiro”) será um erro.
Precisamos ajustar este texto para que DATA.VALOR consiga retornar uma data. Uma solução é simplesmente concatenar o dia 1 antes do nome do mês. Como todos os meses possuem o dia 1, isto será satisfatório. De fato, qualquer número entre 1 e 28 será suficiente para obtermos resultados adequados, visto que todos os meses possuem no mínimo 28 dias.
A imagem a seguir mostra a solução comentada acima.
Note que, como não especificamos o ano, o Excel exibe a data com o ano corrente, por padrão. À época da escrita deste artigo o ano era 2022 e isso explica as nossas datas todas pertencentes a 2022. Curiosamente, podemos obter os mesmos resultados sem usar função. A fórmula =0+(1&B3) resultará em uma data válida pois o resultado da concatenação, que é “1Janeiro”, é convertido em data quando somado com zero.
Caso nós desejemos especificar um ano diferente, deveremos concatenar o seu valor após o nome do mês. O valor do ano poderá ser inserido, obviamente, de maneira constante diretamente na fórmula ou poderá ser oriundo de células à parte. A imagem a seguir mostra como seria para obter datas referentes ao ano de 2030 apenas com base nos nomes dos meses.
Note que não foi obrigatório definirmos o dia do mês, que no exemplo anterior precisou ser especificado. Neste caso fica implícito que o dia será o dia 1 (visto que omitimos o dia), da mesma maneira que no exemplo anterior fica implícito que o ano será o ano corrente (visto que o omitimos). Curiosamente, também podemos obter os mesmos resultados sem usar função. A fórmula =0+(B3&2030) resultará em uma data válida pois o resultado da concatenação, que é “Janeiro2030”, é convertido em data quando somado com zero.
2.1. Conversão utilizando o Power Query
O Power Query permite obtermos os mesmos resultados e de maneira análoga utilizando na linguagem M a função Date.FromText. No entanto, vale ressaltar uma diferença fundamental: ao usarmos Date.FromText, os valores de dia e ano concatenados ao nome do mês precisam ser expressos entre aspas.
Ao carregarmos os nossos dados para o Power Query, podemos eliminar a etapa de “tipo alterado”, irrelevante em nosso exemplo.
Em seguida criaremos uma coluna personalizada que tomará como base o nome do mês para retornar uma data correspondente.
A fórmula da nossa coluna personalizada ficará como exposto a seguir:
E assim ficará a coluna personalizada, herdando o ano corrente:
Após esta etapa, podemos remover o campo com o nome do mês e definir o tipo do campo personalizado como data.
Para encerrar, basta escolher o modo mais apropriado de obter os dados: carregando, criando conexão etc.
Para definirmos um ano específico como fizemos na abordagem do tópico 2 com fórmulas, podemos simplesmente na função Date.FromText discriminar o ano, concatenando-o antes ou após o nome do mês (as soluções com fórmulas funcionam apenas com o ano sendo concatenado após o nome do mês).
Cabe ressaltar que, caso tenhamos um campo que possui os números dos anos, podemos e devemos concatená-lo ao nome dos meses para obtermos as nossas datas com anos que podemos variar, de acordo com a coluna dos anos.
Download da Planilha Nome do Mês para Data Excel
Realize o download da planilha deste artigo no botão abaixo. Basta se inscrever na nossa newsletter gratuita para o download automático.