Excel formula: največja vrednost s spremenljivko stolpec -

Splošna formula

=MAX(INDEX(data,0,MATCH(column,header,0)))

Povzetek

Če želite pridobiti največjo vrednost v naboru podatkov, kjer je stolpec spremenljiv, lahko uporabite INDEX in MATCH skupaj s funkcijo MAX. V prikazanem primeru je formula v J5:

=MAX(INDEX(data,0,MATCH(J4,header,0)))

kjer so podatki (B5: F15) in glava (B4: F4) imenovani obsegi.

Pojasnilo

Opomba: Če še ne uporabljate INDEX in MATCH, glejte: Kako uporabljati INDEX in MATCH

V standardni konfiguraciji funkcija INDEX pridobi vrednost v dani vrstici in stolpcu. Če želite na primer dobiti vrednost v vrstici 2 in stolpcu 3 v določenem obsegu:

=INDEX(range,2,3) // get value at row 2, column 3

Vendar ima INDEX poseben trik - možnost pridobivanja celotnih stolpcev in vrstic. Sintaksa vključuje podajanje ničle za argument "drugo". Če želite cel stolpec, vrstico navedete kot nič. Če želite celo vrstico, stolpec navedete kot nič:

=INDEX(data,0,n) // retrieve column n =INDEX(data,n,0) // retrieve row n

V prikazanem primeru želimo najti največjo vrednost v danem stolpcu. Zasuk je, da mora biti stolpec spremenljiv, da ga je mogoče enostavno spremeniti. V F5 je formula:

=MAX(INDEX(data,0,MATCH(J4,header,0)))

Če delamo od znotraj navzven, najprej uporabimo funkcijo MATCH, da dobimo "indeks" stolpca, zahtevanega v celici J4:

MATCH(J4,header,0) // get column index

Z "Green" v J4 funkcija MATCH vrne 3, saj je Green tretja vrednost v imenovani glavi obsega . Ko MATCH vrne rezultat, lahko formulo poenostavimo na to:

=MAX(INDEX(data,0,3))

Če je številka vrstice navedena kot nič, INDEX vrne vse vrednosti v stolpcu 3 imenovanih podatkov obsega . Rezultat se vrne v funkcijo MAX v matriki, kot je ta:

=MAX((83;54;35;17;85;16;70;72;65;93;91))

In MAX vrne končni rezultat, 93.

Najmanjša vrednost

Če želite dobiti minimalno vrednost s spremenljivim stolpcem, lahko preprosto nadomestite funkcijo MAX s funkcijo MIN. Formula v J6 je:

=MIN(INDEX(data,0,MATCH(J4,header,0)))

S FILTROM

Za rešitev te težave je mogoče uporabiti tudi novo funkcijo FILTER, saj lahko FILTER podatke filtrira po vrsticah ali stolpcih. Trik je v izdelavi logičnega filtra, ki bo izključil druge stolpce. COUNTIF v tem primeru dobro deluje, vendar ga je treba konfigurirati "nazaj", z J4 kot obsegom in glavo za kriterije:

=MAX(FILTER(data,COUNTIF(J4,header)))

Po zagonu COUNTIF imamo:

=MAX(FILTER(data,(0,0,1,0,0)))

In FILTER dostavi 3. stolpec na MAX, enako kot zgornja funkcija INDEX.

Namesto COUNTIF lahko namesto tega uporabite ISNUMBER + MATCH:

=MAX(FILTER(data,ISNUMBER(MATCH(header,J4,0))))

Funkcija MATCH je spet nastavljena "nazaj", tako da dobimo matriko s 5 vrednostmi, ki bo služila kot logični filter. Po teku ISNUMBER in MATCH imamo:

=MAX(FILTER(data,(FALSE,FALSE,TRUE,FALSE,FALSE)))

In FILTER ponovno dostavi 3. stolpec na MAX.

Zanimive Članki...