als Matrixformel:
=TEXTJOIN(", ",TRUE,IF(LEFT(TRIM(MID(SUBSTITUTE(A1,",",REPT(" ",999)),(ROW(1:99)-1)*999+1,999)),2)="OU",TRIM(MID(SUBSTITUTE(A1,",",REPT(" ",999)),(ROW(1:99)-1)*999+1,999)),""))
Als Matrixformel, muss sie mit bestätigt werden Ctrl-Shift-Enter statt Eingabe, wenn Bearbeitungsmodus zu verlassen.
TEXTJOIN() ist nur mit einem Abonnement für Office 365 Excel verfügbar.
Wenn Sie TEXTJOIN nicht(), setzen Sie den Code in einem Modul an der Arbeitsmappe angebracht und die Formel verwenden, wie oben beschrieben:
Function TEXTJOIN(delim As String, skipblank As Boolean, arr)
Dim d As Long
Dim c As Long
Dim arr2()
Dim t As Long, y As Long
t = -1
y = -1
If TypeName(arr) = "Range" Then
arr2 = arr.Value
Else
arr2 = arr
End If
On Error Resume Next
t = UBound(arr2, 2)
y = UBound(arr2, 1)
On Error GoTo 0
If t >= 0 And y >= 0 Then
For c = LBound(arr2, 1) To UBound(arr2, 1)
For d = LBound(arr2, 1) To UBound(arr2, 2)
If arr2(c, d) <> "" Or Not skipblank Then
TEXTJOIN = TEXTJOIN & arr2(c, d) & delim
End If
Next d
Next c
Else
For c = LBound(arr2) To UBound(arr2)
If arr2(c) <> "" Or Not skipblank Then
TEXTJOIN = TEXTJOIN & arr2(c) & delim
End If
Next c
End If
TEXTJOIN = Left(TEXTJOIN, Len(TEXTJOIN) - Len(delim))
End Function
Haben Sie es wollen eine Zelle oder viele? –
Sie können Text zu Spalten, Komma als Trennzeichen verwenden, um die Informationen aus den Zellen zu erhalten. Dann filtere/entferne sonst die nicht benötigten Informationen und füge dann mit 'TextJoin()' zurück, wenn du es hast. Was hast du probiert? – BruceWayne
@BruceWayne oder nur TEXTJOIN(), siehe unten. 8P –