Aus mehreren Einzelumsätzen soll ermittelt werden, wer für einen bestimmten Artikel den höchsten Umsatz erzielt hat. Dabei sollen Hilfsspalten vermieden werden.
Im Beispiel für den Artikel "c" ist das WF: € 255,- + € 600,- = € 855,-
Lösung
In F1 wird der gewünschte Artikel eingegeben.
In F2 gibt´s dann die Lösung mit:
{=INDEX(A2:A9;VERGLEICH(MAX(MMULT((MTRANS(A2:A9)=A2:A9)*(MTRANS(B2:B9=F1))*MTRANS(C2:C9);ZEILE(2:9)^0));MMULT((MTRANS(A2:A9)=A2:A9)*(MTRANS(B2:B9=F1))*MTRANS(C2:C9);ZEILE(2:9)^0);))}
Dass die neueren Excelversionen (seit xl2007) auch ihre Vorzüge haben, zeigt die vereinfachte Lösung:
{=INDEX(A2:A9;VERGLEICH(MAX(SUMMEWENNS(C2:C9;B2:B9;F1;A2:A9;A2:A9));SUMMEWENNS(C2:C9;B2:B9;F1;A2:A9;A2:A9);0))}
Wie gesagt: Erst ab xl2007, da die Funktion SUMMEWENNS zum Einsatz kommt.
Logischerweise ist diese Lösung nicht abwärtskompatibel.
Ergänzung vom 01.11.2012:
Wenn man nur wissen möchte, wer der Top-Seller ist (ohne die Zusatzbedingung für einen bestimmten Artikel in Spalte B), kann man die deutlich einfachere 2007er Formel ohne "S-Erweiterung" bei SUMMEWENN auch in allen Excelversionen verwenden.
Die Summe aller Umsätze des Top-Sellers erhält man dann mit:
{=MAX(SUMMEWENN(A2:A9;A2:A9;C2:C9))}
Ergebnis: 1.110
und den dazugehörigen Namen mit:
{=INDEX(A2:A9;VERGLEICH(MAX(SUMMEWENN(A2:A9;A2:A9;C2:C9));SUMMEWENN(A2:A9;A2:A9;C2:C9);0))}
Ergebnis: Jens
Erläuterung
ZEILE(2:9)^0 steht für die Anzahl der Umsätze (hier 8). Dadurch wird das passende Einserarray für MMULT erzeugt, denn jede Zahl hoch 0 ergibt 1.
Somit erhält man das Array:
{1;1;1;1;1;1;1;1}
Bei anderen Datensätzen entsprechend anpassen/erhöhen auf z.B. ZEILE(29:317)^0.