W tym poście zajmiemy się zagadnieniem wyznaczania początku i końca tygodnia (pierwszego i ostatniego dnia) na podstawie daty. W Polsce ogólnie przyjęte jest, że tydzień zaczyna się od poniedziałku, natomiast w innym krajach może się zaczynać od pozostałych dni tygodnia. Temat ten omówimy na przykładowych danych z rysunku nr 1.

rys. nr 1 — Przykładowe dane

Omówimy działanie funkcji DZIEŃ.TYG, w której jako pierwszy argument podajemy datę, a drugi to zwracany typ, czyli sposób w jaki funkcja będzie numerować poszczególne dni tygodnia. Innymi słowy jaki dzień przyjmiemy za początek, a jaki za koniec tygodnia (rys. nr 2)

rys. nr 2 — Drugi argument funkcji DZIEŃ.TYG

W systemie pierwszym przyjmujemy, że pierwszym dniem tygodnia jest niedziela (numer 1), a ostatnim sobota (numer 7). Drugi system (stosowany w Polsce) zakłada, że pierwszy dzień tygodnia to poniedziałek (numer 1), a ostatni to niedziela (numer 7). Trzeci system jest praktycznie taki sam jak drugi z tą różnicą, że poniedziałek oznaczony jest cyfrą 0, a niedziela cyfrą 6. Systemy od 11 do 17 działają analogicznie, różnią się tylko tym, który dzień jest pierwszy (oznaczony cyfrą 1), a który ostatni (oznaczony cyfrą 7). Systemy te pokazane zostały na rysunku nr 3.

rys. nr 3 — Systemy funkcji (jaki dzień tygodnia przyjmiemy za początek a jaki za koniec tygodnia)

W naszym przykładzie wybierzemy system nr 3, czyli tydzień liczony od poniedziałku (cyfra 0) do niedzieli (cyfra 6). Zapis naszej formuły będzie wyglądał następująco:

=DZIEŃ.TYG([@Data];3)

Otrzymamy wyniki zamieszczone na rysunku nr 4 w kolumnie Koniec tygodnia.7. Musimy pamiętać o zmianie formatowania na ogólne formatowania liczbowe.

rys. nr 4 — Wynik działania funkcji DZIEŃ.TYG

Teraz zajmiemy się sposobem wyznaczenia początku i końca tygodnia na podstawie aktualnej daty. Zacznijmy od przypadku, że chcemy, aby początek tygodnia był w poniedziałek. Aby to osiągnąć, musimy od aktualnej daty odjąć numer dnia tygodnia, który nam zwróci funkcja DZIEŃ.TYG, gdy w jej drugi argument wpiszemy wartość 3. Wtedy poniedziałek ma numer 0, a niedziela numer 6. Nasza formuła będzie wyglądać następująco:

=$A3-DZIEŃ.TYG($A3;3)

Problem pojawia się, kiedy chcemy, żeby początek tygodnia przypadał w inny dzień niż poniedziałek. Trzeba wtedy przeprowadzić korektę, mianowicie w formule funkcji DZIEŃ.TYG odjąć od aktualnej daty wartość tej korekty. W pierwszym wierszu wpisaliśmy wartość korekty, w zależności od tego, który dzień przyjmiemy jako początek tygodnia, np. dla poniedziałku korekta wynosi 0, dla wtorku – 1, dla środy – 2, itd. W takim przypadku formuła będzie wyglądać następująco:

=$A3-DZIEŃ.TYG($A3-Q$1;3)

 (rys. nr 5)

rys. nr 5 — Funkcja DZIEŃ.TYG dla poniedziałku jako pierwszy dzień tygodnia

Aby uzyskać ostatni dzień tygodnia (koniec tygodnia), wystarczy do początku tygodnia dodać 6 dni, czyli nasza formuła powinna wyglądać tak:

=$A3-DZIEŃ.TYG($A3-Q$1;3)+6


Właśnie dodałem mój kurs o Power BI Desktop firmy Microsoft na Udemy.com.
W związku z tym, możesz dostać ten kurs w promocyjnej Cenie Na Start za zaledwie 34,99 PLN.
To najniższa cena jaką mogę ustawić na platformie edukacyjnej Udemy!

Kurs Power BI Desktop to:
- Ponad 6 godziny nagrań wideo, które krok po kroku wprowadzają Cię w tajniki pobierania, łączenia i analizy danych, a na koniec ich wizualizacji.
- Pliki do pracy razem z filmami.
- Dożywotni dostęp.
- Elektroniczny certyfikat ukończenia

Spis treści kursu o PowerBI Desktop:

Kurs jest podzielony na 6 rozdziałów, które pozwolą Ci wejść w tematykę analizy i wizualizacji danych za pomocą odpowiednio stworzonych zapytań i relacji w PowerBI Desktop.

  1. Wstęp do aplikacji PowerBI Desktop i jej możliwości
  2. Tworzenie i modyfikowanie zapytań (pobieranie danych)
  3. Modelowanie danych w PowerBI Desktop
  4. Wizualizacja danych i tworzenie raportów
  5. Usługa internetowa
  6. PowerBI Pro — kilka słów o płatnej części usługi PowerBI

Wejdź na stronę kursu PowerBI Desktop i zobacz szczegóły kursu
oraz udostępnione do podglądu filmy,
żeby przekonać się czy to kurs dla Ciebie.