W tym poście omówimy funkcję ZEZWALAJ (w języku angielskim LET). Pierwszy raz o tej funkcji usłyszałem od Billa Jelena (https://www.youtube.com/watch?v=FF5jZ6mWH14).

W subskrypcji Insider mamy nową funkcję do testowania – ZEZWALAJ, która pozwala niejako na nazywanie formuł wewnątrz niej samej. Zaczniemy od prostych przykładów z równaniami matematycznymi. Dane do tego zadania zostały przedstawione na rys. nr 1.

Rys. nr 1 – dane do zadania

Pierwszym argumentem funkcji jest nazwa1, czyli w naszym przykładzie x. Co istotne, nie musimy nazwy pisać w podwójnych cudzysłowach. Drugi argument funkcji to wartość_nazwy1, czyli odwołanie do komórki z wartością argumentu X lub możemy również wartość tą wpisać na stałe ręcznie. Trzeci argument funkcji to obliczenie_lub_nazwa2, czyli np. równanie które chcielibyśmy obliczyć. Istotne jest, że nasza nazwa argumentu x jest nazwą wykorzystywaną tylko wewnątrz funkcji (rys. nr 2).

Rys. nr 2 – nazwa wykorzystywana wewnątrz funkcji

W trzecim argumencie wpisujemy proste równanie  x^2 + 2*x +3. Zapis całej formuły powinien wyglądać następująco:

=ZEZWALAJ(x;A2;x^2+2*x+3)

Po zatwierdzeniu formuły otrzymamy wynik przedstawiony na rys. nr 3.

Rys. nr 3 – wynik funkcji ZEZWALAJ
Rys. nr 3 – wynik funkcji ZEZWALAJ

Jak widać na rysunku powyżej otrzymaliśmy wynik po tym, jak Excel w miejsce każdego znaku x w równaniu wstawił wartość x=5.

Dzięki zastosowaniu funkcji ZEZWALAJ możemy budować różne równania i w łatwy sposób otrzymać gotowy wynik. Zrobimy teraz kolejny przykład. W tej formule w drugim argumencie funkcji zamiast odwołania do komórki, wpiszemy stałą wartość x (5). A równanie w trzecim argumencie zapiszemy w następujący sposób: x^3+2*x^2+3*x+2. Zapis całej formuły powinien wyglądać następująco:

=ZEZWALAJ(x;5;x^3+2*x^2+3*x+2)

Po zatwierdzeniu formuły otrzymamy wynik przedstawiony na rys. nr 4.

Rys. nr 4 – wynik funkcji ZEZWALAJ

Funkcja ZEZWALAJ pozwala nam również obliczać bardziej skomplikowane zadania np. z dwoma niewiadomymi (x i y). W pierwszym argumencie funkcji podamy wartość x, której w drugim argumencie przypiszemy wartość z komórki A8. Następnie podajemy argument nazwa2, czyli argument y i kolejny argument wartość_nazwy2 równą wartości w komórce B8. Dopiero po wpisaniu tych czterech argumentów, możemy wpisać argument obliczenie. Zapis równania w argumencie obliczenie będzie wyglądał następująco: x^2+y^2+x*y. Zapis całej formuły będzie wyglądał następująco:

=ZEZWALAJ(x;A8;y;B8; x^2+y^2+x*y)

Po zatwierdzeniu formuły otrzymamy wynik przedstawiony na rys. nr 5.

Rys. nr 5 – wynik funkcji ZEZWALAJ dla dwóch wartości

Co istotne jeśli w zapisie funkcji w argumencie wartość_nazwa1 wykorzystamy odwołanie do komórki, to funkcja będzie dynamiczna. Oznacza to, że jeśli zmienimy wartość x w komórce z odwołania to automatycznie zmieni nam się wynik. Jeśli natomiast wpiszemy konkretną wartość, nic nam się da zmiana w tabeli z danymi.

Z funkcji ZEZWALAJ możemy korzystać nie tylko do obliczania równań. Pokażemy teraz jej inne możliwości. Zadanie to wykonamy na podstawie przykładowych danych z rys. nr 6.

Rys. nr 6 – przykładowe dane do zadania
Rys. nr 6 – przykładowe dane do zadania

Tę funkcję możemy wykorzystać tam, gdzie chcemy coś wyszukać, a funkcja WYSZUKAJ zwraca nam nie to, co chcemy pokazać użytkownikom. W przykładowych danych mamy tabelkę z produktami, w której oprócz cen mamy informację, że coś jest niedostępne, brak lub nie ma. Nie chcemy pokazywać klientowi tych informacji, tylko żeby wyświetlała się informacja np. – (myślnik). Gdybyśmy chcieli to rozwiązać za pomocą innej funkcji, użylibyśmy funkcji WYSZUKAJ.PIONOWO. Zapis funkcji wyglądałby następująco:

=WYSZUKAJ.PIONOWO(A2;$G$2:$H$9;2;0)

Jeśli funkcja WYSZUKAJ.PIONOWO zwróci nam tekst (nie ma, brak czy niedostępny, to chcemy aby wyświetlał się znak myślnika. Natomiast jeśli funkcja WYSZUKAJ.PIONOWO zwróci liczbę, to chcemy aby ta liczba się wyświetlała, czyli żeby został wynik funkcji.

W tym przykładzie nie zadziała funkcja JEŻELI.BŁĄD, bo wynik funkcji WYSZUKAJ.PIONOWO nie jest błędny, tylko dla nas nie odpowiedni. Musimy napisać funkcję JEŻELI, która będzie sprawdzała, czy wynik funkcji WYSZUKAJ.PIONOWO jest tekstem. Użyjemy tutaj funkcji CZY.TEKST.

Argumentem funkcji CZY.TEKST jest wartość, czyli sprawdzamy c k funkcji WYSZUKAJ.PIONOWO jest tekstem. Zapis funkcji CZY.TEKST powinien wyglądać następująco:

=CZY.TEKST(WYSZUKAJ.PIONOWO(A2;$G$2:$H$9;2;0))

Tak zapisaną funkcję CZY.TEKST wstawiamy w miejsce pierwszego argumentu funkcji JEŻELI (argument test_logiczny). Drugi argument funkcji JEŻELI to wartość_jeżeli_prawda, czyli wartość jaką chcemy otrzymać, jeśli warunek z testu logicznego jest spełniony. W tym argumencie wpisujemy znak myślnika w podwójnych cudzysłowach ("-"). Trzeci argument funkcji to wartość_jeżeli_fałsz, czyli wartość, jaką chcemy uzyskać, jezli test logiczny nie jest spełniony. W tym przypadku chcemy uzyskać wynik funkcji WYSZUKAJ.PIONOWO. Zapis całej formuły powinien wyglądać następująco:

=JEŻELI(CZY.TEKST(WYSZUKAJ.PIONOWO(A2;$G$2:$H$9;2;0));"-"; WYSZUKAJ.PIONOWO(A2;$G$2:$H$9;2;0))

Powyższą formułę zatwierdzamy i kopiujemy na wiersze poniżej. Otrzymamy wyniki funkcji JEŻELI przedstawione na rys. nr 7.

Rys. nr 7 – wyniki funkcji JEŻELI

ZEZWALAJ. Pierwszym argumentem funkcji jest nazwa1, czyli np. Cena. Drugi argument to wartość_nazwy1, czyli tutaj wklejamy wcześniej skopiowaną formułę funkcji WYSZUKAJ.PIONOWO za pomocą skrótu klawiszowego Ctrl+V. W argumencie obliczenie wpisujemy formułę funkcji JEŻELI, w której sprawdzamy, czy Cena jest tekstem za pomocą funkcji CZY.TEKST (argument funkcji JEŻELI – test_logiczny). W argumencie wartość_jeżeli_prawda chcemy otrzymać "-" (myślnik), natomiast w argumencie wartość_jeżeli_fałsz chcemy otrzymać wartość Cena. Zapis całej formuły powinien wyglądać następująco:

=ZEZWALAJ(Cena; WYSZUKAJ.PIONOWO(A2;$G$2:$H$9;2;0); JEŻELI (CZY.TEKST(Cena; "-";Cena))

Powyższą formułę zatwierdzamy i kopiujemy na wiersze poniżej. Otrzymamy wyniki, lecz w formie zaokrąglonej. Musimy zmienić formatowanie ogólne danych na formatowanie walutowe za pomocą skrótu klawiszowego Ctrl+Shift+4. Otrzymamy wyniki funkcji ZEZWALAJ przedstawione na rys. nr 8.

Rys. nr 8 – wyniki funkcji ZEZWALAJ

Teraz zajmiemy się ostatnim przykładem, który przygotowałem, na wykorzystanie funkcji ZEZWALAJ. Przykładowe dane do tego przykładu zostały przedstawione na rys. nr 9.

Rys. nr 9 – przykładowe dane do zadania

W tych danych mamy wykorzystaną funkcję tablicową FILTRUJ, która wyciąga przefiltrowane dane po sprzedawcy. Wykorzystujemy tutaj również funkcję CZY.PUSTA. W tym zadaniu chodzi o to, aby puste komórki zastąpić znakiem myślnik. Sama funkcja FILTRUJ w miejsce pustych komórek zwraca wartość 0 (zero). A my nie chcemy pokazywać wartości zero, chcemy ją zastąpić.

W tym celu wykonujemy analogiczny test logiczny jak w przykładzie powyżej (za pomocą funkcji JEŻELI). W pierwszym argumencie funkcji zapisujemy test_logiczny, sprawdzający czy funkcja zwróci nam wartość 0. Jeśli warunek jest spełniony, chcemy otrzymać znak myślnik (argument wartość_jeżeli_prawda). Jeśli warunek nie jest spełniony chcemy otrzymać wyniki funkcji FILTRUJ (argument wartość_jeżeli_fałsz). Zapis formuły powinien wyglądać następująco:

=JEŻELI(CZY.PUSTA(FILTRUJ(B1:C25;A1:A25=F2));"-"; FILTRUJ(B1:C25;A1:A25=F2)) Po zatwierdzeniu formuły otrzymamy wyniki przedstawione na rys.

Rys. nr 10 – wyniki funkcji JEŻELI z użyciem funkcji FILTRUJ

Analogicznie możemy wykonać to zadanie za pomocą funkcji ZEZWALAJ. W niej zagnieździmy funkcję FILTRUJ, w której możemy nazwać wynik funkcji – Filtr. Dzięki temu w argumencie obliczenie mamy uproszczoną formułę i będzie ona bardziej zrozumiała dla osób, które będą korzystały z naszych obliczeń. Zapis formuły powinien wyglądać następująco:

=ZEZWALAJ(Filtr; FILTRUJ(B1:C25;A1:A25=F2);JEŻELI(CZY.PUSTA(Filtr);"-";Filtr)

Po zatwierdzeniu formuły otrzymamy wyniki przedstawione na rys. nr 11.

Rys. nr 11 – wyniki funkcji ZEZWALAJ

Prawdziwa potęga funkcji ZEZWALAJ pojawia się przy bardzo skomplikowanych formułach (jak to pokazywał Bill Jelen). Dane do tego zadania zostały przedstawione na rys. nr 12.

Rys. nr 12 – przykładowe dane

Mamy tutaj do czynienia z bardzo skomplikowaną formułą, wykorzystującą wiele funkcji (rys. nr 13).

Rys. nr 13 – formuła z użyciem funkcji ZEZWALAJ

Pracując nad tą skomplikowaną formułą, skróciłem odwołanie do zakresu nazywając go tb. Zapis formuły bez wykorzystania funkcji ZEZWALAJ jest dużo dłuższy co widać na rys. nr 14.

Rys. nr 14 – zapis formuły bez użycia funkcji ZEZWALAJ.

Zapis ten ma długość 4 linijek i wykorzystuje wiele różnych funkcji. Dzięki użyciu funkcji ZEZWALAJ udało się go skrócić do trzech niepełnych linijek. Zrobiłem małe podsumowanie. Mianowicie zapis funkcji JEŻELI jest wykorzystany 6 razy, a zapis funkcji WIERSZ, która zwraca numer wiersza wykorzystana została 2 razy (rys. nr 15).

Rys. nr 15 – ilość razów wykorzystania fragmentu formuły

Podsumowując, wykorzystywanie funkcji ZEZWALAJ pozwala w znacznym stopniu skracać skomplikowane formuły.


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

Książka Mistrz Excela reklama