W dzisiejszym poście przedstawimy odpowiedź na jedno z pytań moich widzów, czyli ile jest dni pomiędzy dwoma konkretnymi datami. W przykładowych danych na rysunku nr 1 mamy podane daty przyjazdu i wyjazdu. Naszym zadaniem jest policzyć ile dni z danego przedziału przypadało na konkretne miesiące.
Chcemy zsumować ilość dni pomiędzy dwoma datami. Zaczynamy od rozpisania miesięcy według ilości dni w każdym z nich (rys. nr 2)
Tak naprawdę to nie są nazwy miesięcy, tylko odpowiednio sformatowane daty. Naciskamy skrót klawiszowy Ctrl+1, aby zobaczyć jakie formatowanie zostało tu użyte. Mamy tu użyte formatowanie niestandardowe typu mmmm, które sprawia że pokazuje się tylko nazwa miesiąca. Pod każdą nazwą miesiąca kryje się data ostatniego dnia tego miesiąca (rys. nr 3).
Aby obliczyć ilość dni w miesiącu użyjemy funkcji JEŻELI. Będziemy sprawdzać czy daty z kolumny Data wyjazdu ($B$2:$B$10) są mniejsze od ostatniego dnia danego miesiąca. Jeśli są mniejsze to chcemy otrzymać te daty z kolumny Data wyjazdu. W przeciwnej sytuacji chcemy aby funkcji zwróciła nam datę ostatniego dnia tego miesiąca. W pierwszym wierszu obliczeń formuła będzie wyglądać następująco:
=JEŻELI($B$2:$B$10<E2;$B$2:$B$10;E2)
Kiedy podejrzymy wyniki tej operacji w trybie edycji komórki za pomocą klawisza F9 otrzymamy wyniki z rysunku nr 4 (dni tego miesiąca, ale w postaci liczbowej).
Od wartości uzyskanych z formuły zapisanej powyżej musimy odjąć daty przyjazdu wyznaczone w analogiczny sposób, czy za pomocą funkcji JEŻELI. Sprawdzamy, czy daty z kolumny Data przyjazdu są mniejsze od daty ostatniego dnia miesiąca. Jeśli są mniejsze to chcemy otrzymać te daty, jeśli nie spełniają warunku chcemy by funkcji zwróciła nam datę ostatniego dnia miesiąca. Zapis całej formuły będzie wyglądał następująco:
=JEŻELI($B$2:$B$10<E2;$B$2:$B$10;E2)- JEŻELI($A$2:$A$10<E2;$A$2:$A$10;E2)
Do tej formuły musimy dołożyć funkcję SUMA. Zapis będzie wyglądał następująco:
=SUMA(JEŻELI($B$2:$B$10<E2;$B$2:$B$10;E2)- JEŻELI($A$2:$A$10<E2;$A$2:$A$10;E2))
Zatwierdzamy tą formułę tablicową Ctrl+Shift+Enter. Otrzymujemy wynik i przeciągamy go sobie na wiersze poniżej (rys. nr 5).
Poniższe wyniki już nie są prawidłowe, bo w lutym powinno być jedynie 10 dni. Uprościłem formułę i patrzę tylko na ostatni dzień miesiąca, przez to biorę pod uwagę wszystkie dni przed końcem tego miesiąca. Czyli w lutym otrzymaliśmy 31 dni ze stycznia i 10 dni z lutego. Łatwo to naprawić wystarczy odjąć sumę dni z miesiąca poprzedzającego obliczenia. Zapis formuły będzie wyglądał następująco:
=SUMA(JEŻELI($B$2:$B$10<E2;$B$2:$B$10;E2)- JEŻELI($A$2:$A$10<E2;$A$2:$A$10;E2))-SUMA($F$1:F1)
Zaczynamy obliczenia od komórki z nagłówkiem, żeby formuła zadziałała też dla stycznia. Należy jednak pamiętać że funkcja SUMA ignoruje tekst, więc w styczniu nic nie odejmiemy. Zatwierdzamy formułę Ctrl+Shift+Enter i kopiujemy ją na wiersze poniżej. Otrzymamy wyniki przedstawione na rysunku nr 6.
Podsumowując należy bezwzględnie pamiętać o zatwierdzaniu formuł tablicowym skrótem klawiszowym Ctrl+Shift+Enter. Jeśli nie użyjemy tego skrótu otrzymamy błędne wyniki.
W kolumnie G nazwanej Nie tablicowo przygotowałem dużo bardziej skomplikowaną formułę, przy której nie musimy pamiętać o odpowiednim zatwierdzeniu formuły (kombinacją klawiszy Ctrl+Shift+Enter). Zapis tej formuły wyglądałby następująco:
=SUMA.ILOCZYNÓW((E2<$B$2:$B$10)*E2+(E2>=$B$2:$B$10)*($B$2:$B$10)-(E2<$A$2:$A$10)*E2-(E2>=$A$2:$A$10)*$A$2:$A$10)-SUMA($F$1:F1)
Tutaj mieliśmy przykład dla miesięcy, ale możemy policzyć ten przedział pomiędzy dowolnymi datami. Należy najpierw obliczyć wszystkie dni przed konkretną datą, a później za pomocą odejmowania uzyskać interesujący nas wynik.
Książka Mistrz Excela + promo na 35 urodziny
Chcę Cię poinformować, że w końcu udało mi zebrać środki i dopiąć wszystkich formalności, żeby powstało II wydanie mojej książki Mistrz Excela (zostałem wydawcą)
II wydanie jest wzbogacone o rozdział (nr 22) wprowadzający w genialny dodatek (Power Query) do Excela służący do pobierania, łączenia i wstępnej obróbki danych z wielu źródeł.
Książka Mistrz Excela to historia Roberta, który musi poznać dobrze Excela na potrzeby nowej pracy. Książka jest napisana w formie rozmów Roberta z trenerem, dzięki temu jest przystępniejsza w odbiorze niż standardowe książki techniczne pisane językiem "wykładowym".
Rozmowy zostały podzielone na 22 tematyczne rozdziały, które krok po kroku wprowadzają Cię w tajniki Excela. Robert zaczyna naukę od poznania ciekawych aspektów sortowania i filtrowania danych w Excelu, przechodzi przez formatowanie warunkowe, tabele przestawne, funkcje wyszukujące i wiele innych tematów, by na koniec poznać wstępne informacje o VBA i Power Query.
A wszystko to na praktycznych przykładach i z dużą ilością zdjęć.
Żebyś mógł śledzić postępy Roberta, do książki dołączone są pliki Excela, na których pracuje Robert.
Aktualnie w promocji urodzinowej możesz mieć Mistrza Excela w obniżonej cenie, jeśli tylko wpiszesz kod 35URODZINY
https://exceliadam.pl/produkt/ksiazka-mistrz-excela
Na powyższej stronie znajdziesz dokładniejszy opis książki, opinie osób, które kupiły I wydanie oraz podgląd pierwszego rozdziału książki, żeby upewnić się, czy forma rozmów przy nauce Excela jest dla Ciebie.
Jeśli książka Ci się spodoba poinformuj o niej swoich znajomych.
W ramach promocji na moje 35 urodziny możesz też mieć każdy z moich kursów wideo na Udemy za zaledwie 35 zł. Linki do kursów zamieszczam poniżej. W każdym kursie są udostępnione filmy do podglądu, byś mógł się przekonać czy dany kurs jest dla Ciebie.
Power Query
https://www.udemy.com/course/mistrz-power-query/?couponCode=35URODZINY
Mistrz Excela
https://www.udemy.com/mistrz-excela/?couponCode=35URODZINY
Dashboardy
https://www.udemy.com/course/excel-dashboardy/?couponCode=35URODZINY
Mistrz Formuł
https://www.udemy.com/course/excel-mistrz-formul/?couponCode=35URODZINY
VBA
https://www.udemy.com/course/excel-vba-makra/?couponCode=35URODZINY
Microsoft Power BI
https://www.udemy.com/course/power-bi-microsoft/?couponCode=35URODZINY
W jaki sposób możemy policzyć dni w danym miesiącu, ale bez "gubienia" pierwszego dnia tj. pomiędzy datą 02.01.2019, a datą 04.01.2019 interesuje mnie wynik "3 dni w styczniu"?
Mam jeszcze 2 materiały na analogiczny temat w Power Query:
https://exceliadam.pl/excel/ile-dni-w-miesiacu-pomiedzy-datami‑2
https://exceliadam.pl/excel/ile-dni-pomiedzy-datami-w-danym-okresie-czasu
Witam. Jak zrobic formułkę aby policzyć ilość operacji wykonanych w danym miesiacu. mamy wszystkie dni w roku jak wyciągnąć ile było operacji np. w kwietniu czy listopadzie.
Najprościej Tabela Przestawna grupowanie dat, po latach i miesiącach i zmienić podsumowanie na zliczanie wartości.
Formuła natomiast potrzebuje funkcji LICZ.WARUNKI i zakresów dat od do.