Verwenden Sie diese Matrixformel:
=IF($D2=E$1,"X",SUM(--(ISNUMBER(MATCH(INDEX($A:$A,N(IF(,MODE.MULT(IF($B$2:$B$15=$D2,ROW($B$2:$B$15)*))))),INDEX($A:$A,N(IF(,MODE.MULT(IF($B$2:$B$15=E$1,ROW($B$2:$B$15)*))))),0)))))
Da es sich um eine Array-Formel handelt, muss diese beim Verlassen des Bearbeitungsmodus mit STRG-UMSCHALT-EINGABE anstelle von EINGABE bestätigt werden.
Diese Formel erstellt zwei Arrays der Delivery-Nummern:
MODE.MULT(IF($B$2:$B$15=$D2,ROW($B$2:$B$15)*))
Erstellt ein Array mit Zeilennummern, bei denen der Wert in D2 oder E1 in der anderen Hälfte gefunden wird.
Diese Zeilennummer durchläuft die, N()
die das Array zwingt, INDEX
und erzeugt dann das Array von Lieferungen, die diesen Artikel geliefert haben.
Das MATCH()
iteriert das erste Array und prüft, ob es im zweiten Array gefunden wird. Wenn es gefunden wird, wird eine Zahl zurückgegeben, wenn nicht ein Fehler.
Der ISNUMBER()
Rückgabewert ist TRUE / FALSE basierend auf der MATCH-Nummer oder dem Fehler.
Das --
wandelt TRUE / FALSE in 1/0 um, und SUMME summiert dieses letzte Array.