Wczorajsza data w Excelu

Microsoft Office
Excel

Spis treści:

Wprowadzenie

Podczas pracy w Excelu często pojawia się potrzeba odwołania się do wczorajszej daty – na przykład przy tworzeniu raportów, zestawień czy analizowaniu danych z poprzedniego dnia. Ręczne wpisywanie daty każdego dnia jest nie tylko czasochłonne, ale również zwiększa ryzyko błędów i nieścisłości w analizach danych – w szczególności, gdy dane są aktualizowane regularnie i pracujemy na rozbudowanych arkuszach. Możemy jednak w prosty sposób poradzić sobie z tym problemem – tworząc dynamiczną formułę, która będzie zwracać nam wczorajszą datę. W tym artykule przedstawimy, jak, przy użyciu funkcji DZIŚ(), stworzyć taką formułę i wpiąć ją do nazwy, by maksymalnie zautomatyzować ten proces.

Jak Excel przechowuje daty

Czy zastanawiałeś się kiedyś, dlaczego po zmianie formatu komórki z datą na format Ogólny widzisz liczbę?

Dla wielu użytkowników na pierwszy rzut oka taki widok wygląda jak błąd. W rzeczywistości jest to jednak całkowicie zamierzone i ma swoje zastosowanie.

Dzieje się tak dlatego, że Excel zapisuje wewnętrznie daty jako liczby całkowite, gdzie każda liczby odpowiada liczbie dni, który upłynęły od 1 stycznia 1900 roku – „pierwszego” dnia w systemie dat Excela dla Windows. Dzięki takiemu mechanizmowi możemy wykonywać różnorodne operacje na datach, w prosty i logiczny sposób – na przykład możemy odczytać daty, oddalone o określoną liczbę dni od daty zapisanej w komórce, dodawać i odejmować dni, tygodnie, miesiące, a nawet lata, bez potrzeby ręcznego przeliczania dni lub wykonywania skomplikowanych działań. Zapis dat w Excelu umożliwia nam również tworzenie dynamicznych formuł, które aktualizują się wraz ze zmianą daty systemowej, co jest szczególnie przydatne przy raportach finansowych czy harmonogramach projektowych.

Przykłady operacji na datach:

Odejmowanie dat

Przesuwanie daty o liczbę dni

Wykorzystanie DZIŚ() do wczorajszej daty

Funkcja DZIŚ() zwraca aktualną datę systemową, czyli dzień, w którym otwieramy nasz arkusz. Funkcja ta jest bardzo przydatna, gdy chcemy tworzyć dynamiczne raporty, które zawsze odnoszą się do aktualnej daty, bez potrzeby ręcznej aktualizacji.

Aby uzyskać wczorajszą datę, wystarczy odjąć jeden dzień od bieżącej daty, którą uzyskamy za pomocą funkcji DZIEŃ():

Dzięki temu, po każdej aktualizacji daty systemowej, formuła w komórce będzie obliczać nam datę wczorajszą.

Przypisanie funkcji do nazwy

Po co w ogóle przypisywać nazwę?

Zauważ, że jeśli chcemy używać w wielu miejscach formuły DZIEŃ()-1 to za każdym razem powielamy tę samą logikę. W prostych przypadkach nie jest to problem, lecz gdy formuła pojawia się w bardziej rozbudowanych konstrukcjach, może to znacznie obniżyć czytelność arkusza. Przykładowo, formuła

=JEŻELI(

    A2=DZIŚ()-1;

    DZIŚ()-1 + C2;

    JEŻELI(

        A2<DZIŚ()-1;

        DZIŚ()-1 – C2;

        A2

    )

)

jest poprawna, ale na pierwszy rzut oka jest mało czytelna oraz od razu można zauważyć, że wszystkie operacje odnoszą się do dnia wczorajszego. Zamiast powielać formułę DZIŚ()-1, możemy przypisać ją do ustawionej przez nas nazwy. Dzięki temu możemy:

  • poprawić czytelność naszego arkusza – sposób wyliczania dnia wczorajszego jest zdefiniowany w jednym miejscu i nie musimy powielać go przy każdym użyciu
  • używać tej nazwy w wielu różnych miejscach – na przykład w prostych obliczeniach czy rozbudowanych formułach warunkowych
  • łatwo wprowadzać zmiany – jeśli logika wyliczania dnia wczorajszego by się zmieniła (na przykład gdybyśmy chcieli uwzględniać poprzedni dzień roboczy), wystarczy zmienić formułę w definicji przypisanej przez nas nazwy, a wszystkie odwołania do tej nazwy zostaną automatycznie zaktualizowane

Przypisywanie do nazwy

Aby przypisać formułę do nazwy w Excelu, przechodzimy do zakładki FormułyMenadżer nazw Nowy:

Następnie, w polu Nazwa wpisz nazwę, do której chcesz przypisać funkcję (np. Wczoraj), a w polu Odwołuje się do wpisz formułę =DZIŚ()-1. Możemy również dodać komentarz, żeby wyjaśnić, co robi funkcja, która jest przypisana do danej nazwy – jest to szczególnie przydatne przy bardziej złożonych formułach, które mogą być cięższe do zrozumienia dla innych użytkowników:

Możemy już swobodnie wykorzystywać nazwę Wczoraj w formułach w całym skoroszycie. Formuła przedstawiona powyżej po zastąpieniu DZIŚ()-1 nazwą Wczoraj wygląda teraz następująco:

=JEŻELI(

    A2=Wczoraj;

    Wczoraj + C2;

    JEŻELI(

        A2<Wczoraj;

        Wczoraj – C2;

        A2

    )

)

Jak widać, nasza formuła stała się bardziej przejrzysta i czytelna. Pozbyliśmy się również problemu powielania tej samej logiki w wielu miejscach, co zmniejsza ryzyko błędów w arkuszu i pozwala na łatwe wprowadzanie ewentualnych zmian.

💡 Ciekawostka:
W Excelu 365 mamy do dyspozycji funkcję LET(), która pozwala przypisać wartość do nazwy, np.:

=LET(x; 2; 3+x)

Wynikiem działania tej formuły będzie 5.

Do nazwy wewnątrz funkcji LET() można przypisać również inną formułę, dzięki czemu funkcja ta może stanowić alternatywę dla nazw tworzonych w Menedżerze nazw. Przykład z użyciem LET() może wyglądać następująco:

=LET(
moja_data; DZIŚ()-1;
JEŻELI(
   A2=moja_data;
   moja_data+C2;
   JEŻELI(
      A2<moja_data;
      moja_data-C2;
      A2
   )
)
)

Warto pamiętać, że nazwa zdefiniowana w funkcji LET() ma charakter lokalny – jest widoczna wyłącznie wewnątrz tej formuły. Z kolei nazwa utworzona w Menedżerze nazw ma charakter bardziej uniwersalny, ponieważ może być używana w całym skoroszycie.

Formatowanie

Zauważ, że gdy używamy naszej nazwy Wczoraj, w komórce dalej wyświetla się liczba:

Wiesz już z punktu 2., dlaczego Excel wyświetla datę jako liczbę. Aby wynik nazwy Wczoraj wyglądał jak data, należy zmienić format komórki.

Aby to zrobić zaznaczamy komórkę lub zakres komórek, które zawierają daty, klikamy prawym przyciskiem myszy i wybieramy Formatuj komórki:

Następnie wybieramy kategorię Data i spośród dostępnych opcji preferowany sposób wyświetlania daty (np. dd.mm.rrrr) i zatwierdzamy klikając OK:

Nasza wczorajsza data jest teraz wyświetlana w czytelnej formie i jest gotowa do dalszej pracy w arkuszu:

💡 Ciekawostka:
Excel oferuje również tworzenie formatów niestandardowych – oznacza to, że możemy wyświetlać daty w dowolny sposób, niezależnie od standardowych opcji w kategorii Data.Aby stworzyć format niestandardowy, powtarzamy poprzednie kroki, czyli zaznaczamy komórkę lub zakres komórek, które chcemy sformatować. Następnie wybieramy kategorię Niestandardowe i w polu Typ wpisujemy swój własny format (np. dddd dd mmmm rrrr) i zatwierdzamy klikając OK:Format niestandardowy datyNazwa Wczoraj po sformatowaniu:

Nazwa Wczoraj po formatowaniu

Pamiętaj, że zmiana formatu na niestandardowy nie wpływa na wartość liczbową daty – Excel nadal przechowuje ją jako liczbę dni, która upłynęła od 1 stycznia 1900 roku, więc dalej można wykonywać na niej obliczenia i wykorzystywać w formułach. Dzięki takiemu rozwiązaniu możemy eksperymentować z wyglądem dat, zachowując ich pełną funkcjonalność.

Podsumowanie

Przypisanie funkcji DZIŚ()-1 do nazwy to proste, ale bardzo praktyczne rozwiązanie w Excelu. Dzięki temu możemy w łatwy sposób odwoływać się do wczorajszej daty w wielu formułach jednocześnie, bez potrzeby powielania tej samej logiki. Takie podejście, w połączeniu z odpowiednim formatowaniem daty, zarówno standardowym, jak i niestandardowym, pozwoli nam znacznie poprawić czytelność arkusza, ułatwiając jego analizę i obsługę.

Podobne artykuły

Wszystkie artykuły