Enhavtabelo
La artikolo montras kelkajn malsamajn manierojn akiri la maksimuman valoron en Excel surbaze de unu aŭ pluraj kondiĉoj kiujn vi specifas.
En nia antaŭa lernilo, ni rigardis la komunajn uzojn. de la MAX-funkcio kiu estas dizajnita por resendi la plej grandan nombron en datumaro. En iuj situacioj, tamen, vi eble bezonos pliprofundigi viajn datumojn por trovi la maksimuman valoron bazitan sur iuj kriterioj. Ĉi tio povas esti farita uzante kelkajn malsamajn formulojn, kaj ĉi tiu artikolo klarigas ĉiujn eblajn manierojn.
Excel MAX IF formulo
Ĝis antaŭ nelonge, Microsoft Excel ne havis enkonstruita MAX IF-funkcio por akiri la maksimuman valoron bazitan sur kondiĉoj. Kun la enkonduko de MAXIFS en Excel 2019, ni povas fari kondiĉan maksimumon per facila maniero.
En Excel 2016 kaj pli fruaj versioj, vi ankoraŭ devas krei vian propran aran formulon kombinante la MAX. funkcio kun IF-a deklaro:
{=MAX(IF( kriterio_gamo= kriterio, maks_amplekso))}Por vidi kiel ĉi tiu ĝenerala MAX SE formulo funkcias sur realaj datumoj, bonvolu konsideri la sekvan ekzemplon. Supozu, ke vi havas tabelon kun la longsaltrezultoj de pluraj studentoj. La tabelo inkluzivas la datumojn por tri ĉirkaŭvojoj, kaj vi serĉas la plej bonan rezulton de aparta atleto, diras Jakobo. Kun la studentnomoj en A2:A10 kaj distancoj en C2:C10, la formulo prenas ĉi tiun formon:
=MAX(IF(A2:A10="Jacob", C2:C10))
Bonvolu memori, ke tabelformuloĉiam devas esti enigita per premado de la klavoj Ctrl + Shift + Enter samtempe. Kiel rezulto, ĝi estas aŭtomate ĉirkaŭita per buklaj krampoj kiel montrite en la ekrankopio malsupre (tajpi la krampojn permane ne funkcios!).
Mi realvivaj laborfolioj, estas pli oportune enigi la kriterion en iuj. ĉelo, por ke vi povas facile ŝanĝi la kondiĉon sen ŝanĝi la formulon. Do, ni tajpas la deziratan nomon en F1 kaj ricevas la sekvan rezulton:
=MAX(IF(A2:A10=F1, C2:C10))
Kiel ĉi tiu formulo funkcias
En la logika provo de la funkcio IF, ni komparas la liston de nomoj (A2:A10) kun la celnomo (F1). La rezulto de ĉi tiu operacio estas tabelo de VERA kaj FALSA, kie la VERA valoroj reprezentas nomojn kiuj kongruas kun la celnomo (Jakobo):
{FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE}
Por la valoro_ if_true argumento, ni liveras la longsaltrezultojn (C2:C10), do se la logika testo taksas VERA, la responda nombro de kolumno C estas resendita. La argumento value_ if_false estas ellasita, tio signifas nur havos FALSA valoron kie la kondiĉo ne estas plenumita:
{FALSE;FALSE;FALSE;5.48;5.42;5.57;FALSE;FALSE;FALSE}
Ĉi tiu tabelo estas provizita al la MAX-funkcio, kiu redonas la maksimuman nombron ignorante la FALSAJ valorojn.
Konsileto. Por vidi la internajn tabelojn diskutitajn supre, elektu la respondan parton de la formulo en via laborfolio kaj premu la F9-klavon. Por eliri la formulan taksadon, premu la klavon Esc.
MAX IF formulo kun multoblajkriterioj
En situacio, kiam vi bezonas trovi la maksimuman valoron surbaze de pli ol unu kondiĉo, vi povas aŭ:
Uzi nestitajn IF-diraĵojn por inkluzivi pliajn kriteriojn:
{=MAX( IF( kriterio_gamo1 = kriterio1 , IF( kriterio_gamo2 = kriterio2 , maksimuma_gamo )))}Aŭ pritraktu plurajn kriteriojn per la multiplika operacio:
{=MAX(IF(( kriterio_gamo1 = kriterio1 ) * ( kriterio_gamo2 = kriterio2 ), max_range ))}Ni diru, ke vi havas la rezultojn de knaboj kaj knabinoj en ununura tabelo kaj vi deziras trovi la plej longan salton inter knabinoj en raŭndo 3. Por fari ĝin , ni enigas la unuan kriterion (inan) en G1, la duan kriterion (3) en G2, kaj uzas la jenajn formulojn por ellabori la maksimuman valoron:
=MAX(IF(B2:B16=G1, IF(C2:C16=G2, D2:D16)))
=MAX(IF((B2:B16=G1)*(C2:C16=G2), D2:D16))
Ĉar ambaŭ estas tabelaj formuloj, bonvolu memori premi Ctrl + Shift + Enter por plenumi ilin ĝuste.
Kiel montrite en la ekrankopio malsupre, la formuloj produktas la saman rezulton, do kiun oni uzu estas afero pri vi via persona prefero. Por mi, la formulo kun la Bulea logiko estas pli facile legebla kaj konstruebla – ĝi permesas aldoni tiom da kondiĉoj kiom vi volas sen nestumi pliajn IF-funkciojn.
Kiel funkcias ĉi tiuj formuloj.
La unua formulo uzas du nestitajn IF-funkciojn por taksi du kriteriojn. En la logika testo de la unua IF deklaro, ni komparas la valorojn en la kolumno Genro(B2:B16) kun la kriterio en G1 ("Ina"). La rezulto estas tabelo de VERA kaj FALSA valoroj kie VERA reprezentas datumojn kiuj kongruas kun la kriterio:
{FALSE; FALSE; FALSE; TRUE; TRUE; TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; TRUE}
Simile, la dua SE-funkcio kontrolas la valorojn en la Ronda kolumno (C2 :C16) kontraŭ la kriterio en G2.
Por la argumento value_if_true en la dua IF-propozicio, ni liveras la longsaltrezultojn (D2:D16), kaj tiamaniere ni ricevas la erojn. kiuj havas VERA en la unuaj du tabeloj en respondaj pozicioj (t.e. la eroj kie la sekso estas "ina" kaj ronda estas 3):
{FALSE; FALSE; FALSE; FALSE; FALSE; 4.63; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; 4.52}
Tiu fina tabelo iras al la MAX-funkcio kaj ĝi liveras la plej grandan nombron.
La dua formulo taksas la samajn kondiĉojn ene de ununura logika testo kaj la multiplika operacio funkcias kiel la operatoro AND:
Kiam la VERA kaj FALSA valoroj estas uzataj en iu ajn aritmetika operacio, ili estas konvertitaj en 1'ojn kaj 0'ojn, respektive. Kaj ĉar multobligi per 0 ĉiam donas nulon, la rezulta tabelo havas 1 nur kiam ĉiuj kondiĉoj estas VERAJ. Ĉi tiu tabelo estas taksata en la logika testo de la funkcio IF, kiu redonas la distancojn respondajn al la 1 (VERA) elementoj.
MAX IF sen tabelo
Multaj uzantoj de Excel, inkluzive de mi, estas antaŭjuĝema kontraŭ tabelaj formuloj kaj provu forigi ilin kie ajn eblas. Feliĉe, Microsoft Excel havas kelkajn funkciojn, kiuj pritraktas tabelon denaske, kaj ni povas uzi unude tiaj funkcioj, nome SUMPRODUKTO, kiel speco de "envolvaĵo" ĉirkaŭ MAX.
La senmarka MAX IF-formulo sen tabelo estas jena:
=SUMPRODUCT(MAX(( kriterio_gamo1 = kriterio1 ) * ( kriterio_gamo2 = kriterio2 ) * maks_gamo ))Nature, vi povas aldoni pli da gamo/kriterioparoj se bezonata.
Por vidi la formulon en ago, ni uzos la datumojn de la antaŭa ekzemplo. La celo estas akiri la maksimuman salton de ina atleto en raŭndo 3:
=SUMPRODUCT(MAX(((B2:B16=G1) * (C2:C16=G2) * (D2:D16))))
Tiu formulo konkuras per normala Enigu klavopremo kaj resendas la saman rezulton kiel la tabelo MAX IF-formulo:
Dendante pli detale rigardon al la supra ekrankopio, vi povas rimarki, ke nevalidaj saltoj markitaj per "x" en la antaŭaj ekzemploj nun havas 0 valorojn en vicoj 3, 11 kaj 15. , kaj la sekva sekcio klarigas kial.
Kiel ĉi tiu formulo funkcias
Kiel kun la formulo MAX IF, ni taksas du kriteriojn komparante ĉiun valoron en la Sekso (B2:B16) kaj Ronda ( C2:C16) kolumnoj kun la kriterioj en ĉeloj G1 kaj G2. La rezulto estas du tabeloj de VERA kaj FALSA valoroj. Multobligi la elementojn de la tabeloj en la samaj pozicioj konvertas VERA kaj FALSA en 1 kaj 0, respektive, kie 1 reprezentas la erojn kiuj renkontas ambaŭ kriteriojn. La tria multobligita tabelo enhavas la longsaltrezultojn (D2:D16). Kaj ĉar multobligi per 0 donas nulon, nur la eroj kiuj havas 1 (VERA) en la respondaj poziciojsurvive:
{0; 0; 0; 0; 0; 4.63; 0; 0; 0; 0; 0; 0; 0; 0; 4.52}
En la okazo ke max_range enhavas iun ajn tekstan valoron, la multiplika operacio liveras la #VALUE-eraron pro kiu la tuta formulo ne funkcios.
La funkcio MAX prenas ĝin de ĉi tie kaj redonas la plej grandan nombron, kiu plenumas la specifitajn kondiĉojn. La rezulta tabelo konsistanta el ununura elemento {4.63} iras al la funkcio SUMPRODUCT kaj ĝi eligas la maksimuman nombron en ĉelo.
Noto. Pro ĝia specifa logiko, la formulo funkcias kun la sekvaj avertoj:
- La intervalo kie vi serĉas la plej altan valoron devas enhavi nur nombrojn. Se estas iuj tekstaj valoroj, #VALORO! eraro estas redonita.
- La formulo ne povas taksi la kondiĉon "ne egala al nulo" en negativa datumaro. Por trovi maksimuman valoron ignorante nulojn, uzu aŭ MAX IF-formulon aŭ MAXIFS-funkcion.
Excel MAX IF-formulo kun OR-logiko
Por trovi la maksimuman valoron kiam iun el la specifitaj kondiĉoj estas plenumita, uzu la jam konatan tabelon MAX IF-formulon kun la Bulea logiko, sed aldonu la kondiĉojn anstataŭ multobligi ilin.
{=MAX(IF(( kriterio_gamo1 = kriterio1 ) + ( kriterio_gamo2 = kriterio2 ), maks_gamo ))}Alternative, vi povas uzi la sekvan ne-tablan formulon :
=SUMPRODUKTO(MAX((( kriterio_gamo1 = kriterio1 ) + ( kriterio_gamo2 = kriterio_2 )) * max_range ))Ekzemple, ni laborula plej bona rezulto en ĉirkaŭvojoj 2 kaj 3. Bonvolu atenti, ke en la lingvo Excel, la tasko estas formulita malsame: redonu la maksimuman valoron se rondo estas aŭ 2 aŭ 3.
Kun la rondoj listigitaj en B2:B10 , la rezultoj en C2:C10 kaj kriterioj en F1 kaj H1, la formulo iras jene:
=MAX(IF((B2:B10=F1) + (B2:B10=H1), C2:C10))
Enigu la formulon premante la klavkombinon Ctrl + Shift + Enigu kaj vi ricevos ĉi tiu rezulto:
La maksimuma valoro kun la samaj kondiĉoj ankaŭ troveblas per ĉi tiu ne-tabla formulo:
=SUMPRODUCT(MAX(((B2:B10=F1) + (B2:B10=H1)) * C2:C10))
Tamen, ni devas anstataŭigi ĉiujn "x" valorojn en kolumno C per nuloj ĉi-kaze ĉar SUMPRODUCT MAX nur funkcias kun nombraj datumoj:
Kiel ĉi tiuj formuloj funkcias
La tabelformulo funkcias ekzakte same kiel MAX IF kun KAJ logiko krom ke vi kunigas la kriteriojn uzante la aldonan operacion anstataŭ multipliko. En tabelaj formuloj, aldono funkcias kiel la OR-funkciigisto:
Aldono de du tabeloj de VERA kaj FALSA (kiuj rezultas el kontrolado de la valoroj en B2:B10 kontraŭ la kriterioj en F1 kaj H1) produktas tabelon de 1 kaj 0'oj kie 1 reprezentas la erojn por kiuj ambaŭ kondiĉoj estas VERA kaj 0 reprezentas la erojn por kiuj ambaŭ kondiĉoj estas FALSAJ. Kiel rezulto, la IF-funkcio "konservas" ĉiujn erojn en C2:C10 ( valoro_se_vera ) por kiuj ajna kondiĉo estas VERA (1); la ceteraj eroj estas anstataŭigitaj per FALSA ĉar la valoro_se_falsa argumento ne estas specifita.
La ne-tabla formulo funkcias simile. La diferenco estas, ke anstataŭ la logika testo de IF, vi multobligas la elementojn de la 1-a kaj 0-a tabelo per la elementoj de la longsalto-rezulta tabelo (C2:C10) en la respondaj pozicioj. Ĉi tio nuligas la erojn kiuj ne plenumas ajnan kondiĉon (havas 0 en la unua tabelo) kaj konservas la erojn kiuj plenumas unu el la kondiĉoj (havas 1 en la unua tabelo).
MAXIFS – facila maniero trovi la plej altan. valoro kun kondiĉoj
La uzantoj de Excel 2019, 2021 kaj Excel 365 estas liberaj de la problemo malsovaĝigi tabelojn por konstrui sian propran MAX IF-formulon. Ĉi tiuj versioj de Excel provizas la longe atenditan MAXIFS-funkcion, kiu faras trovi la plej grandan valoron kun kondiĉoj infanludo.
En la unua argumento de MAXIFS, vi enigu la intervalon en kiu la maksimuma valoro devus esti trovita (D2: D16 en nia kazo), kaj en la postaj argumentoj vi povas enigi ĝis 126 gamo/kriterioparojn. Ekzemple:
=MAXIFS(D2:D16, B2:B16, G1, C2:C16, G2)
Kiel montrite en la malsupra ekrankopio, ĉi tiu simpla formulo ne havas problemon pri prilaborado de la intervalo, kiu enhavas kaj numerajn kaj tekstajn valorojn:
Por la detalaj informoj pri ĉi tiu funkcio, bonvolu vidi Excel MAXIFS-funkcion kun formulekzemploj.
Tiel vi povas trovi maksimuman valoron kun kondiĉoj en Excel. Mi dankas vin pro legado kaj esperas vidi vin poste en nia blogosemajno!
Praktiku laborlibron por elŝuto
Excel MAX IF formulekzemploj (.xlsx-dosiero)