Gebruik een LAMBDA-functie om aangepaste, herbruikbare functies te maken en deze aan te roepen met een beschrijvende naam. De nieuwe functie is beschikbaar in de werkmap en wordt aangeroepen als systeemeigen Excel-functies.
U kunt een functie maken voor een veelgebruikte formule, voorkomen dat u deze formule hoeft te kopiëren en plakken (wat foutgevoelig kan zijn) en uw eigen functies effectief toevoegen aan de systeemeigen Excel-functiebibliotheek. Bovendien heeft een LAMBDA-functie geen VBA, macro's of JavaScript nodig, dus ook niet-programmeurs kunnen profiteren van het gebruik ervan.
Syntaxis
=LAMBDA([parameter1, parameter2, …,] berekening)
| Argument | Beschrijving |
|---|---|
| parameter | Een waarde die u aan de functie wilt doorgeven, zoals een celverwijzing, tekenreeks of getal. U kunt maximaal 253 parameters invoeren. Dit argument is optioneel. |
| berekening | De formule die u wilt uitvoeren en retourneren als resultaat van de functie. Het moet het laatste argument zijn en moet een resultaat retourneren. Dit argument is vereist. |
Opmerkingen
- Lambda-namen en -parameters volgen de syntaxisregels van Excel voor namen, met één uitzondering: gebruik geen punt (.) in een parameternaam. Zie Namen in formules voor meer informatie.
- Zorg ervoor dat u de aanbevolen procedures volgt bij het maken van een LAMBDA-functie zoals u dat doet met een systeemeigen Excel-formule, zoals het doorgeven van het juiste aantal en type argumenten, overeenkomende open en sluit haakjes en het invoeren van getallen als niet-opgemaakt. Wanneer u de opdracht Evalueren gebruikt, retourneert Excel ook onmiddellijk het resultaat van de functie LAMBDA en kunt u er niet in stappen. Zie Fouten opsporen in formules voor meer informatie over het instellen van foutcontrole.
Fouten
- Als u meer dan 253 parameters invoert, retourneert Excel een #VALUE! veroorzaken.
- Als een onjuist aantal argumenten wordt doorgegeven aan een LAMBDA-functie, retourneert Excel een #WAARDE! -fout.
- Als u een LAMBDA-functie vanuit zichzelf aanroept en de aanroep circulair is, kan Excel een #NUM retourneren. fout als er te veel recursieve aanroepen zijn.
- Als u een LAMBDA-functie in een cel maakt zonder deze ook vanuit de cel aan te roepen, retourneert Excel een #CALC! -fout.
Een LAMBDA-functie maken
Hier volgt een stapsgewijs proces dat u kunt volgen om ervoor te zorgen dat uw Lambda werkt zoals u had bedoeld en lijkt op het gedrag van een systeemeigen Excel-functie.
Stap 1: de formule testen
Zorg ervoor dat de formule die u in het berekeningsargument gebruikt, correct werkt. Dit is essentieel omdat u tijdens het maken van de LAMBDA-functie ervoor wilt zorgen dat de formule werkt en u dit kunt uitsluiten als u fouten of onverwacht gedrag ondervindt. Zie Overzicht van formules in Excel en Een eenvoudige formule maken in Excel voor meer informatie.
Stap 2: de Lambda in een cel maken
Het is raadzaam om uw LAMBDA-functie in een cel te maken en te testen om te controleren of deze correct werkt, inclusief de definitie en het doorgeven van parameters. Om de #CALC! te vermijden. fout, voegt u een aanroep toe aan de lambda-functie om onmiddellijk het resultaat te retourneren:
=LAMBDA-functie ([parameter1, parameter2, ...],berekening) (functie-aanroep)
In het volgende voorbeeld wordt een waarde van 2 geretourneerd.
=LAMBDA(number, number + 1)(1)
Stap 3: de Lambda toevoegen aan naambeheer
Zodra u de lambda-functie hebt voltooid, verplaatst u deze naar naambeheer voor de definitieve definitie. Als u dit doet, geeft u de LAMBDA-functie een betekenisvolle naam, geeft u een beschrijving op en maakt u deze opnieuw bruikbaar vanuit elke cel in de werkmap. U kunt de LAMBDA-functie ook beheren zoals u kunt voor elke naam, zoals een tekenreeksconstante, een celbereik of een tabel.
Procedure
Ga op een van de volgende manieren te werk:
- Selecteer in Excel voor Windows Formules>Naambeheer.
- Selecteer in Excel voor Mac Formules>Naam definiëren.
Selecteer Nieuw en voer gegevens in het dialoogvenster Nieuwe naam:
Naam: Voer de naam in voor de lambda-functie. Bereik: Werkmap is de standaardinstelling. Afzonderlijke bladen zijn ook beschikbaar, behalve in webversie van Excel. Opmerking: Optioneel, maar sterk aanbevolen. Voer maximaal 255 tekens in. Geef een korte beschrijving van het doel van de functie en het juiste aantal en type argumenten.
Wordt weergegeven in het dialoogvenster Functie invoegen en als knopinfo (samen met het argument Berekening ) wanneer u een formule typt en Formule automatisch aanvullen gebruikt (ook wel Intellisense genoemd).Verwijst naar: Voer de lambda-functie in. Bijvoorbeeld:
Als u de LAMBDA-functie wilt maken, selecteert u OK.
Als u het dialoogvenster Naambeheer wilt sluiten, selecteert u Sluiten.
Zie Naambeheer gebruiken voor meer informatie.
Voorbeelden
Voorbeeld 1: Fahrenheit converteren naar Celsius
Definieer het volgende in Naambeheer:
| Naam: | ToCelsius |
|---|---|
| Bereik: | Werkmap |
| Opmerking: | Een Fahrenheit-temperatuur converteren naar Celsius |
| Verwijst naar: | =LAMBDA(temp, (5/9) * (Temp-32)) |
Kopieer de voorbeeldgegevens uit de volgende tabel en plak ze in cel A1 van een nieuw Excel-werkblad. Indien nodig kunt u de kolombreedten aanpassen als u alle gegevens wilt zien.
| Gegevens | |
|---|---|
| 104 | |
| 86 | |
| 68 | |
| 50 | |
| 32 | |
| Formule | Resultaat |
| =TOCELSIUS(A2) | 40 |
| =TOCELSIUS(A3) | 30 |
| =TOCELSIUS(A4) | 20 |
| =TOCELSIUS(A5) | 10 |
| =TOCELSIUS(A6) | 0 |
Voorbeeld 2: de hypotenuse zoeken
Definieer het volgende in Naambeheer:
| Naam: | Hypotenuse |
|---|---|
| Bereik: | Werkmap |
| Opmerking: | Geeft als resultaat de lengte van de hypotenuse van een driehoek naar rechts |
| Verwijst naar: | =LAMBDA(a, b, SQRT((a^2+b^2))) |
Kopieer de voorbeeldgegevens uit de volgende tabel en plak ze in cel A1 van een nieuw Excel-werkblad. Indien nodig kunt u de kolombreedten aanpassen als u alle gegevens wilt zien.
| Gegevens | |
|---|---|
| 3 | 4 |
| 5 | 12 |
| 7 | 24 |
| 9 | 40 |
| Formule | Resultaat |
| =HYPOTENUSE(A2,B2) | 5 |
| =HYPOTENUSE(A3,B3) | 13 |
| =HYPOTENUSE(A4,B4) | 25 |
| =HYPOTENUSE(A5,B5) | 41 |
Example 3: Count words
Definieer het volgende in Naambeheer:
| Naam: | CountWords |
|---|---|
| Bereik: | Werkmap |
| Opmerking: | Retourneert het aantal woorden in een tekenreeks |
| Verwijst naar: | =LAMBDA(text, LEN(TRIM(text)) - LEN(SUBSTITUTE(TRIM(text), " ", "")) + 1) |
Kopieer de voorbeeldgegevens uit de volgende tabel en plak ze in cel A1 van een nieuw Excel-werkblad. Indien nodig kunt u de kolombreedten aanpassen als u alle gegevens wilt zien.
| Gegevens | |
|---|---|
| Er komt iets kwaadaardigs deze kant op. | |
| Ik ben gekomen, ik zag, ik heb het overheersd. | |
| Een snelle bruine vos springt over de luie hond. | |
| Gebruik de force, Luke! | |
| Formule | Resultaat |
| =COUNTWORDS(A2) | 5 |
| =COUNTWORDS(A3) | 6 |
| =COUNTWORDS(A4) | 9 |
| =COUNTWORDS(A5) | 4 |
Voorbeeld 4: De datum zoeken voor Thanksgiving
Definieer het volgende in Naambeheer:
| Naam: | ThanksgivingDate |
|---|---|
| Bereik: | Werkmap |
| Opmerking: | Geeft als resultaat de datum waarop Date In the USA valt voor een bepaald jaar |
| Verwijst naar: | =LAMBDA(jaar, TEKST(DATUM(jaar, 11, KIEZEN(WEEKDAG(DATUM(jaar, 11, 1)), 26, 25, 24, 23, 22, 28, 27)), "mm/dd/jjjj")) |
Kopieer de voorbeeldgegevens uit de volgende tabel en plak ze in cel A1 van een nieuw Excel-werkblad. Indien nodig kunt u de kolombreedten aanpassen als u alle gegevens wilt zien.
| Gegevens | |
|---|---|
| 2020 | |
| 2021 | |
| 2022 | |
| 2023 | |
| 2024 | |
| Formule | Resultaat |
| =DATE (A2) | 11/26/2020 |
| =THANKSGIVINGDATE(A3) | 11/25/2021 |
| =THANKSGIVINGDATE(A4) | 11/24/2022 |
| =THANKSGIVINGDATE(A5) | 11/23/2023 |
| =THANKSGIVINGDATE(A6) | 11/28/2024 |
Meer hulp nodig?
U kunt altijd een expert in de Excel Tech Community vragen of ondersteuning krijgen in community's.