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

Archive for 2020

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.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.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

TEXT.TRIM.LEFT und TEXT.TRIM.RIGHT

Categories: Excel, Lambda
Comments: No

Benutzerdefinierte Funktionen, die mithilfe der kürzlich in Excel eingeführten LAMBDA-Funktion angelegt wurden, lassen sich auch rekursiv verwenden, sofern eine Abbruchbedingung innerhalb der Funktion implementiert wurde. Derzeit sind solche Funktionen meiner Ansicht nach jedoch recht schwer zu debuggen – ich hoffe, dass das Excel-Team in Zukunft vielleicht Werkzeuge dazu zur Verfügung stellt.

Ich habe somit erstmal mit einfachen Funktionen experimentiert. Eingefallen sind mir die beiden Funktionen TEXT.TRIM.LEFT und TEXT.TRIM.RIGHT, die respektive von links oder rechts aus gesehen ein anzugebendes Zeichen aus einem Text entfernen sollen. Und zwar solange bis das aktuelle Zeichen nicht mehr dem zu entfernenden Zeichen entspricht.

TEXT.TRIM.LEFT und TEXT.TRIM.RIGHT
Read more

TEXT.SPLIT

Categories: Excel, Lambda
Comments: No

Nachdem ich mir nun einige benutzerdefinierte Array-Funktionen mithilfe der LAMBDA-Funktion in Excel erstellt habe, wird es Zeit, dass diese langsam auch zum Einsatz kommen. Die nachfolgend vorgestellte benutzerdefinierte Funktion TEXT.SPLIT verwendet ARRAY.FROMTEXT als Hilfsfunktion, um aus einem Text ein Array zu generieren.

Im Netz kursieren bereits einige LAMBDA-Funktionen, die einen Text anhand eines Trennzeichens aufteilen. Diese Lösungen berücksichtigen meines Wissens bislang jedoch nur ein Trennzeichen. TEXT.SPLIT ist in hingegegen der Lage, mehrere Trennzeichen zu berücksichtigen.

Die Funktion LAMBDA, auf der nachfolgende Formeln beruhen, wurde erst kürzlich in Excel eingeführt und ist derzeit nur in der Insider-Version von Excel verfügbar. Eine Einführung zu der LAMBDA-Funktion ist hier zu finden. Nebenbei, jeder kann Office-Insider werden, hier gibt es weitere Informationen zum Office-Insider-Programm.

TEXT.SPLIT
Read more

Microsoft released early December 2020 the first version of the LAMBDA function in Excel. This new function allows you to define your own re-usable custom functions by only using the Excel’s formula language. In the past, custom functions could only be implemented by using a programming language such as VBA or JavaScript. At the time, I wrote this article (12/22/2020), the LAMBDA function is only available for Office Insiders. Anyone can join the Office Insider Program, please see here for more information on that.

The new function LAMBDA will be in my opinion a game changer and I think that the Excel team is not exaggerating, if they are talking about that LAMBDA will revolutionize how you build formulas in Excel.

Custom Array Functions

I started blogging about the LAMBDA function since its release and created eleven custom array related functions until now. I am mainly writing my posts in German, but the last days I noticed a considerable increase of English-speaking readers. Online translators are nowadays doing a pretty good job when it comes to translate text, but they mostly fail when it comes to translate Excel formulas. That makes it more difficult for English-speaking people to understand the German formulas. Therefore, I am writing this article in English with a summary and short explanation of all my custom functions created so far.

As you probably know, nothing is static in Excel formulas. Often, there may be a way to improve it. So, if you find a better solution for one or more formulas, please let me know and leave a comment here.

Read more

ARRAY.PUSH und ARRAY.PULL

Categories: Excel, Lambda
Comments: No

Derzeit teste ich einige LAMBDA-Funktionen, die es ermöglichen sollen, in Excel rein formelbasierte Beechnungen mit sehr großen Zahlen durchzuführen zu können, wie beispielsweise eine Addition oder Multiplikation solcher Zahlen. Bislang sind solche Berechnungen nur über Add-Ins oder VBA möglich.

Um dem vorgenannten Ziel näher zu kommen, habe ich bereits einige Array-Hilfsfunktionen, wie z.B. ARRAY.FROMTEXT.EX oder ARRAY.REVERSE entwickelt und auch hier im Blog vorgestellt. ARRAY.PUSH und ARRAY.PULL sind zwei weitere Hilfsfunktionen, die dazu dienen die Elemente eines Bereichs verschieben zu können.

ARRAY.PUSH und ARRAY.PULL
Read more

ARRAY.SPLIT.BYPOS

Categories: Excel, Lambda
Comments: No

Nachdem ich ARRAY.SPLIT entwickelt hatte, kam mir die Idee, ob sich nicht eine Version entwickeln liesse, die einen einspaltigen Bereich nicht anhand eines Trennzeichens, sondern anhand vordefinierter Positionen aufteilt. Beispielsweise müsste eine solche Funktion in der Lage sein, den Text KA01A23Z25 in K, A01, A23 und Z25 aufzuteilen, also an den Positionen 2, 5 und 8.

Dieser Artikel stellt die LAMBDA-Funktion ARRAY.SPLIT.BYPOS und meinen Lösungsansatz vor. Wie so oft bei Excel-Formeln, ist aber sicherlich immer etwas Verbesserungspotential vorhanden. Falls jemand einen Vorschlag z.B. zur Optimierung der Lösung hat, freue ich mich über jeden Kommentar zu diesem Artikel.

Um die benutzerdefinierte Funktion anzulegen, werden dynamische Arrays und die kürzlich von Microsoft veröffentlichte Funktion LAMBDA verwendet. Zum jetztigen Zeitpunkt (20.12.2020) ist LAMBDA nur in der Excel-Beta-Version verfügbar, was sich hoffentlich bald ändern wird. Eine Einführung zu der LAMBDA-Funktion ist hier zu finden.

ARRAY.SPLIT.BYPOS
Read more