W tym poście zajmiemy się czasem wykonywania procedur i optymalizacją formuł. Zagadnienie to omówimy na przykładowych danych z rysunku nr 1.
Pod poradą nr 348, która dotyczyła znalezienia pierwszego wiersza spełniającego warunek, odbyłem dyskusję z Billem Szysz na temat formuł i czasu ich wykonywania. Funkcja, z której ja często korzystam (LICZ.JEŻELI) jest pamięciożerna, czyli obciąża nam procesor. Podobnie działa funkcja PODAJ.POZYCJĘ , która dla większych zakresów danych działa szybciej.
W filmie Excel sztuczka nr 3 ( https://www.youtube.com/watch?v=CcT51qv8_IA ) pokazałem jak wykorzystać kod VBA, można go podpiąć i sprawić, aby wykonywał obliczenia – sprawdzał jak długo dane formuły się liczą.
Zaznaczamy formuły, których chcemy policzyć czas trwania przy użyciu skrótu klawiszowego Ctrl+A i klikam w makro (rys. nr 2).
Pojawia nam się wynik obliczeń (rys. nr 3), czyli obliczenia zostały wykonane w czasie 1,82269 s. Trzeba użyć tego makra kilka razy, aby sprawdzić średnia z obliczeń, ponieważ czas obliczeń zależy od tego jak jest obciążony procesor (np. ile mamy uruchomionych programów w danym momencie)
Według moich obliczeń formuła Billa Szysz przelicza się dłużej (rys. nr 4), bo prawie 5 sekund. Możliwe, że Formuła Billa Szysz jest szybsza przy jeszcze większej ilości danych.
Bill Szysz zaproponował inne podejście do obliczeń. My tak naprawdę tylko raz musimy znaleźć ten pierwszy wiersz spełniający warunek. Kiedy już mamy numer wiersza, to możemy cała skomplikowaną formułę zastąpić prostą funkcją WIERSZ. W tej funkcji nie podajemy żadnych argumentów tylko przyrównujemy ją do komórki z wynikiem którego szukamy. Gdy zaznaczymy kolumny z formuła funkcji WIERSZ otrzymamy wynik 0,005 sekundy, czyli funkcja zwróciła wynik w tak krótkim czasie (rys. nr 5).
Podsumowując, nie musieliśmy formuły obliczać 10 tysięcy razy, wystarczyło policzyć raz, a potem za pomocą funkcji WIERSZ porównać ją z tym pojedynczym wynikiem. Diametralna zmiana długości czasu wynika, ze zmiany podejścia do obliczeń. Złota zasada Excela polega na tym, że jeśli potrzebujemy coś przeliczyć wiele razy ale zawsze jest to ten sam wynik (w naszej sytuacji ten sam wiersz), to zróbmy to w jednej komórce, a następnie w innej formule skorzystajmy z tego wyniku.
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