Generisk formel
(=MAX(FREQUENCY(IF(result="w",id),IF(result="w",0,id))))
Resumé
For at beregne den længste vinderække kan du bruge en matrixformel baseret på frekvensfunktionen.
Bemærk: FREKVENS skal indtastes som en matrixformel ved hjælp af Control + Shift + Enter
Forklaring
Dette er en vanskelig formel at forstå, og det kræver, at du har et numerisk id for hver kamp, og at alle matches er sorteret efter id.
De er nøglen til at forstå, hvordan FREKVENS samler tal i "skraldespande". Hver kasse repræsenterer en øvre grænse og genererer et antal af alle tal i datasættet, der er mindre end eller lig med den øvre grænse og større end det forrige kuffertnummer.
Kernen i denne formel er, at den opretter en ny papirkurv i slutningen af hver vindende række ved hjælp af id'et for det efterfølgende tab. Alle andre skraldespande oprettes som nul. Den praktiske effekt er optællingen af fortløbende sejre i hver bin.
Inden for frekvens genereres dataarrayet med dette:
IF(result="w",id)
Hvilket skaber en matrix som denne:
(1; FALSK; 3; 4; 5; FALSK; 7; 8; 9; 10; 11; FALSK; FALSK; FALSK)
Bemærk, at kun sejre gør det til denne matrix.
Bins-arrayet genereres med:
IF(result="w",0,id)
Hvilket skaber en matrix som denne:
(0; 2; 0; 0; 0; 6; 0; 0; 0; 0; 0; 12; 13; 14)
Kun tabene gør det til dette array som værdier, der ikke er nul, og de bliver de funktionelle skraldespande, der tæller vinder. Sejre oversættes som nuller og indsamler faktisk ikke nogen numre fra dataarrayet, da FALSE-værdier ignoreres.
Med ovenstående dataarray og bin-arrays returnerer frekvens et array med tællinger pr. Bin. Ved at indpakke MAX-funktionen omkring dette array-resultat får vi det højeste antal, som er den længste vinderække.
MAX-funktionen returnerer derefter det maksimale antal.
Med en hjælpekolonne
Hvis du ikke kan lide fancy bukseformler, der kræver en komplet sideforklaring for at forstå, kan du altid bruge en hjælpekolonne med en simpel formel og anvende MAX på resultaterne. I dette tilfælde kan du oprette et løbende antal sejre med denne formel i D4, kopieret ned i kolonnen:
=IF(C4="w",D3+1,0)