Mit Tabellenfunktion bis 3 Namen...
10.08.2011 10:51:28
Harald
...darüber hinaus wird's unübersichtlich. Angenommen, die Namen stehen in Zelle A1, dann geht es so:
=WENN(ISTLEER(A1);0;WENN(ISTFEHLER(FINDEN(",";A1));0;1+WENN(ISTFEHLER(FINDEN(",";A1;FINDEN(",";A1)+1) );0;1))+1)
Die Formel liefert 0, wenn A1 leer ist, ansonsten zählt sie die Anzahl der Kommas (0, 1 oder 2). Es sind dann immer (AnzahlKommas + 1) Namen in der Liste.
Bei mehr als drei möglichen Namen würde ich eine VBA Funktion vorschlagen:
Function ZähleNamen(Zelle As Range) As Long
Dim i As Long
Dim tmp As String
If ((Zelle.Rows.Count > 1) Or (Zelle.Columns.Count > 1)) Then
ZähleNamen = -1 ' Fehlerwert, wenn mehr als eine Zelle übergeben wird
Exit Function
End If
tmp = Zelle.Text
If Len(tmp) = 0 Then
ZähleNamen = 0
Exit Function
End If
ZähleNamen = 1
For i = 1 To Len(tmp)
If Mid(tmp, i, 1) = "," Then
ZähleNamen = ZähleNamen + 1
End If
Next
End Function
Gruß
Harald