Hivatkozott Excel verzio:

Az Excelnek 500+ beépített munkalapfüggvénye van. Ezeket úgy használjuk, hogy a pontos működésüket nem kell ismernünk, csak a függvények nevére és paraméterezésére van szükség:
=FÜGGVÉNYNÉV(ARG1;ARG2;….)
Az összes függvényt talán senki sem ismeri fejből, de a rendszeres Excel felhasználók ismernek kb. 40-50 függvényt. Ezek egymásba ágyazásával igen komplex kifejezések is születhetnek. Most azt a példát fogjuk használni, amikor egy szövegben rejtőző számot szeretnénk kibontani egy cellából.

Az első temékkód a B8-as cellában van. A szükséges formula, ami a benne szereplő 4521-es számot kibányássza:
=SZÖVEGÖSSZEFŰZÉS("";IGAZ;HAHIBA(KÖZÉP(B8;SORSZÁMLISTA(HOSSZ(B8));1)*1;""))
=TEXTJOIN("";TRUE;IFERROR(MID(B8;SEQUENCE(LEN(B8));1)*1;""))
Most nem kezdek bele a képlet működésének magyarázatába, majd egy külön postot szánok neki, de az látszik rajta, hogy egy közepesen komplex képlet. Ezt adta nekünk például a ChatGPT vagy bárki/bármi más.
Mi lenne, ha ehelyett lenne nekünk egy speciális, csakis erre a feladatra való függvényünk, amit így használnánk:
=számkibontás(B8)
Ha megnézzük a képletet, akkor azt látjuk, hogy csak egy változó input van benne, az a szöveg, amiből ki kell nyerni a számot. A konkrét példában ez a B8. Most a LAMBDA függvény segítségével készítünk egy fedőfüggvényt a fenti összetett kifejezéshez, aminek egy bemenő paramétere lesz:

A saját, felhasználói függvény definíciója
=LAMBDA(
szoveg;
SZÖVEGÖSSZEFŰZÉS(
"";
IGAZ;
HAHIBA(KÖZÉP(szoveg;SORSZÁMLISTA(HOSSZ(szoveg));1)*1;"")
)
)
Csupán annyi történt, hogy
- az eredeti kifejezést körbeöleltük egy LAMBDA függvénnyel. A LAMBDA első argumentuma a bemenő paraméter, aminek a szoveg nevet adjuk. Ezt a nevet mi döntjük el.
- Majd ezt a nevet behelyettesítettük a második argumentumban lévő képletében szereplő cellacím (B8) helyére.
- A formulát ALT+ENTER segítségével sorokra bontjuk, hogy jobban lehessen olvasni és karbantartani.
Ha lezárjuk a LAMBDA formulát, akkor egy hibaüzenetet kapunk
#SZÁMÍTÁS! vagy angolul #CALC!
Ez amiatt van, mert a szoveg nevű argumenumnak nem adtunk értéket.
LAMBDA kipróbálása – tesztelés
A LAMBDA függvény után zárójelben meg lehet adni a teszteléshez szükséges argumentumok konkrét értékeit. Általánosságban így:
=LAMBDA(Arg1;Arg2;…;Kalkuláció)(12;25)
A 12 bekerül az Arg1, a 25 bekerül az Arg2 helyére, így már le tud futni a LAMBDA és visszaadja az eredményt ehhez a két argumentumhoz. A zárójelek között cellcímek is szerepelhetnek természetesen.
A mi konkrét példánkban
=LAMBDA(szoveg; SZÖVEGÖSSZEFŰZÉS( ""; IGAZ; HAHIBA(KÖZÉP(szoveg;SORSZÁMLISTA(HOSSZ(szoveg));1)*1;"") ) )(B8)
Saját függvény elnevezése a névkezelőben
Mi ezt nem csak teszt üzemmódban, hanem saját névvel, a munkafüzet bármely pontján szeretnénk használni. Ezt úgy tudjuk megtenni, hogy ezt a LAMBDA kifejezést elnevezzük.
- Kijelöljük a LAMBDA függvényt (a végén lévő teszt paraméterek nélkül)
- Képletek -> Névkezelő -> Új…

Saját függvény használata
Egyenlőségjel után elkezdjük gépelni a nevét, majd TAB-al vagy dupla klikkel kiválasztjuk.


Van videó is az egészről
További példák a következő részben

Vélemény, hozzászólás?
Hozzászólás küldéséhez be kell jelentkezni.