Excel-formel: Lengste seiersrekke -

Innholdsfortegnelse

Generisk formel

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

Sammendrag

For å beregne den lengste vinnerserien, kan du bruke en matriseformel basert på frekvensfunksjonen.

Merk: FREKVENS må oppgis som en matriseformel ved hjelp av Control + Shift + Enter

Forklaring

Dette er en vanskelig formel å forstå, og det krever at du har en numerisk id for hver kamp, ​​og at alle treff sorteres etter id.

De viktigste er å forstå hvordan FREKVENS samler tall i "søppelbøtter". Hver søppel representerer en øvre grense, og genererer et antall antall tall i datasettet som er mindre enn eller lik den øvre grensen, og større enn det forrige søppelnummeret.

Kjernen i denne formelen er at den lager en ny søppel på slutten av hver seiersrekke ved hjelp av id for det påfølgende tapet. Alle andre kasser blir opprettet som null. Den praktiske effekten er et antall fortløpende seire i hver søppel.

Innenfor frekvens genereres dataarrayen med dette:

IF(result="w",id)

Som skaper en matrise som dette:

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

Legg merke til at bare gevinster gjør det til denne matrisen.

Søppelbøylene genereres med:

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

Som skaper en matrise som dette:

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

Bare tapene gjør det til denne matrisen som verdier som ikke er null, og de blir de funksjonelle søppelkassene som teller. Gevinster oversettes som nuller, og samler faktisk ikke inn noen tall fra dataarrayen, siden FALSE-verdier blir ignorert.

Med dataarray og bin arrays ovenfor, returnerer frekvens en array med tellinger per bin. Ved å pakke inn MAX-funksjonen rundt dette matriseresultatet, får vi det høyeste antallet, som er den lengste vinnerserien.

MAX-funksjonen returnerer deretter det maksimale antallet.

Med en hjelpesøyle

Hvis du ikke liker fancy bukseformler som krever en fullsideforklaring for å forstå, kan du alltid bruke en hjelpekolonne med en enkel formel, og bruke MAX på resultatene. I dette tilfellet kan du opprette en løpende gevinst med denne formelen i D4, kopiert ned i kolonnen:

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

Gode ​​lenker

Hva er lengden på lengste seiersrekke (Chandoo)

Interessante artikler...