Az Excel LAMBDA függvény használata -

Tartalomjegyzék

Összegzés

Az Excel LAMBDA funkció lehetővé teszi egyedi funkciók létrehozását, amelyek újból felhasználhatók a munkafüzetben, VBA vagy makrók nélkül.

Célja

Hozzon létre egyéni függvényt

Visszatérési érték

A képlet szerint

Szintaxis

= LAMBDA (paraméter,…, számítás)

Érvek

  • paraméter - A függvény bemeneti értéke.
  • számítás - A függvény eredményeként végrehajtandó számítás. Az utolsó érvnek kell lennie.

Változat

Excel 365

Használati megjegyzések

A számítógépes programozásban a LAMBDA egy névtelen funkcióra vagy kifejezésre utal. Az anonim függvény név nélkül definiált függvény. Az Excelben a LAMBDA függvény lehetővé teszi az adott képletfunkciók meghatározását és beillesztését, hasonlóan egy Excel-függvényhez. Meghatározása után egy LAMBDA függvény megnevezhető és újból felhasználható a munkafüzet másutt. Más szavakkal, a LAMBDA függvény egyéni függvények létrehozására szolgál.

Az egyedi LAMBDA funkció egyik legfontosabb előnye, hogy a képletben szereplő logika csak egy helyen létezik. Ez azt jelenti, hogy a problémák kijavításakor vagy a funkcionalitás frissítésekor csak egy kódot kell frissíteni, és a módosítások automatikusan továbbterjednek a munkafüzet LAMBDA funkciójának minden példányára. A LAMBDA funkcióhoz nincs szükség VBA-ra vagy makrókra.

1. példa | 2. példa | 3. példa

LAMBDA függvény létrehozása

A LAMBDA függvényeket általában a munkalap képletsorában hozzák létre és hibakeresik, majd a névkezelőbe költöztetve hozzárendelnek egy olyan nevet, amely bárhol használható a munkafüzetben.

A LAMBDA függvényen alapuló egyéni képlet létrehozásának és használatának négy alapvető lépése van:

  1. Ellenőrizze a használni kívánt logikát egy általános képlettel
  2. Hozzon létre és teszteljen a képlet általános (névtelen) LAMBDA verzióját
  3. Nevezze el és határozza meg a LAMBDA képletet a névkezelővel
  4. Tesztelje az új egyéni funkciót a megadott név használatával

Az alábbi példák részletesebben tárgyalják ezeket a lépéseket.

1. példa

A LAMBDA működésének bemutatásához kezdjük egy nagyon egyszerű képlettel:

=x*y // multiple x and y

Az Excelben ez a képlet tipikusan ilyen cellahivatkozásokat használ:

=B5*C5 // with cell references

Amint láthatja, a képlet jól működik, ezért készen állunk egy általános LAMBDA képlet (név nélküli változat) létrehozására. Az első szempont, amelyet figyelembe kell venni, ha a képlet bemeneteket (paramétereket) igényel. Ebben az esetben a válasz "igen" - a képlethez x és y értékre van szükség. Miután ez létrejött, elkezdjük a LAMBDA függvényt, és hozzáadjuk a szükséges paramétereket a felhasználói bemenethez:

=LAMBDA(x,y // begin with input parameters

Ezután hozzá kell adnunk a tényleges számítást, x * y:

=LAMBDA(x,y,x*y)

Ha ezen a ponton adja meg a képletet, kap egy #CALC-ot! hiba. Ez azért történik, mert a képletnek nincsenek beviteli értékei, amelyekkel dolgozhatna, mivel már nincsenek cellahivatkozások. A képlet teszteléséhez egy speciális szintaxist kell használnunk:

=LAMBDA(x,y,x*y)(B5,C5) // testing syntax

Ez a szintaxis, ahol a paramétereket egy LAMBDA függvény végén, külön zárójelben adják meg, egyedülálló a LAMBDA függvényekre. Ez lehetővé teszi a képlet tesztelését közvetlenül a munkalapon, még mielőtt a LAMBDA-t megnevezik. Az alábbi képernyőn láthatja, hogy az F5 általános LAMBDA függvénye pontosan ugyanazt az eredményt adja, mint az E5 eredeti képlete:

Most már készen állunk a LAMBDA függvény megnevezésére a Névkezelővel. Először válassza ki a képletet, * a tesztparamétereket nem tartalmazza a végén. Ezután nyissa meg a Névkezelőt a Control + F3 parancsikon segítségével, majd kattintson az Új gombra.

Az Új név párbeszédpanelen írja be az "XBYY" nevet, hagyja a hatókört beállítva a munkafüzetre, és illessze be a másolt képletet a "Hivatkozások" beviteli területre.

Győződjön meg arról, hogy a képlet egyenlőségjellel (=) kezdődik. Most, hogy a LAMBDA képletnek van neve, a munkafüzetben használható, mint bármely más függvény. Az alábbi képernyőn a G5 képletének lemásolása:

Az új egyéni függvény ugyanazt az eredményt adja vissza, mint a másik két képlet.

2. példa

Ebben a példában a gömb térfogatának kiszámításához képletet alakítunk át egyedi LAMBDA függvénnyé. A gömb térfogatának kiszámításához az általános Excel képlet a következő:

=4/3*PI()*A1^3 // volume of sphere

ahol A1 a sugarat jelenti. Az alábbi képernyőn ez a képlet látható működés közben:

Vegye figyelembe, hogy ehhez a képlethez csak egy bemenetre (sugárra) van szükség a térfogat kiszámításához, ezért a LAMBDA függvényünkhöz csak egy paraméterre (r) lesz szükség, amely első argumentumként jelenik meg. Itt van a képlet LAMBDA-vá alakítva:

=LAMBDA(r,4/3*PI()*r^3) // generic lambda

Visszatérve a munkalapra, az eredeti képletet lecseréltük az általános LAMBDA verzióra. Vegye figyelembe, hogy a tesztelési szintaxist használjuk, amely lehetővé teszi számunkra, hogy a B5-et csatlakoztassuk a sugárhoz:

Az általános LAMBDA képlet eredményei pontosan megegyeznek az eredeti képlettel, ezért a következő lépés a LAMBDA képlet meghatározása és elnevezése a Névkezelővel, a fentiek szerint. A LAMBDA függvényhez használt név bármilyen érvényes Excel név lehet. Ebben az esetben a képletet "SphereVolume" -nak nevezzük el.

Visszatérve a munkalapra, az általános (névtelen) LAMBDA képletet lecseréltük a megnevezett LAMBDA verzióra, és B5 értéket írtunk r-re. Figyelje meg, hogy az egyéni SphereVolume függvény által adott eredmények pontosan megegyeznek a korábbi eredményekkel.

3. példa

Ebben a példában létrehozunk egy LAMBDA függvényt a szavak számlálásához. Az Excelnek nincs funkciója erre a célra, de a LEN és SUBSTITUTE függvényeken alapuló egyéni képlettel megszámolhatja a szavakat egy cellával:

=LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1

Olvassa el a részletes magyarázatot itt. Itt található a képlet egy munkalapon:

Figyelje meg, hogy helytelen 1-et kapunk, amikor a képlet üres cellát kap (B10). Az alábbiakban foglalkozunk ezzel a problémával.

Ehhez a képlethez csak egy bevitel szükséges, amely a szavakat tartalmazó szöveg. A LAMBDA függvényünkben ezt az argumentumot "szövegnek" nevezzük. Itt van a képlet LAMBDA-vá alakítva:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+1)

Megjegyzés: a "szöveg" jelenik meg első érvként, és a számítás a második és az utolsó argumentum. Az alábbi képernyőn az eredeti képletet lecseréltük az általános LAMBDA verzióra. Vegye figyelembe, hogy a tesztelési szintaxist használjuk, amely lehetővé teszi számunkra, hogy csatlakoztassuk a B5-et a szöveghez:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+1)(B5)

Az általános LAMBDA képlet eredményei megegyeznek az eredeti képlettel, ezért a következő lépés a LAMBDA képlet meghatározása és elnevezése a Névkezelővel, az előzőekben leírtak szerint. Ezt a képletet "CountWords" -nak fogjuk nevezni.

Az alábbiakban lecseréltük az általános (névtelen) LAMBDA képletet a megnevezett LAMBDA verzióra, és a B5 szöveget írtuk be. Figyeljük meg, hogy pontosan ugyanazokat az eredményeket kapjuk.

A Névkezelőben a CountWords meghatározásához használt képlet megegyezik a fentivel, a tesztelési szintaxis nélkül:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+1)

Az üres cella problémájának kijavítása

Mint fent említettük, a fenti képlet helytelen 1-es számot ad vissza, ha egy cella üres. Ez a probléma megoldható a +1 helyettesítésével az alábbi kóddal:

=LEN(TRIM(B5))-LEN(SUBSTITUTE(B5," ",""))+(LEN(TRIM(B5))>0)

Teljes magyarázat itt. A meglévő LAMDA képlet frissítéséhez ismét a Névkezelőt kell használnunk:

  1. Nyissa meg a Névkezelőt
  2. Válassza ki a "CountWords" nevet, és kattintson a "Szerkesztés" gombra
  3. Cserélje ki a "Hivatkozás erre" kódot ezzel a képlettel:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+(LEN(TRIM(text))>0))

A Névkezelő bezárása után a CountWords az üres cellákon megfelelően működik, az alábbiak szerint:

Megjegyzés: a Névkezelőben a kód egyszeri frissítésével a CountWords képlet összes példánya egyszerre frissül. Ez a LAMBDA -formula frissítésekkel létrehozott egyedi funkciók fő előnye, hogy egy helyen kezelhetők.

érdekes cikkek...