Datas antecipadas no Power Query estão erradas por um dia - Dicas do Excel

O Power Query é o novo recurso quente e jovem do Excel. Lembre-se de que não foi criado pela equipe do Excel. A equipe do Power Query decidiu que não será afetada por um erro de décadas no VisiCalc. É aqui que isso pode causar problemas para você.

Para background, as datas no Excel são armazenadas como um número de série. Se você inserir a data de hoje - 30 de março de 2018 no Excel, eles mostrarão alguma forma da data, mas o Excel está armazenando 43189. Isso significa que hoje são 43189 dias desde 1º de janeiro de 1900.

Também significa que, para chegar à data de amanhã, você pode usar =F3+1. Para encontrar o número de dias entre as datas, você pode subtrair uma data da outra. É uma boa maneira de permitir cálculos de datas.

Cuidado

Isso também significa que você não pode registrar datas de 1800 com facilidade. Isso é ruim para geneaologistas ou contadores em empresas de 150 anos.

Cada data é representada por um número de série específico

O sistema foi inventado por Dan Bricklin e Bob Frankston quando criaram o VisiCalc em 1978-1979. Mas Bob e Dan cometeram um erro. Vamos levar nosso modelo de volta no tempo, até fevereiro e março de 1900. A data associada ao número de série 60 é 29 de fevereiro de 1900.

Datas muito antigas estão erradas no Excel

Dias bissextos voltam para Júlio César. Uma vez que a Terra leva 365,242189 dias para girar em torno do sol, ter um calendário de 365 dias significa que as estações mudariam 24 dias a cada século. Júlio César criou um plano de adicionar um dia bissexto a cada ano divisível por 4. Isso teria sido perfeito se a Terra desse a volta ao Sol a cada 365,25 dias. Mas essa pequena diferença de 0,25 a 0,242189 significava que, ao longo de dois milênios, as estações ainda estavam desligadas. O Papa Gregório propôs um sistema em 1582 onde havia três regras:

  • Regra 1: um ano divisível por 4 seria um ano bissexto, exceto:
  • Regra 2: Um ano divisível por 100 não seria um ano bissexto, exceto:
  • Regra 3: Um ano divisível por 400 seria um ano bissexto.

As regras foram propostas em 1582, mas demoraram a ser adotadas. O Japão não concordou até 1873. Bulgária, Estônia, Rússia, Grécia e Turquia mudaram de 1916-1927. A regra nº 2 só aconteceu em 1700, 1800 e 1900. A regra nº 3 aconteceu em 1600 e 2000. Se você está lendo isso, provavelmente já estava vivo em 29 de fevereiro de 2000, mas pode não ter percebido que era uma exceção a um exceção a uma exceção. Mas em 1978, isso não acontecia há 79 anos, então não era amplamente conhecido. VisiCalc cometeu o erro de incluir 29 de fevereiro de 1900.

Não é grande coisa, realmente. Quem nunca volta para ver se 2 de fevereiro de 1900 foi uma quinta ou quarta-feira (o Excel diz que foi quinta-feira, mas na verdade foi uma quarta-feira). E quem vai acompanhar as contas a receber em aberto desde o início de 1900? Sejamos realistas, se você faturou um fornecedor em 15 de fevereiro de 1900 e ele ainda não pagou, é hora de dar baixa no contas a receber.

Para compatibilidade, Mitch Kapor programou o mesmo erro no Lotus 1-2-3.

Steve Jobs, não querendo programar um erro propositalmente, fez o relógio do Macintosh começar em 1o de janeiro de 1904.

Na Microsoft, o Excel precisava ser compatível com o então líder de mercado Lotus 1-2-3, e o inexistente 29 de fevereiro de 1900 foi introduzido no Excel e permanece até hoje.

Mas os arquitetos do Power Query não são especialistas em planilhas. Eles não têm estátuas de Bricklin e Frankston em seu escritório. Eles não conhecem essa história. Eles decidiram que suas datas seriam o número de dias decorridos desde 31 de dezembro de 1899. Isso faz com que as pessoas do Power Query se sintam um pouco superiores às pessoas do Excel porque os dias da semana relatados pelo Power Query para 60 dias no início de 1900 são mais corretos do que no Excel.

Não há nada com que se preocupar. Ninguém está lidando com datas desses 60 dias.

Mas aqui está algo muito mais comum. Considere esta tabela de números conhecidos.

Henry Heinz achou que 57 parecia um número da sorte.

Vou pedir que você "faça a coisa errada" e acidentalmente siga estas etapas:

  1. Selecione a coluna N
  2. Pressione Ctrl + Shift + 3 para formatar a coluna como uma data
  3. Não perceba que você fez alguma dessas coisas.

    Ops - os números são datas inadvertidamente
  4. Use Data, Get & Transform, From Table ou Range.
  5. Quando você chegar ao Power Query, observe as datas na coluna de números. Na caixa Etapas aplicadas, exclua a etapa Formato alterado.

Quando os dados voltam para o Excel, tudo está errado por 1. Os círculos não existem mais. Heinz tem 56 variedades em vez de 57.

Mitch Kapor estava certo em estar errado

Sei que esta é nossa última sexta-feira no Excel Lent. Sei que este é um exemplo artificial e obscuro. Quais são as chances de alguém formatar acidentalmente uma coluna de números no intervalo de 1 a 60 como datas antes de ir para o Power Query? Parece baixo, mas já aconteceu.

O Power Query é um recurso incrível. Tenho certeza de que os arquitetos perceberam que nada poderia dar errado se eles fossem mais espertos do que aquelas pessoas que cometeram um erro em 1978. Mas será que bilhões de planilhas estão funcionando porque todos concordamos em aceitar o erro, você está rasgando um minúsculo buraco no tecido do Excel.

Toda sexta-feira, examino um bug ou outro comportamento suspeito no Excel.

Excel Pensamento do Dia

Pedi conselhos aos meus amigos do Excel Master sobre o Excel. O pensamento de hoje para ponderar:

"Ctrl + Shift + U alterna a altura da barra de fórmula"

Bob Umlas

Artigos interessantes...