Pisałeś złożone formuły w Excelu, ale czegoś ci brakowało? Teraz rozwiniesz skrzydła
Każdy, kto napisał bardziej złożoną formułę w Excelu, przeciągnął ją na kilka komórek lub uzależnił od niej wynik innej formuły, może sobie pogratulować. To pierwszy krok w stronę programowania.
Tak naprawdę przez wiele lat zostanie tzw. power userem miało swoje dalsze kroki. Po złożonych formułach w Excelu można było pisać np. skrypty automatyzujące pracę lub nawet tworzyć całe aplikacje oparte na narzędziach biurowych takich jak Excel.
Excel sam w sobie posiada możliwość pisania własnych skryptów - nie jest to jednak oczywiste. Otwórzcie jednak Excela, stwórzcie pusty arkusz i wciśnijcie Alt-F11. Zobaczycie zadziwiająco archaiczny, od wielu lat nieaktualizowany interfejs, przypominający Visual Studio sprzed 15 lat. To właśnie jest środowisko, które w tej chwili umożliwia pisanie własnych funkcji, które rozszerzają możliwości Excela. Własne funkcje możemy pisać w języku VBA - Visual Basic for Applications.
Do czego możemy użyć pisania funkcji? W skrócie - do zapisania obliczeń, które są zbyt złożone dla formuł i które chcemy wywoływać z wielu miejsc. Wyobraźmy sobie np. kod sprawdzający PESEL. Teoretycznie możemy zapisać go jako formułę, ale jeśli chcemy użyć go w innym miejscu, musimy go przekopiować. Podobnie musimy pamiętać o jego zmianie, jeśli znajdziemy i poprawimy w nim błąd. Definicja funkcji jest w jednym miejscu i jest wywoływana tam, gdzie jest potrzebna - to podstawowa różnica pomiędzy funkcją i formułą.
Excel posiada szereg funkcji wbudowanych. Zapewne każdy używający Excela użył ich wielokrotnie: są to słowa kluczowe typu DATA(), ZŁĄCZ.TEKST() czy SUMA(). Funkcjami są też wyrażenia matematyczne, którym przekazujemy parametry, np. SINUS().
Funkcje można definiować również w języku JavaScript, ale mam wrażenie, że jest to jeszcze bardziej skomplikowane niż pisanie ich w VBA.
Czytaj też:
- Blokowanie komórek w Excelu - jak je zrobić i do czego służy?
- Zdjęcie na PDF - jak zmienić? Oto prosta instrukcja
- PDF do Word - jak przekonwertować? Dwa proste sposoby
- Najlepsze darmowe programy do edycji PDF. Z nimi przerobisz każdy plik
- Edycja PDF online. Jaki darmowy program wybrać?
- Komputer nie widzi pendrive'a. Jak to naprawić i odzyskać dane?
- Podświetlenie RGB w komputerze - jak podłączyć i jak sterować?
- Jak wyciszyć komputer i obudowę? Oto co trzeba zrobić
A gdyby tak można było zapisywać formuły jako funkcje?
Każdy średnio zaawansowany użytkownik Excela potrafi zrobić cuda w formułach. Gdy rośnie liczba przetwarzanych danych, formuły stają się błogosławieństwem, ale i przekleństwem. Szczególnie problematyczne staje się poprawianie ich w każdej komórce, w której jest skopiowana lub „przeciągnięta”.
A gdyby tak można było zdefiniować formułę raz, nie pisząc w żadnym języku programowania, i wywoływać ją tam, gdzie potrzebujemy? Wyobraźmy sobie choćby najprostszą formułę, obliczającą podatek o podanej stawce.
Jak ogłosił Brian Jones na oficjalnym blogu poświęconym Excelowi, użytkownicy pakietu biurowego Microsoft Office otrzymają taką możliwość. Funkcja została nazwana Lambda - co jest pojęciem znanym programistom i oznacza właśnie między innymi funkcje tworzone ad hoc z wyrażeń.
Funkcje Excel Lambda będą musiały być zdefiniowane w nazwanej komórce (tzn. takiej której zmienimy nazwę z domyślnej opartej na adresie typu B1). Będą mogły również wywoływać się wzajemnie, a nawet… wywoływać same siebie, umożliwiając programowanie rekurencji. To bardzo dobra wiadomość dla wszystkich, którym tych możliwości brakowało w Excelu.
Nowa funkcja jest dostępna w wersji Beta (trzeba być użytkownikiem programu Insider), jednak po zakończeniu testów zostanie udostępniona wszystkim.