Kako uporabljati funkcijo Excel LAMBDA -

Kazalo

Povzetek

Funkcija Excel LAMBDA omogoča ustvarjanje funkcij po meri, ki jih je mogoče znova uporabiti v celotnem delovnem zvezku, brez VBA ali makrov.

Namen

Ustvari funkcijo po meri

Vrnjena vrednost

Kot je opredeljeno s formulo

Sintaksa

= LAMBDA (parameter,…, izračun)

Argumenti

  • parameter - vhodna vrednost za funkcijo.
  • izračun - izračun, ki se izvede kot rezultat funkcije. To mora biti zadnji argument.

Različica

Excel 365

Opombe o uporabi

Pri računalniškem programiranju se LAMBDA nanaša na anonimno funkcijo ali izraz. Anonimna funkcija je funkcija, definirana brez imena. V Excelu funkcija LAMBDA ponuja način za definiranje in vključitev določene funkcionalnosti formule, podobno kot funkcija Excel. Ko je funkcija LAMBDA definirana, jo lahko poimenujemo in ponovno uporabimo drugje v delovnem zvezku. Z drugimi besedami, funkcija LAMBDA je način za ustvarjanje funkcij po meri.

Ena ključnih prednosti funkcije LAMBDA po meri je, da logika, ki jo vsebuje formula, obstaja le na enem mestu. To pomeni, da je treba pri odpravljanju težav ali posodabljanju funkcionalnosti posodobiti samo eno kopijo kode, spremembe pa se bodo samodejno razširile na vse primerke funkcije LAMBDA v delovnem zvezku. Funkcija LAMBDA ne zahteva VBA ali makrov.

Primer 1 | Primer 2 | 3. primer

Ustvarjanje funkcije LAMBDA

Funkcije LAMBDA se običajno ustvarijo in odpravijo v vrstici s formulami na delovnem listu, nato pa se premaknejo v upravitelj imen, da dodelijo ime, ki ga je mogoče uporabiti kjer koli v delovnem zvezku.

Obstajajo štirje osnovni koraki za ustvarjanje in uporabo formule po meri, ki temelji na funkciji LAMBDA:

  1. Preverite logiko, ki jo boste uporabili s standardno formulo
  2. Ustvarite in preizkusite generično (neimenovano) različico formule LAMBDA
  3. Poimenujte in definirajte formulo LAMBDA z upraviteljem imen
  4. Preizkusite novo funkcijo po meri z definiranim imenom

Spodnji primeri podrobneje obravnavajo te korake.

Primer 1

Za ponazoritev delovanja LAMBDA začnimo z zelo preprosto formulo:

=x*y // multiple x and y

V Excelu bi ta formula običajno uporabljala sklice na celice, kot je ta:

=B5*C5 // with cell references

Kot lahko vidite, formula deluje v redu, zato smo pripravljeni preiti na ustvarjanje generične formule LAMBDA (neimenovana različica). Najprej je treba upoštevati, ali formula zahteva vhodne podatke (parametre). V tem primeru je odgovor "da" - formula zahteva vrednost za x in vrednost za y. S tem smo začeli s funkcijo LAMBDA in dodali zahtevane parametre za uporabniški vnos:

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

Nato moramo dodati dejanski izračun x * y:

=LAMBDA(x,y,x*y)

Če na tej točki vnesete formulo, boste dobili #CALC! napaka. To se zgodi, ker formula nima vhodnih vrednosti, s katerimi bi lahko delala, saj ni več nobenih sklicev na celice. Za preizkus formule moramo uporabiti posebno sintakso, kot je ta:

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

Ta sintaksa, kjer so parametri na koncu funkcije LAMBDA podani v ločenem naboru oklepajev, je edinstvena za funkcije LAMBDA. To omogoča, da formulo preizkusite neposredno na delovnem listu, preden je LAMBDA imenovana. Na spodnjem zaslonu lahko vidite, da generična funkcija LAMBDA v F5 vrne popolnoma enak rezultat kot prvotna formula v E5:

Zdaj smo pripravljeni imenovati funkcijo LAMBDA z Upraviteljem imen. Najprej izberite formulo, * na koncu pa ne vključuje * preskusnih parametrov. Nato z bližnjico Control + F3 odprite Upravitelj imen in kliknite Novo.

V pogovorno okno Novo ime vnesite ime »XBYY«, pustite obseg nastavljen na delovni zvezek in prilepite formulo, ki ste jo kopirali, v vnosno območje »Se nanaša na«.

Prepričajte se, da se formula začne z znakom enačbe (=). Zdaj, ko ima formula LAMBDA ime, jo lahko uporabljamo v delovnem zvezku kot katero koli drugo funkcijo. Na zaslonu pod kopirano formulo v G5 je:

Nova funkcija po meri vrne enak rezultat kot drugi dve formuli.

2. primer

V tem primeru bomo pretvorili formulo za izračun prostornine krogle v funkcijo LAMBDA po meri. Splošna Excelova formula za izračun prostornine krogle je:

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

kjer A1 predstavlja polmer. Spodnji zaslon prikazuje to formulo v akciji:

Upoštevajte, da ta formula zahteva samo en vhod (polmer) za izračun glasnosti, zato bo naša funkcija LAMBDA potrebovala le en parameter (r), ki bo prikazan kot prvi argument. Tu je formula, pretvorjena v LAMBDA:

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

Nazaj na delovnem listu smo prvotno formulo zamenjali z generično različico LAMBDA. Upoštevajte, da uporabljamo preskusno sintakso, ki nam omogoča priključitev B5 za radij:

Rezultati generične formule LAMBDA so popolnoma enaki prvotni formuli, zato je naslednji korak določitev in poimenovanje te formule LAMBDA z Upraviteljem imen, kot je razloženo zgoraj. Ime funkcije LAMBDA je lahko katero koli veljavno ime Excel. V tem primeru bomo formulo poimenovali "SphereVolume".

Nazaj na delovnem listu smo generično (neimenovano) formulo LAMBDA zamenjali z imenovano različico LAMBDA in za r vnesli B5. Upoštevajte, da so rezultati, ki jih vrne funkcija SphereVolume po meri, popolnoma enaki prejšnjim rezultatom.

3. primer

V tem primeru bomo ustvarili funkcijo LAMBDA za štetje besed. Excel v ta namen nima funkcije, lahko pa s celico štejete besede s formulo po meri, ki temelji na funkcijah LEN in SUBSTITUTE, kot je ta:

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

Podrobno razlago preberite tukaj. Tukaj je formula, ki deluje na delovnem listu:

Upoštevajte, da dobimo napačno štetje 1, ko formula dobi prazno celico (B10). To težavo bomo obravnavali spodaj.

Ta formula zahteva samo en vnos, to je besedilo, ki vsebuje besede. V naši funkciji LAMBDA bomo ta argument poimenovali "besedilo". Tu je formula, pretvorjena v LAMBDA:

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

Obvestilo "besedilo" se prikaže kot prvi argument, izračun pa je drugi in zadnji argument. Na spodnjem zaslonu smo prvotno formulo zamenjali z generično različico LAMBDA. Upoštevajte, da uporabljamo preskusno sintakso, ki nam omogoča, da B5 vstavimo za besedilo:

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

Rezultati splošne formule LAMBDA so enaki prvotni formuli, zato je naslednji korak definiranje in imenovanje te formule LAMBDA z Upraviteljem imen, kot je bilo že razloženo. To formulo bomo poimenovali "CountWords".

Spodaj smo generično (neimenovano) formulo LAMBDA zamenjali z imenovano različico LAMBDA in za besedilo vnesli B5. Opazimo, da dobimo popolnoma enake rezultate.

Formula, uporabljena v upravitelju imen za določanje CountWords-a, je enaka zgornji, brez preskusne sintakse:

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

Odpravljanje težave s prazno celico

Kot smo že omenili, zgornja formula vrne napačno število 1, ko je celica prazna. To težavo lahko odpravite tako, da +1 zamenjate s spodnjo kodo:

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

Popolna razlaga tukaj. Za posodobitev obstoječe imenovane formule LAMDA moramo spet uporabiti Upravitelja imen:

  1. Odprite Upravitelj imen
  2. Izberite ime "CountWords" in kliknite "Edit"
  3. Kodo "Se nanaša na" zamenjajte s to formulo:

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

Ko je upravitelj imen zaprt, CountWords deluje pravilno v praznih celicah, kot je prikazano spodaj:

Opomba: z enkratno posodobitvijo kode v upravitelju imen se posodobijo vsi primerki formule CountWords hkrati. To je ključna prednost funkcij po meri, ustvarjenih z LAMBDA - posodobitve formule lahko upravljate na enem mestu.

Zanimive Članki...