Ich versuche, die Anzahl der farbigen Zellen zu zählen (die auch eine andere Bedingung erfüllen).Überprüfen von farbigen Zellen mit SUMMENPRODUKT
sind meine Zellen wie folgt:
Meine Absicht ist es, die Zellen zu zählen, wo es ein ‚B‘ ist und wo die benachbarten Zellen in der Farbe grün.
Ich schreibe auch eine Funktion wie folgt:
Function CheckColor(rng As Range) As Boolean
If rng.Interior.ColorIndex = 43 Then
CheckColor = True
Else
CheckColor = False
End If
End Function
ich dann SUMPRODUCT
Funktion wie folgt:
=SUMPRODUCT(--(V40:V50="B");--CheckColor(W40:W50))
aber ich erhalte eine Fehlermeldung #VALUE!
UPDATE
Ich habe meine Formel wie folgt geändert:
Function CheckColor(rng As Range) As Variant
Dim arr As Variant
Dim n As Integer
ReDim arr(0 To rng.Count - 1) As Variant
n = 0
For Each cell In rng
If cell.Interior.ColorIndex <> 43 Then
bl = False
Else
bl = True
End If
arr(n) = bl
n = n + 1
Next cell
CheckColor = arr
End Function
Und ich verwenden Sie die Formel wie folgt:
=SUMPRODUCT((V40:V50="B")*CheckColor(W40:W50))
Die Antwort, die ich bekommen ist 6, was falsch ist.
Warum Sie 'COUNTIF' statt' SUMPRODUCT' nicht verwenden? – NatNgs
Ich habe gegoogelt und irgendwo gelesen, dass SUMPRODUCT Funktionen besser unterbringen kann –
Ich denke (aber nicht sicher), dass Ihre Funktion 'CheckColor (W40: W50)' als ein eindeutiger Wert berechnet, so '' SUMMENPRODUKT (- (V40: V50 = "B"); 0) 'das wird einen" # Wert "aufgrund von Parametern unterschiedlicher Größe werfen; haben Sie die Möglichkeit, Schritt für Schritt Formeln zu berechnen? – NatNgs