{"id":187,"date":"2025-12-24T09:16:11","date_gmt":"2025-12-24T12:16:11","guid":{"rendered":"https:\/\/www.bernabauer.com\/blog\/?p=187"},"modified":"2026-05-21T09:28:39","modified_gmt":"2026-05-21T12:28:39","slug":"como-criar-um-calendario-dinamico-no-excel-a-partir-de-uma-lista-de-eventos","status":"publish","type":"post","link":"https:\/\/www.bernabauer.com\/blog\/como-criar-um-calendario-dinamico-no-excel-a-partir-de-uma-lista-de-eventos\/","title":{"rendered":"Como criar um calend\u00e1rio din\u00e2mico no Excel a partir de uma lista de eventos"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Com uma lista simples de datas e descri\u00e7\u00f5es, \u00e9 poss\u00edvel construir um calend\u00e1rio visual no Excel em que os eventos aparecem automaticamente nos dias certos. O melhor: ao trocar o m\u00eas ou o ano em uma lista suspensa, todo o calend\u00e1rio se recalcula sozinho \u2014 sem precisar mover nenhuma c\u00e9lula manualmente. Esse guia explica como montar esse calend\u00e1rio do zero, passo a passo, usando fun\u00e7\u00f5es nativas do Excel.<\/p>\n<h2 class=\"wp-block-heading\" id=\"passo-1-montar-a-grade-de-datas\">Passo 1: montar a grade de datas<\/h2>\n<p class=\"wp-block-paragraph\">Comece criando uma lista de eventos em uma \u00e1rea da planilha, com duas colunas: uma para a data e outra para o nome do evento. Em outra \u00e1rea, monte a grade do calend\u00e1rio com os dias da semana (segunda a domingo) como cabe\u00e7alho das colunas, e deixe espa\u00e7o para o nome do m\u00eas e o ano no topo \u2014 esses campos ser\u00e3o usados pelas f\u00f3rmulas.<\/p>\n<p class=\"wp-block-paragraph\">Para preencher os dias da grade, use a fun\u00e7\u00e3o <strong>SEQUENCE<\/strong>, criando blocos de 7 n\u00fameros \u2014 uma linha por semana \u2014 e deixando uma linha abaixo de cada semana para exibir as descri\u00e7\u00f5es dos eventos. Para descobrir em que dia da semana o m\u00eas come\u00e7a, combine a data do primeiro dia do m\u00eas (montada com o n\u00famero 1, o m\u00eas e o ano escolhidos) com a fun\u00e7\u00e3o <strong>WEEKDAY<\/strong>, e use esse valor para ajustar o in\u00edcio da sequ\u00eancia.<\/p>\n<p class=\"wp-block-paragraph\">Um detalhe importante: formate essas c\u00e9lulas como data. Isso faz a SEQUENCE avan\u00e7ar automaticamente pelos dias do m\u00eas \u2014 e continuar para o m\u00eas seguinte, mesmo que internamente a f\u00f3rmula apenas some n\u00fameros. Com isso, ao mudar o m\u00eas ou o ano, toda a grade de datas \u00e9 recalculada automaticamente.<\/p>\n<h2 class=\"wp-block-heading\" id=\"passo-2-tornar-mes-e-ano-dinamicos\">Passo 2: tornar m\u00eas e ano din\u00e2micos<\/h2>\n<p class=\"wp-block-paragraph\">Para permitir a troca de m\u00eas e ano por meio de listas suspensas, crie uma coluna auxiliar com os nomes dos doze meses e outra com os anos que voc\u00ea quer disponibilizar. As c\u00e9lulas de m\u00eas e ano no cabe\u00e7alho do calend\u00e1rio podem ser mescladas e centralizadas para um visual mais limpo.<\/p>\n<p class=\"wp-block-paragraph\">Com essas listas prontas, aplique <strong>Valida\u00e7\u00e3o de Dados \u2192 Lista<\/strong> nas c\u00e9lulas de m\u00eas e ano, usando as colunas auxiliares como origem. A partir da\u00ed, toda vez que voc\u00ea escolher um m\u00eas ou ano diferente no menu suspenso, as f\u00f3rmulas que calculam a data inicial do m\u00eas se atualizam, e toda a grade do calend\u00e1rio segue junto.<\/p>\n<h2 class=\"wp-block-heading\" id=\"passo-3-trazer-os-eventos-para-dentro-do-calendario\">Passo 3: trazer os eventos para dentro do calend\u00e1rio<\/h2>\n<p class=\"wp-block-paragraph\">Com a grade de datas funcionando, o pr\u00f3ximo passo \u00e9 puxar as descri\u00e7\u00f5es dos eventos da sua lista para as c\u00e9lulas correspondentes no calend\u00e1rio. Use a fun\u00e7\u00e3o <strong>FILTER<\/strong> para isso: a f\u00f3rmula retorna todas as descri\u00e7\u00f5es cujas datas coincidem com a data da c\u00e9lula do calend\u00e1rio.<\/p>\n<p class=\"wp-block-paragraph\">Como a maioria dos dias n\u00e3o ter\u00e1 eventos, inclua o argumento <em>if_empty<\/em> da FILTER com aspas duplas (<code>\"\"<\/code>), para que a c\u00e9lula fique em branco nesses casos. Copie a f\u00f3rmula para todas as c\u00e9lulas da \u00e1rea de eventos do calend\u00e1rio.<\/p>\n<p class=\"wp-block-paragraph\">Se houver mais de um evento no mesmo dia, a FILTER sozinha gerar\u00e1 um erro de derramamento \u2014 ela tenta ocupar mais linhas do que o espa\u00e7o dispon\u00edvel. A solu\u00e7\u00e3o \u00e9 envolver a FILTER com a fun\u00e7\u00e3o <strong>TEXTJOIN<\/strong>, que une todos os textos retornados em uma \u00fanica c\u00e9lula, separados por v\u00edrgula e espa\u00e7o, ignorando c\u00e9lulas vazias. Assim, dois ou mais eventos no mesmo dia aparecem juntos, sem quebrar o layout.<\/p>\n<h2 class=\"wp-block-heading\" id=\"passo-4-formatar-o-calendario\">Passo 4: formatar o calend\u00e1rio<\/h2>\n<p class=\"wp-block-paragraph\">Com o calend\u00e1rio funcional, \u00e9 hora de trabalhar na apar\u00eancia. Mova as colunas auxiliares para uma aba separada da planilha, liberando a \u00e1rea principal. Aumente a altura das linhas onde ficam os eventos, ative a quebra de texto, centralize o conte\u00fado e remova as linhas de grade \u2014 isso d\u00e1 espa\u00e7o para ler descri\u00e7\u00f5es mais longas e deixa o visual mais limpo.<\/p>\n<p class=\"wp-block-paragraph\">Ajuste a largura das colunas dos dias, aplique tamanhos de fonte maiores e negrito nos t\u00edtulos (m\u00eas, ano e nomes dos dias da semana), e escolha cores de preenchimento que destaquem o cabe\u00e7alho. Adicione bordas claras ao redor de cada c\u00e9lula de dia para que a grade ganhe forma visual de calend\u00e1rio de verdade.<\/p>\n<p class=\"wp-block-paragraph\">Para facilitar a leitura, diferencie os fins de semana com uma cor de preenchimento mais suave. Isso separa visualmente os dias \u00fateis dos n\u00e3o \u00fateis sem precisar de qualquer f\u00f3rmula extra.<\/p>\n<h2 class=\"wp-block-heading\" id=\"passo-5-numero-da-semana-e-data-atual\">Passo 5: adicionar n\u00famero da semana e destacar a data atual<\/h2>\n<p class=\"wp-block-paragraph\">Para exibir o n\u00famero da semana do ano ao lado de cada linha do calend\u00e1rio, adicione uma coluna extra e use a fun\u00e7\u00e3o <strong>WEEKNUM<\/strong> aplicada \u00e0 data da primeira linha de cada semana. A fun\u00e7\u00e3o calcula corretamente mesmo quando a primeira semana do m\u00eas inclui dias do m\u00eas anterior \u2014 vale testar alternando os meses para confirmar a continuidade da numera\u00e7\u00e3o.<\/p>\n<p class=\"wp-block-paragraph\">Mescle as c\u00e9lulas dessa coluna por semana, centralize o texto, aplique uma formata\u00e7\u00e3o parecida com a dos fins de semana e adicione bordas. O n\u00famero da semana ficar\u00e1 alinhado visualmente com cada linha da grade, o que \u00e9 \u00fatil para planejamentos semanais.<\/p>\n<p class=\"wp-block-paragraph\">Para destacar automaticamente o dia de hoje, use <strong>Formata\u00e7\u00e3o Condicional \u2192 Nova Regra \u2192 Usar uma f\u00f3rmula<\/strong>. A f\u00f3rmula deve comparar a c\u00e9lula de data com <code>HOJE()<\/code> (ou <code>TODAY()<\/code>, dependendo do idioma do seu Excel). Quando a regra estiver correta, a c\u00e9lula do dia atual recebe uma cor de destaque \u2014 laranja funciona bem visualmente \u2014 sem precisar atualizar manualmente nada.<\/p>\n<h2 class=\"wp-block-heading\" id=\"passo-6-atualizar-e-expandir\">Passo 6: atualizar e expandir o calend\u00e1rio<\/h2>\n<p class=\"wp-block-paragraph\">Uma das grandes vantagens dessa estrutura \u00e9 que o calend\u00e1rio se atualiza automaticamente. Basta adicionar uma nova linha na lista de eventos \u2014 com data e descri\u00e7\u00e3o \u2014 e o evento aparece no dia certo sem nenhuma a\u00e7\u00e3o adicional. N\u00e3o \u00e9 necess\u00e1rio apertar nenhum bot\u00e3o de atualiza\u00e7\u00e3o.<\/p>\n<p class=\"wp-block-paragraph\">Vale saber de uma limita\u00e7\u00e3o: quando h\u00e1 v\u00e1rios eventos no mesmo dia, a solu\u00e7\u00e3o com TEXTJOIN exibe todos os textos concatenados em uma \u00fanica c\u00e9lula, sem separar hor\u00e1rios. Uma sa\u00edda pr\u00e1tica \u00e9 incluir o hor\u00e1rio diretamente na descri\u00e7\u00e3o do evento (por exemplo, &#8220;14h \u2014 Reuni\u00e3o de equipe&#8221;), assim essa informa\u00e7\u00e3o j\u00e1 aparece no calend\u00e1rio de forma leg\u00edvel.<\/p>\n<p class=\"wp-block-paragraph\">Com esse modelo pronto, voc\u00ea tem um calend\u00e1rio din\u00e2mico no Excel que funciona como um painel de eventos: troca de m\u00eas e ano com um clique, atualiza\u00e7\u00e3o autom\u00e1tica e visual profissional. Vale salvar como modelo para reutilizar em outros projetos.<\/p>\n<p class=\"wp-block-paragraph\">Tem alguma d\u00favida sobre algum passo espec\u00edfico, ou quer adaptar esse calend\u00e1rio para um caso diferente? Deixe nos coment\u00e1rios.<\/p>\n<hr class=\"wp-block-separator\"\/>\n<h2 class=\"wp-block-heading\">Refer\u00eancia em v\u00eddeo<\/h2>\n<p class=\"wp-block-paragraph\">A t\u00e9cnica descrita neste guia \u00e9 baseada no tutorial abaixo, que mostra o processo completo em a\u00e7\u00e3o. Vale assistir para ver as f\u00f3rmulas sendo digitadas e a formata\u00e7\u00e3o sendo aplicada em tempo real:<\/p>\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\">\n<div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Create a Dynamic Calendar From a List of Events in Excel\" width=\"720\" height=\"405\" src=\"https:\/\/www.youtube.com\/embed\/qkay9xnJf5c?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div>\n<\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Com uma lista simples de datas e descri\u00e7\u00f5es, \u00e9 poss\u00edvel construir um calend\u00e1rio visual no Excel em que os eventos aparecem automaticamente nos dias certos. O melhor: ao trocar o m\u00eas ou o ano em uma lista suspensa, todo o calend\u00e1rio se recalcula sozinho \u2014 sem precisar mover nenhuma c\u00e9lula manualmente. Esse guia explica como&#8230;<\/p>\n","protected":false},"author":1,"featured_media":316,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[7],"tags":[73,71],"class_list":["post-187","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-produtividade","tag-calendario","tag-excel"],"jetpack_featured_media_url":"https:\/\/www.bernabauer.com\/blog\/wp-content\/uploads\/2026\/05\/calendar-excel.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/posts\/187","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/comments?post=187"}],"version-history":[{"count":2,"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/posts\/187\/revisions"}],"predecessor-version":[{"id":326,"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/posts\/187\/revisions\/326"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/media\/316"}],"wp:attachment":[{"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/media?parent=187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/categories?post=187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bernabauer.com\/blog\/wp-json\/wp\/v2\/tags?post=187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}