Excel-formel: längsta vinnande rad -

Innehållsförteckning

Generisk formel

(=MAX(FREQUENCY(IF(result="w",id),IF(result="w",0,id))))

Sammanfattning

För att beräkna den längsta vinstraden kan du använda en matrisformel baserad på frekvensfunktionen.

Obs! FREKVENS måste anges som en matrisformel med Control + Shift + Enter

Förklaring

Det här är en knepig formel att förstå, och det kräver att du har ett numeriskt id för varje matchning och att alla matchningar sorteras efter id.

De är viktiga för att förstå hur FREKVENS samlar siffror i "soptunnor". Varje fack representerar en övre gräns och genererar ett antal av alla siffror i datamängden som är mindre än eller lika med den övre gränsen och större än föregående facknummer.

Kärnan i denna formel är att den skapar ett nytt lager i slutet av varje vinnande rad med ID för efterföljande förlust. Alla andra lagerplatser skapas som noll. Den praktiska effekten är ett antal vinster i följd i varje soptunna.

Inuti frekvensen genereras dataarrayen med detta:

IF(result="w",id)

Vilket skapar en matris så här:

(1; FALSE; 3; 4; 5; FALSE; 7; 8; 9; 10; 11; FALSE; FALSE; FALSE)

Observera att endast vinster gör det till denna matris.

Fackuppsättningen genereras med:

IF(result="w",0,id)

Vilket skapar en matris så här:

(0; 2; 0; 0; 0; 6; 0; 0; 0; 0; 0; 12; 13; 14)

Endast förlusterna gör det till denna matris som värden som inte är noll och de blir de funktionella lagerplatserna som vinner. Vinster översätts som nollor och samlar faktiskt inga siffror från dataarray, eftersom FALSE-värden ignoreras.

Med dataarray och bin arrays ovan returnerar frekvensen en array med räkningar per bin. Genom att slå in MAX-funktionen runt detta array-resultat får vi det högsta antalet, vilket är den längsta vinnande raden.

MAX-funktionen returnerar sedan det maximala antalet.

Med en hjälparpelare

Om du inte gillar snygga byxformler som kräver en fullständig förklaring av sidan för att förstå, kan du alltid använda en hjälpkolumn med en enkel formel och tillämpa MAX på resultaten. I det här fallet kan du skapa ett löpande antal vinster med denna formel i D4, kopierad ner i kolumnen:

=IF(C4="w",D3+1,0)

Bra länkar

Vad är längden på den längsta vinstraden (Chandoo)

Intressanta artiklar...