W dzisiejszym wpisie nauczymy się czym są funkcje nietrwałe,
ulotne w Excelu. Bill Szysz często wypowiada się, żeby nie korzystać z tych
funkcji. Są to przede wszystkim takie funkcji jak: PRZESUNIĘCIE, TERAZ, DZIŚ,
LOS, LOS.ZAKR, ADD.POŚR, KOMÓRKA – w zależności od argumentów, INFO,
SUMA.JEŻELI przy nierównych zakresach. Wadą tych funkcji jest to, że bardzo
często się przeliczają i a to powoduje duże obciążenie procesora. Temat ten omówimy
na podstawie przykładowych danych z rysunku nr 1.
rys. nr 1 — Przykładowe dane
Ogólnie jeśli parametry funkcji się nie zmieniają i wartości
w komórkach, do których się odwołuje pozostają bez zmian, to taka funkcja się
nie przelicza ponownie. Natomiast funkcje wymienione powyżej przeliczają się za
każdym razem, kiedy naciśniemy klawisz F9. W tym wpisie opieram się na
informacjach ze strony internetowej https://www.decisionmodels.com/calcsecretsi.htm Znajdziemy
na tej stronie plik do pobrania (volatileFuncs.zip), który pozwoli ci
przetestować tą ulotność wyżej wymienionych funkcji.
Funkcja INDEKS nie będzie się przeliczać, jeśli jej argumenty
się nie zmienią. Jest funkcją stałą. A reszta funkcji z naszych przykładowych funkcji
to funkcje nietrwałe. Użycie funkcji nietrwałej i jej ponowne przeliczenie
spowoduje zmiany w całym arkuszu, jeśli dalej będziemy mieć odwołania do
komórki z wynikiem z tej funkcji.
Przykładowo w komórce C12 mamy wynik z funkcji nietrwałej. W
komórce niżej mamy formułę VBA, która odwołuje się do wyniku z funkcji
nietrwałej (rys. nr 2).
rys. nr 2 — Formuła VBA zliczająca ilość przeliczeń
Aby zobaczyć jak działa funkcji VBA z komórki C13 musimy użyć
skrótu klawiszowego Alt+F11. W danych mamy jedną modułową zmienną i dodajemy do
niej liczbę 1 za każdym razem kiedy uruchomimy komputer (rys. nr 3).
rys. nr 3 — Okno formuły VBA
Zwracamy wynik z dodatkowymi obliczeniami, aby na pewno te
wartości się nie zmieniły. Użyto tutaj operacji przyrównania (kiedy w VBA
przyrównuje się dwie takie same wartości to zwraca wartość ‑1), więc aby
otrzymać wynik bez zmian trzeba dodać 1. Na końcu mamy linijkę, która (skrót
klawiszowy Ctrl+G) w oknie Immediate wypisuje informacje, w której komórce była
uruchamiana ta funkcja. Można uruchomić okno Immediate za pomocą skrótu
klawiszowego Ctrl+G lub z karty View wybrać opcję Immediate Window (rys. nr 4).
rys. nr 4 — Immediate window
W naszych przykładowych danych kolorem żółtym oznaczono
funkcje nietrwałe. Kiedy naciśniemy klawisz F9, aby ponownie przeliczyć arkusz
to wszystkie funkcje oznaczone kolorem żółtym zmienią wynik.
Podsumowując funkcje nietrwałe przeliczają się za każdym
razem kiedy coś wpiszemy, np. wpiszemy w dowolną komórkę słowo Tekst i
zatwierdzimy Enterem, to funkcje nietrwałe się przeliczą. Zrobią to przy każdej
zmianie danych, nawet takich do których one nie mają odwołania. Każde nasze
działanie w Excelu spowoduje ich ponowne przeliczenie.
Ciekawostką jest, że funkcja SUMA.JEŻELI również może być
nietrwała ale tylko w sytuacji kiedy zakresy, do których się odwołujemy nie są
ze sobą tożsame – nie są tej samej długości (rys. nr 5).
rys. nr 5 — Różne zakresy dla funkcji LICZ.JEŻELI
W naszym przykładzie argument Zakres ma pięć komórek, a drugi
argument po którym sumujemy ma tylko jedną komórkę.
Dodatkowo pamiętajmy, że każda formuła, która odwołuje się do
funkcji ulotnej, będzie przeliczana, ponieważ komórka do której się odwołuje
uległa zmianie.
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.
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.
W poradzie nr 316 zajmiemy się tematem aktualnej daty i czasu. Będziemy w tym zagadnieniu używać funkcji DZIŚ i TERAZ.
Jeśli chcemy, aby Excel wstawił nam w komórkę aktualną datę musimy użyć funkcji DZIŚ. (Rys. nr 1)
Rys. nr 1 — Funkcja DZIŚ
Cechą charakterystyczną dla funkcji DZIŚ i TERAZ jest to, że są to funkcje ulotne, czyli przeliczają się za każdym razem jak zmienimy coś w arkuszu, np. jak wpiszemy wartość w komórkę.
Pokażemy to dokładnie na funkcji TERAZ. (Rys. nr 2)
Rys. nr 2 — Funkcja TERAZ
Używając funkcji TERAZ otrzymamy dokładną datę, w zależności od formatowania nawet z dokładnością do jednej sekundy. (Rys. nr 3)
Rys. nr 3 — Efekt wykorzystania funkcji TERAZ
Aby wymusić ponowne przeliczenie arkusza możemy wejść w tryb edycji komórki (nacisnąć klawisz F2), a następnie zatwierdzić wartość klawiszem Enter. Wtedy funkcja TERAZ ponownie się przeliczy, zwracając aktualną datę i czas. (Rys. nr 4)
Rys. nr 4 — Przeliczenie aktualnego czasu
Analogicznie zadziała funkcja DZIŚ. Jeśli otworzymy arkusz jutro data zmieni nam się na aktualną.
Jak to często bywa w Excelu możemy ułatwić sobie pracę używając skrótów klawiszowych. Skrót Ctrl + ; zadziała wstawiając nam aktualną datę, ale ta data się nie zaktualizuje, kiedy otworzymy plik innego dnia. Dzieję się tak dlatego, że ten skrót nie wstawia nam funkcji a konkretną liczbę. (Rys. nr 5 i 6)
Rys. nr 5 — Skrót klawiszowy Ctrl + ;
Rys. nr 6 — Efekt działania skrótu Ctrl + ;
Podobnie w sytuacji, kiedy chcemy wstawić aktualną godzinę. Użyjemy do tego celu skrótu klawiszowego Ctrl + Shift + ;.
Rys. nr 7 — Skrót klawiszowy Ctrl+Shift+;
Ten skrót zadziała analogicznie do poprzedniego, czyli aktualna godzina nie ulegnie zmianie, ponieważ została w komórkę wstawiona wartość godziny, a nie funkcja. Dodatkowo chcemy, aby nasza godzina wyświetlała również sekundy, więc przy użyciu skrótu Ctrl + 1 otwieramy okno formatowania komórek.
W celu uzyskania aktualnej godziny, która będzie się aktualizować, czyli zmienić zgodnie z mijającym czasem, możemy od funkcji TERAZ odjąć funkcję DZIŚ (Rys. nr 8):
=C2-B2
Rys. nr 8 — Aktualna godzina
Wynikiem w naszym przypadku jest liczba, aby otrzymać wynik w odpowiedniej formie, musimy użyć formatowania. Możemy sobie skopiować formatowanie z komórki obok. (Rys. nr 9)
Rys. nr 9 — Kopiowanie formatowania
Otrzymamy wtedy wynik (Rys. nr 10)
Rys. nr 10 — Wynik kopiowania formatowania
Kolejnym krokiem jest zmiana formatu liczb na karcie Narzędzia Główne z listy rozwijanej. Wybieramy format Czas. (Rys. nr 11)
Rys. nr 11 — Zmiana formatowania
Jeśli chcemy wyznaczyć teraz za pomocą skrótów klawiszowych, to używamy: aby wstawić datę – Ctrl + ; , następnie Spacja i aby wstawić godzinę — Ctrl + Shift + ;.
Ważne jest, że komórka ta przechowuje wartość, czyli jest stała, natomiast komórka, w której użyliśmy funkcji będzie się aktualizować. (Rys. nr 12)
Rys. nr 12 — Różnica między funkcją TERAZ a skrótem Ctrl+Shift+;
Podsumowując, jeśli chcesz aby Excel zapamiętał konkretny czas (np. że tego dnia o konkretnej godzinie coś miało miejsce) należy użyć skrótów klawiszowych. Natomiast gdy chcesz aby data i czas zmieniały się na aktualny powinieneś użyć funkcji DZIŚ i TERAZ.
Na koniec pokażemy ciekawostkę, skrót klawiszowy umożliwiający wstawienie wartości liczbowej z powyższego wiersza, czyli Ctrl + ’ (pojedynczy cudzysłów). Wartość ta jest wstawiana w formatowaniu ogólnym. (Rys. nr 13)
Rys. nr 13 — skrót do wstawiania wartości z komórki powyżej
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.
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.