Eu tenho constantemente problemas para trabalhar com datas no Excel, devo estar fazendo algo errado, mas não entendo o quê...
Tenho uma folha de cálculo, exportada do nosso servidor de troca, que contém uma coluna com datas em. Elas saíram em formato americano, apesar de I'm no Reino Unido.
A coluna em questão é parecida com esta
04/08/2012
04/09/2009
04/01/2010
04/21/2011
04/05/2012
08/30/2009
08/29/2010
08/28/2011
No Excel, eu realcei a coluna e selecionei Células Format...
. Nesta caixa de diálogo, selecionei Data', selecionei
Inglês (Estados Unidos)` como o locale e escolhi o formato da data correspondente na lista. Eu cliquei em OK e tentei ordenar os dados por esta coluna.
No diálogo de ordenação escolho esta coluna, seleciono ordenação em Valores mas a ordem só me dá opções de A a Z, não mais antigo a mais novo como eu esperaria.
Isto, por sua vez, ordena os dados da data pelos dois primeiros dígitos.
Estou ciente de que eu poderia re-formatar estes dados para ISO e então o tipo de A a Z funcionaria, mas eu não deveria'tê-lo também, I'estou obviamente perdendo algo. O que é isso?
EDIT: Eu estraguei a recompensa mas isto deveria ter ido para @r0berts responder, sua primeira sugestão de Texto para Colunas sem delimitador e escolhendo 'MDY' como o tipo de dados funciona. Adicionalmente, se você tem um tempo (i.e. 04/21/2015 18:34:22
), você precisa primeiro se livrar dos dados de tempo. Entretanto, depois disso o método sugerido por @r0berts funciona bem.
O problema: O Excel não quer reconhecer datas como datas, mesmo que através de "Formatar células - Número - Personalizado" você está explicitamente tentando dizer que são datas por "mm/dd/yyyy
". Como você sabe; quando o excel reconhece algo como uma data, ele armazena isso como um número - como "41004
" mas exibe como data de acordo com o formato que você especificar. Para aumentar a confusão, o excel pode converter apenas parte de suas datas, como 04/08/2009, mas deixar outras, por exemplo, 28/07/2009 não convertidas.
**Resolução: passos 1 e depois 2***
1) Selecione a coluna de datas. Em Dados, selecionar o botão Texto para colunas. Na primeira tela, deixe o botão de rádio no "delimitado" e clique em *Próximo**. Desmarque qualquer uma das caixas de delimitação (qualquer caixa em branco*; sem marcas de seleção) e clique em Próximo**. No formato de dados da coluna, escolha Date* e selecione *MDY na caixa de combinação adjacente e clique em *Finish**. Agora você tem valores de data (ou seja, o Excel reconheceu seus valores como 'Data' tipo de dado), mas a formatação provavelmente ainda é a data local, não o 'mm/dd/yyyy' que você quer.
2) Para obter o formato de data desejado nos EUA exibido corretamente você precisa primeiro selecionar a coluna (se não estiver selecionada), então em ** Formato de célula* - Número escolher Data E selecionar Locale : Inglês (US)**. Isto lhe dará um formato como "m/d/yyy
". Então você pode selecionar Custom e lá você pode digitar "mm/dd/yyyy
" ou escolher isto da lista de strings personalizadas.
Alternativo : use o LibreOffice Calc. Ao colar dados do post de Patrick's escolha Paste Special (Ctrl+Shift+V
) e escolha Unformatted Text. Isto irá abrir "Importar Texto " caixa de diálogo. O conjunto de caracteres permanece Unicode, mas para o idioma escolha English(USA); você também deve marcar a caixa "Detectar números especiais". As suas datas aparecem imediatamente no formato padrão dos EUA e são datáveis. Se você deseja o formato especial MM/DD/AAAAA dos EUA, você precisa especificar isso uma vez no " formate Cells" - antes ou depois da colagem.
Pode-se dizer - o Excel deveria ter datas reconhecidas assim que eu dissesse via "Cell Format" e I couldn't agree more. Infelizmente é apenas através do passo 1 de cima que eu consegui fazer o Excel reconhecer essas cadeias de texto como datas. Obviamente, se você fizer isso muitas vezes é uma dor no pescoço e você pode montar uma rotina básica visual que faria isso para você com o apertar de um botão.
**Dados | Texto para colunas***
Atualização em apóstrofe principal* após a colagem:* Você pode ver na barra de fórmula que na célula onde a data não é reconhecida há um apóstrofe principal. Isso significa que na célula formatada como um número (ou data) existe uma cadeia de texto. Você poderia dizer - o apóstrofo principal impede que a planilha reconheça o número. Você precisa saber procurar na barra de fórmula para isso - porque a planilha simplesmente exibe o que parece ser um número alinhado à esquerda. Para lidar com esse problema, selecione a coluna que deseja corrigir, escolha no menu Data | Text to Columns
e clique em OK. Algumas vezes você será capaz de especificar o tipo de dado, mas se você definiu previamente o formato da coluna para ser seu tipo de dado em particular - você não precisará dele. O comando é realmente destinado a dividir uma coluna de texto em duas ou mais utilizando um delimitador, mas funciona como um charme para este problema também. Eu o testei em Libreoffice, mas há o mesmo item de menu em Excel* também.
Parece que o Excel não reconhece suas datas como datas, ele as reconhece como texto, daí você ter as opções de Ordenar como de A a Z. Se você fizer isso corretamente, você deve obter algo como isto:
Portanto, é importante assegurar que o Excel reconheça a data. A forma mais simples de o fazer é utilizar o atalho CTRL+SHIFT+3.
Aqui's o que fiz com os seus dados. Eu simplesmente os copiei do seu post acima e os colei em Excel. Então eu apliquei o atalho acima, e consegui a opção de ordenação necessária. Confira a imagem.
Eu normalmente apenas crio uma coluna extra para fins de ordenação ou totalização, então use year(a1)&if len(month(a1))=1,),"")&month(a1)&day(a1)
.
Isso fornecerá um resultado "ayyyymmdd" que pode ser classificado. Utilizando o len(a1)
apenas permite que um zero extra seja adicionado durante os meses 1-9.