Array-Operationen
AppendItem()
Diese Funktion fügt ein Element am Ende eines Arrays ein und liefert das modifizierte Array zurück.
Rückgabetyp: Array
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zugrunde liegendes Array |
2 | (variabel) | anzuhängendes Element |
Beispiele
AppendItem([1, 2], 3) ergibt [1,2,3].
AppendItem([], "A") und AppendItem( , "A") ergeben ["A"].
AppendItem([1, 2], [3, 4]) ergibt [1,2,[3,4]], da das Makro nicht zum Anhängen mehrerer Einzelwerte geeignet ist.
Contains()
Diese Funktion prüft, ob ein Element in einem Array enthalten ist.
Rückgabetyp: Bool
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zu durchsuchendes Array |
2 | (variabel) | Wert des zu suchenden Elements Beim Vergleich von Textwerten wird die Groß-/Kleinschreibung ignoriert. |
Beispiele
Contains(["A", "B"], "b") ergibt TRUE.
Contains([1, 2], "1") ergibt TRUE (funktioniert, weil implizit die Textdarstellungen der Werte verglichen werden).
Contains([2025-01-01, 2025-12-31], "2025-01-01") ergibt FALSE (funktioniert nicht, weil die interne Textdarstellung der Datumswerte eine andere Syntax hat).
ContainsAny()
Diese Funktion prüft, ob irgendein Element aus einem Array von Suchwerten in einem anderen Array enthalten ist.
Rückgabetyp: Bool
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zu durchsuchendes Array |
2 | Array | Array der Suchwerte Beim Vergleich von Textwerten wird die Groß-/Kleinschreibung ignoriert. |
Beispiele
ContainsAny(["A", "B", "C"], ["c", "d"]) ergibt TRUE.
ContainsAny([1, 2, 3], [4, 5]) ergibt FALSE.
ContainsLike()
Diese Funktion prüft, ob ein Textelement, das einem vorgegebenen Muster entspricht, in einem Array enthalten ist.
Rückgabetyp: Bool
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zu durchsuchendes Array von Textwerten |
2 | Text | Wildcard-Ausdruck des Suchmusters, analog zu Operator |
Beispiele
ContainsLike(["ABC", "DEF"], "a*") ergibt TRUE.
ContainsWhere()
Diese Funktion prüft, ob ein Element, das eine gegebene Bedingung erfüllt, in einem Array enthalten ist.
Rückgabetyp: Bool
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zu durchsuchendes Array |
2 | Bool | Makroausdruck zur Prüfung der Bedingung Der Makroausruck wird für jedes einzelne Element im Array ausgeführt und muss einen Wahrheitswert zurückliefern. Der zu prüfende Wert und die Positionsnummer des jeweiligen Elements werden in diesem Ausdruck über die Variablen |
Beispiele
ContainsWhere(["ABC", "DEF", "GHI"], RegExIsMatch(@Value, "^g.*")) ergibt TRUE.
ContainsWhere(["ABC", "DEF", "GHI"], RegExIsMatch(@Value, "^g.*") & (@Index <= 2)) ergibt FALSE (weil der RegEx-Treffer an Indexnummer 3 steht).
Distinct()
Diese Funktion reduziert in einem Array alle mehrfach enthaltenen Elemente auf jeweils ein Element.
Rückgabetyp: Array
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zugrunde liegendes Array |
2 | Bool | Wahrheitswert, ob beim Vergleich von Textwerten inhaltsgleiche Werte mit unterschiedlicher Groß-/Kleinschreibung als identisch angesehen werden Standardwert: |
Beispiele
Distinct(["A", "a", "A", "B"]) ergibt ["A","B"].
Distinct(["A", "a", "A", "B"], FALSE) ergibt ["A","a","B"].
IsArray()
Diese Funktion prüft, ob ein Wert ein Array ist.
Rückgabetyp: Bool
Parameter | Datentyp | Beschreibung |
|---|---|---|
1* | (variabel) | zu prüfender Wert |
Beispiele
IsArray([1, 2]) und IsArray([]) ergeben TRUE.
IsArray(1) ergibt FALSE.
GetItem()
Diese Funktion liest das Element an einer bestimmten Position aus einem Array.
Wenn die Position nicht existiert, wird ein leerer String zurückgeliefert (Standarddatentyp). Dies ist unabhängig vom tatsächlichen Datentyp der Array-Werte, weil diese Werte variieren können, auch innerhalb eines Arrays.
Der Rückgabetyp variiert.
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zugrunde liegendes Array |
2 | Number | Position des Elementes Die Zählung beginnt bei 1. Standardwert: |
Beispiele
GetItem([123, 456], 2) ergibt 456.
GetItem([123, 456], 3) ergibt "".
GetItemWhere(), GetItemsWhere()
Diese Funktionen lesen das Element oder die Elemente aus einem Array, die eine gegebene Bedingung erfüllen.
GetItemWhere() liefert nur den Wert des ersten gefundenen Elementes zurück (Rückgabetyp variiert) oder einen leeren String (Standarddatentyp), wenn kein Element gefunden wurde. GetItemsWhere() liefert ein Array aller gefundenen Werte zurück oder ein leeres Array, wenn kein Element gefunden wurde.
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zu durchsuchendes Array |
2 | Bool | Makroausdruck zur Prüfung der Bedingung Der Makroausruck wird für jedes einzelne Element im Array ausgeführt und muss einen Wahrheitswert zurückliefern. Der zu prüfende Wert und die Positionsnummer des jeweiligen Elements werden in diesem Ausdruck über die Variablen |
Beispiele
GetItemWhere(["ABC", "DEF", "GHI"], RegExIsMatch(@Value, "^(a|d).*")) ergibt "ABC".
GetItemsWhere(["ABC", "DEF", "GHI"], RegExIsMatch(@Value, "^(a|d).*")) ergibt ["ABC","DEF"].
GetItemWhere(["RST", "UVW", "XYZ"], RegExIsMatch(@Value, "^(a|d).*")) ergibt "".
GetItemsWhere(["RST", "UVW", "XYZ"], RegExIsMatch(@Value, "^(a|d).*")) ergibt [].
GetLastItem()
Diese Funktion liest das Element an der letzten Position aus einem Array.
Wenn die Position aufgrund eines leeren Arrays nicht existiert, wird ein leerer String zurückgeliefert.
Der Rückgabetyp variiert.
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zugrunde liegendes Array |
Beispiele
GetLastItem([1, 2]) ergibt 2.
GetLastItem([]) ergibt "".
InsertItem()
Diese Funktion fügt ein Element an einer gegebenen Position in ein Array ein und liefert das modifizierte Array zurück.
Rückgabetyp: Array
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zugrunde liegendes Array |
2 | (variabel) | einzufügendes Element |
3 | Number | Nummer der Position, an der das Element eingefügt werden soll Das aktuelle Element an dieser Position und alle Folgeelemente verschieben sich dadurch um eine Position nach hinten. Der maximal gültige Höchstwert liegt einen Zähler über der aktuellen Länge des Arrays. Wenn die Positionsangabe unterhalb oder oberhalb des gültigen Wertebereichs liegt, wird das Element am Anfang des Arrays eingefügt bzw. ans Ende angehängt. Die Zählung beginnt bei 1. Standardwert: |
Beispiele
InsertItem(["A", "B"], "C") ergibt ["C","A","B"].
InsertItem(["A", "B"], "C", 999) ergibt ["A","B","C"].
ItemCount()
Diese Funktion liefert die Anzahl von Elementen in einem Array zurück.
Rückgabetyp: Number
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zugrunde liegendes Array |
Beispiele
ItemCount(["A", "B"]) ergibt 2.
ItemCountWhere()
Diese Funktion liefert die Anzahl von Elementen in einem Array zurück, die eine gegebene Bedingung erfüllen.
Rückgabetyp: Number
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zu durchsuchendes Array |
2 | Bool | Makroausdruck zur Prüfung der Bedingung Der Makroausruck wird für jedes einzelne Element im Array ausgeführt und muss einen Wahrheitswert zurückliefern. Der zu prüfende Wert und die Positionsnummer des jeweiligen Elements werden in diesem Ausdruck über die Variablen |
Beispiele
ItemCountWhere(["ABC", "DEF", "GHI"], RegExIsMatch(@Value, "^(a|d).*")) ergibt 2.
ItemCountWhere(["ABC", "DEF", "GHI"], RegExIsMatch(@Value, "^(a|d).*") & (@Index >= 2)) ergibt 1 (da der erste RegEx-Treffer an Indexnummer 1 steht).
ItemNo()
Diese Funktion liefert die Positionsnummer des ersten Elements in einem Array zurück, das einen gegebenen Wert hat. Die Zählung beginnt bei 1.
Wenn das Element nicht enthalten ist, liefert die Funktion den Wert 0 zurück.
Rückgabetyp: Number
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zugrunde liegendes Array |
2 | (variabel) | Wert des gesuchten Elementes Bei der Suche nach Textwerten wird die Groß-/Kleinschreibung ignoriert. |
Beispiele
ItemNo(["A", "B"], "b") ergibt 2.
ItemNo(["A", "B"], "c") ergibt 0.
ItemNo([1, 2], "1") ergibt 1 (funktionieret, weil implizit die Textdarstellungen der Werte verglichen werden).
ItemNoWhere()
Diese Funktion liefert die Positionsnummer des ersten Elements in einem Array zurück, das eine gegebene Bedingung erfüllt. Die Zählung beginnt bei 1.
Wenn das Element nicht enthalten ist, liefert die Funktion den Wert 0 zurück.
Rückgabetyp: Number
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zu durchsuchendes Array |
2 | Bool | Makroausdruck zur Prüfung der Bedingung Der Makroausruck wird für jedes einzelne Element im Array ausgeführt und muss einen Wahrheitswert zurückliefern. Der zu prüfende Wert und die Positionsnummer des jeweiligen Elements werden in diesem Ausdruck über die Variablen |
Beispiele
ItemNoWhere(["ABC", "DEF"], RegExIsMatch(@Value, "^a.*")) ergibt 1.
RemoveItem()
Diese Funktion entfernt ein Element mit einem gegebenen Wert aus einem Array und liefert das modifizierte Array zurück.
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zugrunde liegendes Array |
2 | (variabel) | Wert des zu entfernenden Elementes Bei der Suche nach Textwerten wird die Groß-/Kleinschreibung ignoriert. Wenn mehrere Elemente des gesuchten Wertes gefunden werden, werden alle gefundenen Elemente entfernt. |
Beispiele
RemoveItem(["A", "a", "B"], "A") ergibt ["B"].
RemoveItemAt()
Diese Funktion entfernt ein Element an einer gegebenen Position aus einem Array und liefert das modifizierte Array zurück.
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zugrunde liegendes Array |
2 | Number | Positionsnummer des zu entfernenden Elements Die Zählung beginnt bei 1. |
Beispiele
RemoveItemAt(["A", "B", "C"], 2) ergibt ["A","C"].
RemoveItemAt(["A", "B", "C"], 4) ergibt ["A","B","C"] (Positionsnummer nicht gefunden).
RemoveItemWhere(), RemoveItemsWhere()
Diese Funktionen entfernen das erste oder alle Elemente aus einem Array, die eine gegebene Bedingung erfüllen, und liefern das modifizierte Array zurück.
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zu durchsuchendes Array |
2 | Bool | Makroausdruck zur Prüfung der Bedingung Der Makroausruck wird für jedes einzelne Element im Array ausgeführt und muss einen Wahrheitswert zurückliefern. Der zu prüfende Wert und die Positionsnummer des jeweiligen Elements werden in diesem Ausdruck über die Variablen |
Beispiele
RemoveItemWhere(["ABC", "DEF"], RegExIsMatch(@Value, "^(a|d).*")) ergibt ["DEF"].
RemoveItemsWhere(["ABC", "DEF"], RegExIsMatch(@Value, "^(a|d).*")) ergibt [].
ReplaceItem()
Diese Funktion ersetzt ein Element mit einem gegebenen Wert in einem Array durch ein anderes Element und liefert das modifizierte Array zurück.
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zugrunde liegendes Array |
2 | (variabel) | Wert des zu ersetzenden Elementes Bei der Suche nach Textwerten wird die Groß-/Kleinschreibung ignoriert. Wenn mehrere Elemente des gesuchten Wertes gefunden werden, werde alle Elemente durch den gleichen Ersetzungswert ersetzt. |
3 | (variabel) | Ersetzungswert |
Beispiele
ReplaceItem(["A", "a", "B"], "A", "C") ergibt ["C","C","B"].
ReplaceItemAt()
Diese Funktion ersetzt ein Element an einer gegebenen Position in einem Array durch ein anderes Element und liefert das modifizierte Array zurück.
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zugrunde liegendes Array |
2 | Number | Positionsnummer des zu ersetzenden Elementes Die Zählung beginnt bei 1. |
3 | (variabel) | Ersetzungswert |
Beispiele
ReplaceItemAt(["A", "B", "C"], 2, "D") ergibt ["A","D","C"].
ReplaceItemAt(["A", "B", "C"], 4, "D") ergibt ["A","B","C"] (Positionsnummer nicht gefunden).
ReplaceItemWhere(), ReplaceItemsWhere()
Diese Funktionen ersetzen das erste oder alle Elemente in einem Array, die eine gegebene Bedingung erfüllen, durch den gleichen Ersetzungswert und liefert das modifizierte Array zurück.
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zu durchsuchendes Array |
2 | Bool | Makroausdruck zur Prüfung der Bedingung Der Makroausruck wird für jedes einzelne Element im Array ausgeführt und muss einen Wahrheitswert zurückliefern. Der zu prüfende Wert und die Positionsnummer des jeweiligen Elements werden in diesem Ausdruck über die Variablen |
3 | (variabel) | Ersetzungswert |
Beispiele
ReplaceItemWhere(["ABC", "DEF", "GHI"], RegExIsMatch(@Value, "^(a|d).*"), "XXX") ergibt ["XXX","DEF","GHI"].
ReplaceItemsWhere(["ABC", "DEF"], RegExIsMatch(@Value, "^(a|d).*"), "XXX") ergibt ["XXX","XXX","GHI"].
Sort()
Diese Funktion sortiert die Elemente in einem Array aufsteigend.
Rückgabetyp: Array
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | Array | zugrunde liegendes Array |
2 | Bool | Wahrheitswert, ob beim Vergleich von Textwerten inhaltsgleiche Werte mit unterschiedlicher Groß-/Kleinschreibung als identisch angesehen werden Standardwert: |
Beispiele
Sort([3, 1, 2]) ergibt [1,2,3].
Sort(["C", "A", "B", "b"]) ergibt ["A","B","b","C"].
Sort(["C", "A", "B", "b"], FALSE) ergibt ["A","b","B","C"].
ToArray()
Diese Funktion generiert aus einem Einzelwert beliebigen Typs oder einer Zeichenfolge trennzeichenseparierter Textwerte ein Array mit entsprechend vielen Elementen.
Wenn der Eingabewert ein Array ist, entsteht ein geschachteltes Array. Mit dem Feldmakro IsArray kann im Vorfeld geprüft werden, ob der Eingabewert ein Array ist.
Rückgabetyp: Array
Parameter | Datentyp | Beschreibung |
|---|---|---|
1 | (variabel) | Einzelwert oder trennzeichenseparierte Werteliste |
2 | Text | Trennzeichen, das in der Werteliste genutzt wird Standardwert: |
Beispiele
ToArray(1) ergibt [1].
ToArray("A,B,C", ",") ergibt ["A","B","C"].
ToArray() ergibt [].