Kuinka käyttää Excel LAMBDA -toimintoa -

Sisällysluettelo

Yhteenveto

Excel LAMBDA -toiminto tarjoaa tavan luoda mukautettuja toimintoja, joita voidaan käyttää uudelleen koko työkirjassa ilman VBA: ta tai makroja.

Tarkoitus

Luo mukautettu toiminto

Palautusarvo

Kuten kaava määrittelee

Syntaksi

= LAMBDA (parametri,…, laskenta)

Väitteet

  • parametri - Funktion tuloarvo.
  • Laskenta - Laskelma, joka suoritetaan funktion tuloksena. On oltava viimeinen argumentti.

Versio

Excel 365

Käyttöohjeet

Tietokoneohjelmoinnissa LAMBDA viittaa nimettömään toimintoon tai lausekkeeseen. Anonyymi toiminto on funktio, joka on määritelty ilman nimeä. Excelissä LAMBDA-toiminto tarjoaa tavan määritellä ja kapseloida tietyt kaavan toiminnot, aivan kuten Excel-funktio. Kun LAMBDA-funktio on määritelty, se voidaan nimetä ja käyttää uudelleen muualla työkirjassa. Toisin sanoen LAMBDA-toiminto on tapa luoda mukautettuja toimintoja.

Yksi mukautetun LAMBDA-toiminnon tärkeimmistä eduista on, että kaavan sisältämä logiikka on vain yhdessä paikassa. Tämä tarkoittaa, että päivitettävissä on vain yksi kopio ongelmista tai toimintojen päivityksessä, ja muutokset siirtyvät automaattisesti kaikkiin työkirjan LAMBDA-toiminnon esiintymiin. LAMBDA-toiminto ei vaadi VBA: ta tai makroja.

Esimerkki 1 | Esimerkki 2 | Esimerkki 3

LAMBDA-toiminnon luominen

LAMBDA-toiminnot luodaan ja viritetään yleensä laskentataulukon kaavapalkissa, minkä jälkeen ne siirretään nimihallintaan määrittämään nimi, jota voidaan käyttää missä tahansa työkirjassa.

LAMBDA-toimintoon perustuvan mukautetun kaavan luomisessa ja käyttämisessä on neljä perusvaihetta:

  1. Tarkista käyttämäsi logiikka vakiokaavalla
  2. Luo ja testaa kaavan yleinen (nimeämätön) LAMBDA-versio
  3. Nimeä ja määritä LAMBDA-kaava nimihallinnalla
  4. Testaa uusi mukautettu toiminto määritetyllä nimellä

Seuraavissa esimerkeissä käsitellään näitä vaiheita yksityiskohtaisemmin.

Esimerkki 1

Aloitetaan hyvin yksinkertaisella kaavalla havainnollistamaan LAMBDA: n toimintaa:

=x*y // multiple x and y

Excelissä tämä kaava käyttää tyypillisesti tällaisia ​​soluviittauksia:

=B5*C5 // with cell references

Kuten näette, kaava toimii hyvin, joten olemme valmiita siirtymään luomaan yleisen LAMBDA-kaavan (nimeämätön versio). Ensimmäinen asia, joka on otettava huomioon, edellyttääkö kaava syötteitä (parametreja). Tässä tapauksessa vastaus on "kyllä" - kaava vaatii arvon x ja arvon y. Kun tämä on luotu, aloitamme LAMBDA-toiminnolla ja lisätään tarvittavat parametrit käyttäjän syötteeksi:

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

Seuraavaksi meidän on lisättävä todellinen laskelma, x * y:

=LAMBDA(x,y,x*y)

Jos syötät kaavan tässä vaiheessa, saat #CALC! virhe. Tämä tapahtuu, koska kaavassa ei ole syötearvoja, joiden kanssa työskennellä, koska soluviittauksia ei ole enää. Kaavan testaamiseksi meidän on käytettävä tällaista erityistä syntaksia:

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

Tämä syntakse, jossa parametrit toimitetaan LAMBDA-funktion lopussa erillisissä suluissa, on ainutlaatuinen LAMBDA-funktioille. Tämä mahdollistaa kaavan testaamisen suoraan laskentataulukossa ennen LAMBDA: n nimeämistä. Alla olevasta näytöstä näet, että F5: n yleinen LAMBDA-funktio palauttaa täsmälleen saman tuloksen kuin alkuperäinen kaava kohdassa E5:

Olemme nyt valmiita nimeämään LAMBDA-toiminnon nimihallinnalla. Valitse ensin kaava * ei sisällä * testausparametreja lopussa. Avaa seuraavaksi Nimihallinta pikanäppäimellä Control + F3 ja napsauta Uusi.

Kirjoita Uusi nimi -valintaikkunaan nimi "XBYY", jätä laajuus asetetuksi työkirjaan ja liitä kopioimasi kaava "Viittaa" -syöttöalueelle.

Varmista, että kaava alkaa yhtäläisyysmerkillä (=). Nyt kun LAMBDA-kaavalla on nimi, sitä voidaan käyttää työkirjassa kuten mitä tahansa muuta toimintoa. G5: n kaavan alla olevassa näytössä kopioitu alaspäin on:

Uusi mukautettu toiminto palauttaa saman tuloksen kuin kaksi muuta kaavaa.

Esimerkki 2

Tässä esimerkissä muunnetaan kaava pallon tilavuuden laskemiseksi mukautetuksi LAMBDA-funktioksi. Yleinen Excel-kaava pallon tilavuuden laskemiseksi on:

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

missä A1 edustaa sädettä. Alla olevassa näytössä näkyy tämä kaava toiminnassa:

Huomaa, että tämä kaava vaatii vain yhden syötteen (säteen) tilavuuden laskemiseksi, joten LAMBDA-funktiomme tarvitsee vain yhden parametrin (r), joka näkyy ensimmäisenä argumenttina. Tässä on kaava muunnettuna LAMBDA: ksi:

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

Takaisin laskentataulukossa olemme korvaaneet alkuperäisen kaavan yleisellä LAMBDA-versiolla. Huomaa, että käytämme testaussyntaksia, jonka avulla voimme kytkeä B5: n sädettä varten:

Yleisen LAMBDA-kaavan tulokset ovat täsmälleen samat kuin alkuperäisen kaavan, joten seuraava vaihe on määritellä ja nimetä tämä LAMBDA-kaava Name Managerilla, kuten edellä on selitetty. LAMBDA-funktiolle käytetty nimi voi olla mikä tahansa kelvollinen Excel-nimi. Tässä tapauksessa nimetään kaava "SphereVolume".

Takaisin laskentataulukossa olemme korvanneet yleisen (nimeämättömän) LAMBDA-kaavan nimellisellä LAMBDA-versiolla ja kirjoittaneet arvon B5 arvolle r. Huomaa, että mukautetun SphereVolume-toiminnon palauttamat tulokset ovat täsmälleen samat kuin aiemmat tulokset.

Esimerkki 3

Tässä esimerkissä luomme LAMBDA-funktion sanojen laskemiseksi. Excelillä ei ole toimintoa tähän tarkoitukseen, mutta voit laskea sanat solulla mukautetulla kaavalla, joka perustuu LEN- ja SUBSTITUTE-funktioihin seuraavasti:

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

Lue yksityiskohtainen selitys täältä. Tässä on laskentataulukon toiminnassa oleva kaava:

Huomaa, että saamme virheellisen määrän 1, kun kaavalle annetaan tyhjä solu (B10). Käsittelemme tätä ongelmaa alla.

Tämä kaava vaatii vain yhden syötteen, joka on sanoja sisältävä teksti. LAMBDA-toiminnossa nimemme tämän argumentin "tekstiksi". Tässä on kaava muunnettuna LAMBDA: ksi:

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

Huomaa "teksti" näkyy ensimmäisenä argumenttina ja laskelma on toinen ja viimeinen argumentti. Alla olevassa näytössä olemme korvaaneet alkuperäisen kaavan yleisellä LAMBDA-versiolla. Huomaa, että käytämme testaussyntaksia, jonka avulla voimme liittää B5: n tekstiin:

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

Yleisen LAMBDA-kaavan tulokset ovat samat kuin alkuperäisen kaavan, joten seuraava vaihe on määritellä ja nimetä tämä LAMBDA-kaava Name Managerilla, kuten aiemmin on selitetty. Nimeämme tämän kaavan nimellä "CountWords".

Alla olemme korvanneet yleisen (nimeämättömän) LAMBDA-kaavan nimellisellä LAMBDA-versiolla ja kirjoittaneet tekstiksi B5. Huomaa, että saamme täsmälleen samat tulokset.

Nimihallinnassa CountWordsin määrittelemiseen käytetty kaava on sama kuin yllä, ilman testaussyntaksia:

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

Tyhjän solun ongelman korjaaminen

Kuten edellä mainittiin, yllä oleva kaava palauttaa virheellisen määrän 1, kun solu on tyhjä. Tämä ongelma voidaan korjata korvaamalla +1 alla olevalla koodilla:

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

Täydellinen selitys täältä. Olemassa olevan nimeltään LAMDA-kaavan päivittämiseksi meidän on jälleen käytettävä nimenhallintaa:

  1. Avaa nimihallinta
  2. Valitse nimi "CountWords" ja napsauta "Muokkaa"
  3. Korvaa Viittaukset-koodi tällä kaavalla:

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

Kun nimihallinta on suljettu, CountWords toimii oikein tyhjissä soluissa, kuten alla näkyy:

Huomaa: Kun päivität koodin kerran Nimihallinnassa, kaikki CountWords-kaavan esiintymät päivitetään kerralla. Tämä on keskeinen etu mukautetuille toiminnoille, jotka on luotu LAMBDA-kaavan päivityksillä, joita voidaan hallita yhdessä paikassa.

Mielenkiintoisia artikkeleita...