Jak w Excelu wyznaczyć daty świąt kalendarzowych? Można to zrobić samymi funkcjami, bez używania makr. I to także dla świąt ruchomych, nie mających swoich stałych dat w kalendarzu.
Po zmianie roku w komórce A1 (podświetlona na żółto), daty automatycznie się zmieniają, wskazując aktualizację dla danego roku.
Plik Excela widoczny na screenach można pobrać tu:
Większość dat z powyższej tabeli wyznaczona jest za pomocą funkcji Excela Data(Rok,Miesiąc,Dzień) i wynika wprost z kalendarza. Zdecydowanie bardziej skomplikowane jest wyznaczenie daty Wielkanocy, przypadającej w danym roku na pierwszą niedzielę po wiosennej pełni księżyca. Jest kilka algorytmów obliczania tej daty, zainteresowanych odsyłam tu:
A skoro coś daje się obliczyć, to z pewnością da się to zrobić także w Excelu. Wynik widoczny jest w tabeli. Powiązane z Wielkanocą są także daty Zielonych Świątków oraz Bożego Ciała, przypadające w 49 i 60 dni po jej dacie.
W praktycznych rozwiązaniach (np. różnego rodzaju grafikach) najczęściej stosuję taką tabelę w osobnym (często ukrytym) arkuszu i przy sprawdzaniu czy w danym dniu wypada święto, korzystam z funkcji Wyszukaj.Pionowo.
VBA czyli Visual Basic Application to okrojona wersja języka oprogramowania Visual Basic zaimplementowana przede wszystkim w aplikacjach Microsoft Office (Excel, Access, Word, Power Point), ale nie tylko. Można ją znaleźć także np. w Corel Draw.
Chcąc efektywnie pracować w Excelu, całkowicie zautomatyzować pracę, na pewno warto się zainteresować i poznać VBA. Tym bardziej, że pierwsze makra wystarczy po prostu nagrywać, nawet bez znajomości języka – i tak będzie działać. Kolejne kroki to z reguły modyfikacja nagranego makra, potem pierwsze próby napisania własnego…. To wciąga i wcale nie wymaga super wiedzy informatycznej 🙂
W niektórych plikach Excela znajdują się łącza do innych plików. Najczęściej są to działania świadome i celowe, pozwalające np. na agregację danych z różnych arkuszy/skoroszytów. Czasem jednak zdarza się, że łączy teoretycznie nie powinno być, a jednak są widoczne. W dodatku ich odnalezienie jest trudne, nie można ich także przerwać.
Wprawdzie można wyłączyć aktualizację łączy, ale to tylko maskuje, a nie rozwiązuje problem. Brak komunikatów nie załatwia sprawy.
W tego typu przypadkach najczęściej okazuje się, że łącza do innego pliku wcale nie są wstawione bezpośrednio w komórkach, a nieco bardziej “zagnieżdżone”. Na początek warto więc sprawdzić:
ustawienia poprawności danych
kto wie, czy na którejś z list nie ma odwołania do innego pliku?
formatowanie warunkowe
tu też mogą być łącza
Tego typu sytuacje mogą się zdarzyć, gdy na przykład kopiujemy jakiś zakres komórek z innego skoroszytu, zapominając o tym, że jest tam zdefiniowana lista poprawności danych (przećwiczyłam to na sobie).
Jeśli plik jest mało rozbudowany – można to znaleźć ręcznie, choć czasem trzeba się naszukać. Gorzej, gdy plik zawiera wiele arkuszy, w każdym jest sporo danych i wykresów. Wówczas znalezienie takich odwołań może być naprawdę bardzo pracochłonne. Na takie przypadki jest specjalny tag: dodatek Billa Manville’a:
Zainstalowałam go już ładnych kilka lat temu, zastosowałam i problem z dziwnymi łączami zniknął. Teraz dodatek nadal jest zainstalowany w moim Excelu, widać go na karcie Dodatki. I przydaje się.
Nie byłabym sobą, gdybym co jakiś czas nie przypominała, że data i czas w Excelu to liczby! Zawsze, wręcz do znudzenia powtarzam to na każdym prowadzonym przez siebie szkoleniu, zarówno z Excela jak i Accessa. Ma to uzasadnienie – wyobraźnia użytkowników w różnych sposobach zapisywania dat jest niczym nie ograniczona i często generuje różne problemy.
To, co widzimy na ekranie – ładna data, gdzie nawet miesiąc jest wpisany słownie to tylko kwestia odpowiednio sformatowanego wyświetlania na ekranie, nadal jednak jest to liczba. Jej wielkość jest wyznaczona liczbą dni jakie upłynęły od “początku świata”, a konkretnie – od 1 stycznia 1900 roku.
Można się o tym przekonać samemu – w kolumnie A wstawiamy liczby, w kolumnie B – odniesienia do komórek z tego samego wiersza kolumny A (np. B1=A1, B2=A2 itd.). Kolumnę B formatujemy jako datę – efekt jak na screenie:
A co z czasem? Godzina to część ułamkowa – czyli to co po przecinku liczby. Godz. 8:00 to 1/3, godz.12:00 to 0,5 itd. Chcąc ustalić wartość takiego ułamka musimy podzielić ilość godzin/minut/sekund czasu przez ilość godzin/minut/sekund całej doby.
Np. dla oznaczenia godziny 16:53:10 wyliczamy:
(16*60*60+53*60+10)/24*60*60=0,703588
Po sformatowaniu komórki jako czas:
Oczywiście, chcąc wpisać do komórki datę i/lub godzinę nie musimy za każdy razem przeliczać ilości dni od 1 stycznia 1900r. czy obliczać ilość sekund w ciągu doby, byłby to absurd. Jednakże wystarczy wpisać datę w formacie RRRR-MM-DD (np.2022-04-01), aby Excel zobaczył, że to data i właściwie ją zinterpretował i to niezależnie od wersji językowej i ustawień systemowych daty. Przy czasie prawidłowy format to: gg:mm:ss (np.12:03:23).
Trzymając się tym zasad, nie będzie problemu, gdyż Excel właściwie zinterpretuje typ danych.