Für diese Art von Problem ist es hilfreich, in Arrays zu denken.
Wenn Sie ein Array (Liste) der Zahlen in Values (Spalte D) erhalten, bei dem Letters (Spalte B) gleich "A" ist und Numbers Duplikate entfernt hat, können Sie das Array einfach summieren, um die Antwort zu erhalten.
Dieser Ausdruck:
(B$2:B$12=F2)
Gibt ein Array von True/FalseWerten mit der TrueSpalte B = "A" an. Dieses:
(C$2:C$12<>C$3:C$13)
Gibt ein Array von True/FalseWerten an, bei denen Trueeine Zelle in Spalte C nicht der folgenden Zelle entspricht. Da sich Ihre Duplikate in sequentiellen Zellen befinden (Kommentar unten, falls dies nicht immer der Fall sein sollte), enthält dieses Array Falsedie zusätzlichen Vorkommen eines Werts und filtert im Wesentlichen die Duplikate heraus. Multiplizieren Sie diese beiden Arrays:
(B$2:B$12=F2)*(C$2:C$12<>C$3:C$13)
wandelt True/FalseWerte in Einsen und Nullen um und gibt ein Array mit 1 an den Stellen, die wir in der Summe haben wollen. Verwenden dieses Arrays als logical_testin IF()und Spalte D als value_if_true:
IF((B$2:B$12=F2)*(C$2:C$12<>C$3:C$13)>0,D$2:D$12)
Gibt ein Array der Werte in Spalte D zurück, wo immer eine 1 war, durchsetzt mit Falseeiner Null. Jetzt können wir nur das Array summieren. Diese Formel, die von G2 ausgefüllt wird, ergibt die unten gezeigten Ergebnisse.
=SUM(IF((B$2:B$12=F2)*(C$2:C$12<>C$3:C$13)>0,D$2:D$12))
Beachten Sie, dass dies eine Matrixformel ist und mit eingegeben werden muss CTRLShiftEnter.
