
Üldine valem
=MAX(INDEX(data,0,MATCH(column,header,0)))
Kokkuvõte
Maksimaalse väärtuse saamiseks andmekogumis, kus veerg on muutuv, saate kasutada funktsiooni INDEX ja MATCH koos funktsiooniga MAX. Näidatud näites on J5 valem:
=MAX(INDEX(data,0,MATCH(J4,header,0)))
kus andmeid (B5: F15) ja päist (B4: F4) nimetatakse vahemikeks.
Selgitus
Märkus. Kui te olete INDEXi ja MATCHi uus kasutaja, vaadake jaotist INDEX ja MATCH
Standardses konfiguratsioonis saab funktsioon INDEX antud rea ja veeru väärtuse. Näiteks 2. ja 3. veeru väärtuse saamiseks antud vahemikus tehke järgmist.
=INDEX(range,2,3) // get value at row 2, column 3
INDEXil on siiski eriline nipp - võimalus hankida terveid veerge ja ridu. Süntaks hõlmab argumenti "muu" pakkumist nulli. Kui soovite tervet veergu, sisestage rida nullina. Kui soovite tervet rida, sisestage veerg nulliks:
=INDEX(data,0,n) // retrieve column n =INDEX(data,n,0) // retrieve row n
Näidatud näites soovime leida antud veerust maksimaalse väärtuse. Pöördeks on see, et veerg peab olema muutuv, et seda saaks hõlpsasti muuta. F5-s on valem:
=MAX(INDEX(data,0,MATCH(J4,header,0)))
Seestpoolt töötades kasutame kõigepealt funktsiooni MATCH, et saada lahtrisse J4 soovitud veeru "register":
MATCH(J4,header,0) // get column index
Kui J4-s on "roheline", tagastab funktsioon MATCH 3, kuna roheline on nimetatud vahemiku päise kolmas väärtus . Pärast seda, kui MATCH tagastab tulemuse, saab valemit sellega lihtsustada:
=MAX(INDEX(data,0,3))
Kui rea numbrina on ette nähtud null, tagastab INDEX kõik väärtused nimega vahemiku andmete 3. veerus . Tulemus tagastatakse funktsiooni MAX sellises massiivis:
=MAX((83;54;35;17;85;16;70;72;65;93;91))
Ja MAX tagastab lõpptulemuse, 93.
Minimaalne väärtus
Minimaalse väärtuse saamiseks muutuva veeruga saate funktsiooni MAX lihtsalt asendada funktsiooniga MIN. J6 valem on:
=MIN(INDEX(data,0,MATCH(J4,header,0)))
FILTERiga
Uut funktsiooni FILTER saab kasutada ka selle probleemi lahendamiseks, kuna FILTER saab filtreerida andmeid ridade või veergude kaupa. Trikk on luua loogiline filter, mis välistab muud veerud. COUNTIF töötab sel juhul hästi, kuid see peab olema konfigureeritud "tagurpidi", vahemikuna J4 ja kriteeriumite päis :
=MAX(FILTER(data,COUNTIF(J4,header)))
Pärast COUNTIF-i jooksmist on meil:
=MAX(FILTER(data,(0,0,1,0,0)))
Ja FILTER toimetab 3. veeru MAX-ile, nagu ülaltoodud funktsioon INDEX.
COUNTIF-i alternatiivina saate selle asemel kasutada ISNUMBER + MATCH:
=MAX(FILTER(data,ISNUMBER(MATCH(header,J4,0))))
Funktsioon MATCH on jälle seadistatud "tagurpidi", nii et saame 5 väärtusega massiivi, mis toimib loogilise filtrina. Pärast ISNUMBER ja MATCH jooksu on meil:
=MAX(FILTER(data,(FALSE,FALSE,TRUE,FALSE,FALSE)))
Ja FILTER toimetab 3. veeru uuesti MAX-le.