“The best way to pay for a lovely moment is to enjoy it.” [Richard Bach]

Abstract

Die Excel Funktion TEXTVERKETTEN kann ab Excel Version 2019 die Inhalte von Zellbereichen und Arrays als Zeichenketten verbinden und mit vorgegebenem Trennzeichen ausgeben. Für Excel Versionen älter als Excel 2019 können Sie die hier vorgestellte benutzerdefinierte Funktion TEXTVERKETTEN verwenden.

Das Gute ist: Wenn Sie dann auf Excel 2019 oder neuer umstellen, müssen Sie nichts machen. Excel wird dann automatisch die eingebaute Funktion TEXTVERKETTEN verwenden.

Bitte beachten: Ich habe bewusst darauf verzichtet, mich um pathologische Fälle zu kümmern wie Trennzeichen ist ein Array oder Leer_ignorieren enthält ganze Zahlen wie 0 oder 1. Ich kopierte aber auch nicht die Fehler von Excel’s TEXTVERKETTEN. So behandelt Excel’s TEXTVERKETTEN Funktion Überschneidungen von nicht-zusammenhängenden Bereichen wie z. B. (A1:C3,D4:F6,G7:I9) (A1:B2,C3:D4,E5:F6,G7:H8,I9:J10) fehlerhaft. Wie bei fast jeder Analogie musste und wollte ich eine Grenze ziehen.

Anwendungsbeispiel - Fehlende Werte ausgeben

Mit der Formel =WENN(Start<Ende;TEXTVERKETTEN(",";WAHR;WENN(ISTNV(VERGLEICH(SEQUENZ(MAX(–Liste)-MIN(–Liste)+1;;MIN(–Liste));–Liste;0));SEQUENZ(MAX(–Liste)-MIN(–Liste)+1;;MIN(–Liste));""));"") können Sie ab Excel 2021 und Excel 365 fehlende Werte des Zahlenbereichs Liste ausgeben:

Textverketten

Mit Excel 2019 können Sie die Formel =WENN(Start<Ende;TEXTVERKETTEN(",";WAHR;WENN(ISTNV(VERGLEICH(ZEILE(INDIREKT(MIN(–Liste)&":"&MAX(–Liste)));–Liste;0));ZEILE(INDIREKT(MIN(–Liste)&":"&MAX(–Liste)));""));"") verwenden.

Bei älteren Excel Versionen als 2019 benötigen Sie die im Appendix gezeigte benutzerdefinierte Funktion TEXTVERKETTEN.

Appendix – Programmcode TEXTVERKETTEN

Bitte den Haftungsausschluss im Impressum beachten.

Option Explicit

Function TEXTVERKETTEN(Trennzeichen As String, _
    Leer_ignorieren As Boolean, _
    ParamArray Text() As Variant) As String
'Source (EN): http://www.sulprobil.com/textjoin_en/
'Source (DE): http://www.bplumhoff.de/textverketten_de/
'(C) (P) by Bernd Plumhoff 07-Jan-2022 PB V1.1
Dim v, i As Long, s As String, t As String
For i = LBound(Text) To UBound(Text)
    If IsArray(Text(i)) Then
        For Each v In Text(i)
            t = IIf(IsMissing(v), "", v)
            If Not (Leer_ignorieren And t = "") Then
                TEXTVERKETTEN = TEXTVERKETTEN & s & t
                s = Trennzeichen
            End If
        Next v
    Else
        t = IIf(IsMissing(Text(i)), "", Text(i))
        If Not (Leer_ignorieren And t = "") Then
            TEXTVERKETTEN = TEXTVERKETTEN & s & t
            s = Trennzeichen
        End If
    End If
Next i
End Function

Download

Bitte den Haftungsausschluss im Impressum beachten.

Textverketten.xlsx [13 KB Excel Datei, ohne jegliche Gewährleistung]

Falls Sie eine ältere Version als Excel 2019 einsetzen (der blaue Ausgabebereich wird dann natürlich Fehlerwerte ausweisen):

Textverketten_mit_UDF.xlsm [18 KB Excel Datei, ohne jegliche Gewährleistung]