(C) 2009 - 2021 by Mourad Louha · Alle Rechte vorbehalten

Die LAMBDA-Funktion in Excel

Categories: Excel, Lambda
Comments: 9

Das Excel-Team hat gestern – 03.12.2020 – die LAMBDA-Funktion in Excel angekündigt und im Excel-Betakanal zur Verfügung gestellt. Um den Betakanal nutzen zu können, ist eine Teilnahme am Office-Insider-Programm erforderlich. Ein Hinweis dazu: oft ist es so, dass neue Features in Excel stückweise ausgerollt werden. Wenn der aktuellste Betakanal bereits genutzt wird, die LAMBDA-Funktion jedoch noch nicht vorhanden ist, dann ist ein bißchen Geduld gefragt. In einem der nächsten Updates sollte dann die Funktion auftauchen.

Mit der LAMBDA-Funktion lassen sich benutzerdefinierte Funktionen erstellen, die rein formelbasierte Berechnungen beinhalten. Es ist somit keine Programmierung in VBA oder JavaScript erforderlich. Laut dem Excel-Blog sind zudem noch weitere Features in Zusammenhang mit der LAMBDA-Funktion geplant und diese erste Veröffentlichung ist nur der Anfang.

Dieser Artikel stellt die LAMBDA-Funktion sowie die derzeit noch gültigen Randbedingungen zu deren Verwendung vor. Als Beispiel stelle ich dann meine benutzerdefinierte Funktion OSTERN vor, die das Osterdatum eines beliebigen Jahres berechnet und hierbei die LAMBA-Funktion verwendet.

Die LAMBDA-Funktion in Excel
Read more


ISODATETIME

Categories: Excel, Lambda
Comments: No

Derzeit entwickle ich die LAMBDA-Funktion JSON.FROMRANGE, die Daten aus einem Zellbereich in ein JSON-Datenformat konvertieren soll. Das JSON-Datenformat kennt per Definition verschiedene Datentypen, wie beispielsweise Texte, Zahlen oder Wahrheitswerte. Jedoch ist im JSON-Datenformat kein expliziter Datentyp zur Darstellung von Datums-und Zeitangaben vorgesehen. In der Regel hat sich jedoch die ISO-Norm ISO 8601 zur Darstellung von Datum- und Zeitangaben in JSON-Dateien durchgesetzt. Hierbei werden Datums- und Zeitangaben in Textform, also als String, angegeben.

Um nun Datum- und Zeitabgaben innerhalb meiner Funktion JSON.FROMRANGE in das JSON-Format umzuwandeln, erschien es mir sinnvoll, dafür eine separate Funktion zu implementieren. Zumal die Funktion JSON.FROMRANGE sowieso schon recht komplex sein wird.

Dieser Artikel stellt die Funktion ISODATETIME vor, die diese Aufgabe übernimmt. Die Funktion implementiert jedoch nicht alle Definitionen der ISO-Norm. Beispielweise ist die Darstellung von Perioden oder Wochenangaben nicht enthalten. ISODATETIME basiert auf der Ende 2020 in Excel eingeführten LAMBDA-Funktion.

ISODATETIME
Read more


JSON.FROMRANGE

Categories: Excel, Lambda
Comments: No

Ich muss schon gestehen, die Excel-Funktion LAMBDA fasziniert mich weiterhin. Weil ich in einem meiner Projekte per VBA-Code aus einzelnen Zellbereichen JSON-Daten generieren musste, hatte ich mich gefragt, ob sich vielleicht das Konvertieren eines Zellbereichs in JSON-Daten auch nicht mit einer Formel realisieren liesse. Vorab: ja, das geht – mit einer LAMBDA-Funktion!

Dieser Artikel beschreibt, wie ich zu diesem Zweck meine benutzerdefinierte Excel-Funktion JSON.FROMRANGE implementiert habe. Um alle nachfolgend beschriebenen Schritte nachvollziehen zu können, ist ein Grundwissen zu der LAMBDA-Funktion empfehlenswert. Mein Artikel zur Einführung der LAMBDA-Funktion in Excel stellt die LAMBDA-Funktion und deren Fähigkeiten ausführlich vor.

Zudem wird JSON.FROMRANGE Gebrauch von zwei Hilfsfunktionen machen, die jeweils selbst LAMBDA-Funktionen sind. Die erste dieser Funktionen ist ISODATETIME, die im gleichnamigen Artikel genauer erläutert wird. Die zweite Hilfsfunktion ist eine in JSON.FROMRANGE integrierte, rekursive LAMBDA-Funktion, deren Prinzip ich im Artikel LAMBDA-Funktionen als Variable rekursiv verwenden beschrieben habe.

JSON.FROMRANGE
Read more


Seit Ende 2020 steht in Excel – derzeit noch in der Beta-Version – die Funktion LAMBDA zur Verfügung, die es ermöglicht benutzerdefinierte Funktionen anzulegen. Eine detaillierte Einführung zu der LAMBDA-Funktion ist hier zu finden. Welche Möglichkeiten LAMBDA bietet, zeigt beispielsweise meine benutzerdefinierte Funktion TEXT.SPLIT zum Aufteilen eines Textes nach Trennzeichen, die ich im gleichnamigen Artikel beschrieben habe.

LAMBDA-Funktionen können auch rekursiv aufgerufen werden, sofern ein Abbruchkriterium definiert ist. Da jedoch benutzerdefinierte Funktionen im Namensmanager abgelegt werden, sind rekursive Funktion recht schwer zu debuggen, da ja jedesmal die im Namensmanager hinterlegte Funktion geändert werden muss. Dieser Artikel zeigt einen Weg auf, wie sich einerseits LAMBDA-Funktionen als Variable verwenden lassen und andererseits eine Rekursion ohne Definition der LAMBDA-Funktion im Namensmanager realisiert werden kann.

LAMBDA-Funktionen als Variable rekursiv verwenden
Read more


LNUM.COMPARE

Categories: Excel, Lambda
Comments: No

In meinem vorangegangen Artikel hatte ich meine benutzerdefinierte Funktion LNUM.SUM vorgestellt, die anhand der LAMBDA-Funktion eine reine Formellösung zur Addition sehr großer Zahlen in Excel ermöglicht. Als nächste Funktion würde ich gerne die Funktion LNUM.SUBTRACT implementieren, die dann sehr große Zahlen subtrahiert.

Der Algorithmus, den ich für die Subtraktion großer Zahlen vorgesehen habe, beruht jedoch auf der Verwendung des Neunerkomplements und darauf, dass die größere Zahl von der kleineren Zahl abgezogen wird. Deswegen benötige ich zunächst eine Funktion, die mir aus zwei großen Zahlen die größere und kleinere Zahl ermittelt.

Dieser Artikel stellt die Funktion LNUM.COMPARE vor, die den Vergleich zwei großer Zahlen durchführt und einen entsprechenden Wert zurückgibt. Als Nebeneffekt lassen sich dann LNUM.MAX und LNUM.MIN implementieren, die respektive die größere oder kleinere Zahl zurückgeben.

LNUM.COMPARE
Read more


LNUM.PRODUCT

Categories: Excel, Lambda
Comments: No

Nachdem ich in meinen vorherigen Artikeln die zwei LAMBDA-Funktionen LNUM.SUM und LNUM.SUBTRACT zum Addieren und Subtrahieren großer Zahlen in Excel vorgestellt hatte, war ich neugierig geworden, ob die Implementierung einer Funktion zur Multiplikation sehr großer Zahlen als rein formelbasierte Lösung ebenfalls möglich ist. Vorab – ja das geht und Excel rechnet sogar Hunderte von Multiplikationen großer Zahlen in akzeptabler Geschwindigkeit durch.

Dieser Artikel stellt die LAMDA-Funktion LNUM.PRODUCT vor, die zwei sehr großer Zahlen in Excel multipliziert, ohne auf externe Bibliotheken, wie z.B. Add-Ins, zurückzugreifen.

LNUM.PRODUKT
Read more


LNUM.SUBTRACT

Categories: Excel, Lambda
Comments: No

In einem früheren Artikel hatte ich die benutzerdefinierte Funktion LNUM.SUM vorgestellt, die das Addieren zwei sehr großer Zahlen als rein formelbasierte Lösung ermöglicht und dabei auf die kürzlich in Excel eingeführte LAMDBA-Funktion aufsetzt.

Dieser Artikel stellt nun die Funktion LNUM.SUBTRACT vor, die ebenfalls rein formelbasiert zwei sehr große Zahlen in Excel subtrahiert. Auch diese Funktion wird, wie LNUM.SUM, auf bereits von mir implementierte LAMBDA-Funktionen zurückgreifen, die im Artikel an entsprechender Stelle dann verlinkt sind.

LNUM.SUBTRACT
Read more


LNUM.SUM

Categories: Excel, Lambda
Comments: No

Vor einer halben Ewigkeit – also ca. 10 Jahren, um genau zu sein – hatte ich in diesem Blog ein Add-In publiziert, um große Zahlen z.B. mit über 30 Stellen, in Excel zu addieren. Nun ist ja kürzlich die LAMBDA-Funktion in Excel erschienen, die auch rekursiv angewendet werden kann. Ich hatte mich dann gefragt, ob es mit einer LAMBDA-Formel möglich ist, eine reine Formellösung zur Addition großer Zahlen zu entwickeln. Vorab, ja das geht.

Dieser Artikel stellt die Funktion LNUM.SUM vor, die Addition sehr großer Zahlen in Excel übernimmt. In diesem Artikel wird zudem auf einige von mir bereits erstellte benutzerdefinierte LAMBDA-Funktion zurückgegriffen. Diese Funktionen sind an entsprechender Stelle verlinkt.

LNUM.SUM
Read more