Funkcja LET jest kolejną nową funkcją, która trafiła już produkcyjnie do mojego Excela 365. Przydaje się w przypadku, kiedy formuła wielokrotnie korzysta z tego samego kawałka kodu. Powtarzalne fragmenty formuły można przypisać do zmiennych i korzystać z tych zmiennych w ostatecznym obliczeniu wyniku. Zmienne te są lokalne w funkcji LET, to znaczy zakres ich widoczności ogranicza się tylko do wnętrza funkcji LET.
Składnia funkcji LET
=LET(Nazwa1;Wartość_nazwy1;[Nazwa2;Wartość_nazwy2];[…]; Obliczenie)
Funkcja LET ma nieparzystą liczbę argumentów. Najpierw parami podajemy:
- wymyśloną przez nas nazwę zmiennej,
- przypisaną do zmiennej wartość lub formułę.
Maksymalnie można zdefiniować 126 zmiennych w jednej funkcji.
Ostatnim argumentem funkcji LET jest formuła do obliczenia.
Korzyści stosowania funkcji LET
- Zwiększona szybkość działania formuł – Funkcja LET wartość zmiennej oblicza tylko raz. Bez tej funkcji to samo wyrażenie było obliczane wiele razy.
- Łatwe czytanie i edytowanie – W tej funkcji od razu widać co jest zapamiętane pod daną nazwą (zmienną). Nie trzeba też kopiować i wklejać tego samego wyrażenia w formule. Dzięki temu formuła jest krótsza i prostsza.
Jeśli Twoja formuła jest mocno złożona, polecam użyć LET i rozbić dodatkowo formułę na wiele wierszy – ręcznie (Alt+Enter) lub automatycznie poprzez stronę Excel Formula Beautifier.
Przykład 1: Oblicz wielomian
Policz wartość wielomianu x4 + 3x2 – 2x + 9 dla x = 5.
Rozwiązanie:
=LET(x;5;x^4+3*x^2-2*x+9)
Przykład 2: Oblicz równanie
Oblicz pierwiastek z a^2 + b^2, gdzie a = 7 i b = 8.
Rozwiązanie:
=LET(a;7;b;8;PIERWIASTEK(a^2+b^2))
Przykład 3: Użyj FILTRUJ bez 0
Funkcja LET może też operować na tablicach. Przefiltruj poniższą tabelę wyświetlając zamówienia o wybranym priorytecie.
Za pomocą funkcji FILTRUJ można to zrobić tak:
Formuła w G5:
=FILTRUJ(A2:D21;B2:B21=H2)
Minus tego rozwiązania jest taki, że zamiast pustych komórek pojawiły się zera.
Lepsze rozwiązanie z użyciem funkcji LET:
Funkcja w komórce L5:
=LET(wynik;FILTRUJ(A2:D21;B2:B21=M2);JEŻELI(wynik=0;"";wynik))
Przykład 4: Sprawdź, czy dane zamówienie jest pilne, czyli jego priorytet jest krytyczny lub nieokreślony
Rozwiązanie bez użycia funkcji LET (w komórce G2) z funkcją Excela 365 WARUNKI:
=WARUNKI(
WYSZUKAJ.PIONOWO(F2;$A$1:$C$9427;3;0)="krytyczny";"PILNE";
WYSZUKAJ.PIONOWO(F2;$A$1:$C$9427;3;0)="nieokreślony";"PILNE";
PRAWDA;"nie"
)
Można tą formułę skrócić używając funkcji LET. Zauważmy, że funkcja WYSZUKAJ.PIONOWO powtarza się dwa razy. Przypiszemy jej więc nazwę p:
=LET(
p;WYSZUKAJ.PIONOWO(F2;$A$1:$C$9427;3;0);
WARUNKI(p="krytyczny";"PILNE";p="nieokreślony";"PILNE";PRAWDA;"nie")
)
Przykład 5: Usuń wszystkie cyfry z tekstu wpisanego do komórki
Wyjściowa formuła w komórce B2:
=POŁĄCZ.TEKSTY("";PRAWDA;JEŻELI(CZY.BŁ(FRAGMENT.TEKSTU(A2;WIERSZ(ADR.POŚR("1:"&DŁ(A2)));1)+0);FRAGMENT.TEKSTU(A2;WIERSZ(ADR.POŚR("1:"&DŁ(A2)));1);""))
Działa ona w Excelu 365 jako formuła tablicowa (we wcześniejszych wersjach zatwierdzamy ją klawiszami Ctrl+Shift+Enter). W Excelu 365 możemy skrócić tę formułę, używając nowej funkcji SEKWENCJA. Formułę tą wpiszmy do komórki C2:
=POŁĄCZ.TEKSTY("";PRAWDA;JEŻELI(CZY.BŁ(FRAGMENT.TEKSTU(A2;SEKWENCJA(DŁ(A2));1)+0);FRAGMENT.TEKSTU(A2;SEKWENCJA(DŁ(A2));1);""))
I teraz wykorzystamy naszą funkcję LET. Powtarzający się fragment formuły „SEKWENCJA(DŁ(A2))” nazwiemy słowem „nazwa”. Formułę wpiszemy do D2:
=LET(nazwa;SEKWENCJA(DŁ(A2));POŁĄCZ.TEKSTY("";PRAWDA;JEŻELI(CZY.BŁ(FRAGMENT.TEKSTU(A2;nazwa;1)+0);FRAGMENT.TEKSTU(A2;nazwa;1);"")))
Ale to nie koniec! Tak jak inne funkcje, funkcję LET można zagnieżdżać. Argumenty z zewnętrznego LET mogą być używane wewnątrz LET niższego poziomu. Zauważmy, że funkcja „FRAGMENT.TEKSTU(A2;nazwa;1)” pojawia się tu dwukrotnie. Ten kawałek formuły nazwiemy „fr” i otrzymujemy (w komórce E2):
=LET(nazwa;SEKWENCJA(DŁ(A2));LET(fr;FRAGMENT.TEKSTU(A2;nazwa;1);POŁĄCZ.TEKSTY("";PRAWDA;JEŻELI(CZY.BŁ(fr+0);fr;""))))
Tworząc tą formułę możemy zauważyć, że nazwy zdefiniowane w funkcji LET pojawiają się na liście rozwijanej obok funkcji i można je szybciej wprowadzić za pomocą myszy lub klawisza TAB:
Pobierz plik Excel z przykładami i sprawdź działanie funkcji LET w Excelu 365
Tu możesz pobrać plik Excel z przykładami funkcji LET.
Podoba Ci się formuła LET?
Jeśli znajdziesz jakieś praktyczne zastosowanie funkcji LET, pochwal się nim.
Dopiero co zmieniłem pracę i teraz na służbowym office mam dostęp do tych wszystkich nowych konfitur typu LET, FILTRUJ itp (a nie mogę się doczekać LAMBDY) i to co widzę na pierwszy rzut oka, to dzięki LET nasze długaśne formuły będą dużo bardziej czytelne, gdy wrócimy do nich po jakimś czasie. Bo nie oszukujmy się, czasami powrót do bardziej skomplikowanych rzeczy – nawet napisanych przez siebie – skutkuje początkowo oczopląsem.
Hej Tomek, rzeczywiście trzeba być na bieżąco z tymi formułami. LAMBDA u mnie też jeszcze niedostępna, ale już nie mogę się doczekać 🙂
Przeniosłem się ze starego excela na 365 i powiem Wam, że jest wow, a te wszystkie nowości trzeba testować, a ta akurat jest całkiem przydatna.
Dokładnie!