Ich versuche, die Anzahl der eindeutigen Zellen in Spalte C zu zählen, die kein "#" oder "-" enthalten.
Ich habe eine Spalte mit Zellen, die Namen enthalten. Einige dieser Namen werden wiederholt und einige haben Zeichen wie "-" und / oder "#" innerhalb von - Ich versuche, diese Zellen von der Zählung auszuschließen.
Ich habe 2 Formeln, von denen jede die Hälfte von dem macht, was ich brauche, aber ich muss die beiden Formeln kombinieren, um die richtige Antwort zu erhalten:
Diese Formel zählt die Anzahl eindeutiger Zellen (und kümmert sich um Leerzeichen): = SUM (IF (COUNTIF (C4: C3689, C4: C3689) = 0, "", 1 / COUNTIF (C4: C3689, C4: C3689) )
Diese Formel zählt die Anzahl der Zellen, die kein "#" oder "-" haben: = SUMPRODUCT (N (LEN (SUBSTITUTE (C4: C3689, "-", ""), "#", "") )) = LEN (C4: C3689)))
Wissen Sie, wie Sie die 2 Formeln kombinieren können? Wenn Sie wissen, wie Sie die beiden Formeln auf unterschiedliche Art und Weise kombinieren können (benutzerdefinierte Funktion oder VBA), wäre das ebenfalls großartig.
Vielen Dank.
Antworten:
2 für die Antwort № 1Diese Formel zählt die Anzahl der verschiedenen Einträge im angegebenen Bereich, ausgenommen die Einträge #
oder -
=SUMPRODUCT((ISERR(SEARCH("#",C4:C3689))*ISERR(SEARCH("-",C4:C3689))*(C4:C3689<>""))/COUNTIF(C4:C3689,C4:C3689&""))
0 für die Antwort № 2
Verwenden Sie eine Funktion wie diese:
=GetUniqueCount("C4:C3689")
Fügen Sie den Funktionscode hinzu:
Function GetUniqueCount(rng As Range) As Variant
"Dim rng as Range
"Set rng = Range("C4:C3869") "Modify as needed
Dim r as Range
Dim uniqueCount as Long
Dim dict as Object
Set dict = CreateObject("Scripting.Dictionary")
For each r in rng.Cells
If Not dict.Exists(r.Value) Then
If Instr(1, r.Value, "#") = 0 Then
If Instr(1, r.Value, "-") = 0 Then
dict(r) = ""
uniqueCount = uniqueCount + 1
End If
End If
End If
Next
GetUniqueCount = uniqueCount
Set dict = Nothing
End Function