Excel „nie widzi” daty – jak zamienić tekst na datę w Excelu

Jeżeli masz w Excelu dane, które wyglądają jak data, jednak Excel uparcie nie chce ich potraktować jak daty – mam dla Ciebie dobrą wiadomość: jest na to sposób!

Skąd takie daty – „niedaty” mogą się brać?

Na przykład z:

  • otwartych w Excelu plików CSV, TXT, ODS lub innych formatów, których Excel nie traktuje jako do końca „własnych”
  • ze skopiowania i wklejenia do Excela danych np. ze strony internetowej albo z dokumentu tekstowego
  • z wpisania daty w formacie, którego Excel nie rozumie

Po czym poznać, że Excel nie zrozumiał, że chodziło o datę?

Na pierwszy rzut oka, w komórkach, które nie mają innego formatowania – po dosunięciu do lewej lub prawej krawędzi. Wartość komórki, zinterpretowana jako data, będzie automatycznie dosunięta do prawej (tak jak np. liczby). Wartość komórki, której nie udało się Excelowi zinterpretować jako daty, będzie automatycznie dosunięta do lewej krawędzi komórki, tak jakby był tam zwykły tekst nie mający specjalnego znaczenia.

Tak wygląda to na arkuszu:

W powyższym przykładzie wpisałem „ręcznie” wartości odpowiadające pierwszym trzem dniom stycznia – w kolumnie A w formacie

rrrr-mm-dd

a w kolumnie B, w formacie:

dd.mm.rrrr

Pierwszy z tych formatów jest zrozumiały dla Excela i został poprawnie zinterpretowany, a wartości dosunięte do prawej, natomiast drugi jest Excelowi obcy i potraktowany został jak zwykły tekst – Excel nie wie, że ma do czynienia z dniem, miesiącem i rokiem rozdzielonymi kropką.

Jak przekonać Excela, że tekst to data?

Jeżeli dat uznanych za tekst mamy raptem kilka – można je ręcznie przepisać na właściwy format, jednak już przy większej liczbie, robi się to żmudne, pracochłonne i podatne na pomyłki zajęcie.

Lepiej użyć automatu.

Mój ulubiony sposób, to zastosowanie funkcji: Tekst jako kolumny

Kolejne kroki to:

  1. Zaznaczamy wszystkie daty do zamiany

Na zakładce „Dane” wstęgi u góry ekranu klikamy

W kreatorze kolejno:

Akceptujemy Rozdzielany i klikamy Dalej

Pozostawiamy Tabulator jako znak rozdzielający i klikamy Dalej

UWAGA Teraz kluczowy krok!

W trzecim kroku kreatora zamiast Ogólny wybieramy Data i podajemy wybierając z listy, w jakiej kolejności w naszym tekście znajdują się dzień, miesiąc i rok – w moim przykładzie jest to DMR (czyli najpierw Dzień, potem Miesiąc, potem Rok).

Po kliknięciu Zakończ w kreatorze, efekt będzie następujący:


Jak widać, po zamianie, daty w nowym formacie zostały dosunięte do prawej, co oznacza, że Excel wie, że ma do czynienia z datą.

Co jednak, jeżeli chcemy „zjeść ciastko i mieć ciastko”, czyli…

chcemy koniecznie mieć datę w oryginalnym formacie, ale dobrze rozumianą przez Excela?

Wystarczy wtedy, po wstępnej konwersji z tekstu na datę, zmienić format w komórkach. Mając je nadal zaznaczone, klikamy kombinację klawiszy Ctrl-1 (przytrzymujemy klawisz Ctrl i naciskamy „1” na klawiaturze), żeby wyświetlić okno formatowania komórek:

W którym to oknie musimy wybrać kategorię Niestandardowe i wybrać lub samodzielnie podać Typ czyli format, w jakim data ma być prezentowana.

W naszym przypadku powrót do oryginału oznacza wpisanie typu:

dd.mm.rrrr

Efekt po zatwierdzeniu takiego typu klawiszem OK:

Widać, że data została sformatowana tak jak pierwotnie, jednak tym razem jest dosunięta automatycznie do prawej krawędzi komórki, a zatem interpretowana jako data, a nie tekst.

Na takiej dacie można używać funkcji Excela np. ROK, MIESIĄC, można do niej dodawać liczby, np. żeby przesunąć się o określoną liczbę dni itd. – tego nie dało by się zrobić na datach zapisanych jako tekst.

Leave a Comment

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

10 thoughts on “Excel „nie widzi” daty – jak zamienić tekst na datę w Excelu”

  1. Mamy kolumnę z datami w różnych formatach: dd-mm-rrrr, rrrr-mm-dd itp. Niestety, tak jak piszesz, excel niektórych komórek nie czyta jako dat i nie da ich się sformatować ani ujednolicić. Twój sposób również nie pomógł :(

    1. To tylko komputer, na pewno da się go przekonać do zmiany formatu. Jeżeli w komórkach jest tekst, to można np. użyć funkcji PRAWY, LEWY, FRAGMENT.TEKSTU, żeby ustawić datę w pożądanym formacie.
      Można skopiować potem tak przygotowane teksty i wkleić obok jako wartość – wtedy mechanika z postu powinna już zadziałać.

  2. Super. Działa :)
    To jeszcze tylko muszę znaleźć jak zrobić podobną sztuczkę z godziną, bo kopiuję ze strony www date i godzinę. Rozdzielam to na dwie kolumny, gdzie powyższą metodą datę widzi już prawidłowo, ale godzinę nadal traktuje jak tekst czy inne dane.

  3. Dziękuje, za takich ludzi jak Pan <3 od razu udało mi się ogarnąć niesforne daty, które nie chciały mi się filtrować :D

  4. Zaciągnęłam tabelę excel z NBP archiwum kursów za 2022
    Daty są w formacie 20220103 jako ogólne jak zamieniam na format daty to wyskakują mi ##########. Jak ustawić żeby była data 2022-01-03?

  5. a co w przypadku dat zapisanych jako tekst np 1644-8-6 (czyli przed 1900 rokiem) – akurat coś takiego przygotowuję

    by pokazała się jako 1644-08-06?