Excel MAX IF formula, lai atrastu lielāko vērtību ar nosacījumiem

  • Dalīties Ar Šo
Michael Brown

Rakstā ir parādīti vairāki dažādi veidi, kā iegūt maksimālo vērtību programmā Excel, pamatojoties uz vienu vai vairākiem nosacījumiem, ko norādāt.

Iepriekšējā pamācībā mēs aplūkojām, kā parasti tiek izmantota funkcija MAX, kas ir paredzēta, lai atgrieztu lielāko skaitli datu kopā. Tomēr dažās situācijās var būt nepieciešams padziļināti izpētīt datus, lai atrastu maksimālo vērtību, pamatojoties uz noteiktiem kritērijiem. To var izdarīt, izmantojot vairākas dažādas formulas, un šajā rakstā ir izskaidroti visi iespējamie veidi.

    Excel MAX IF formula

    Vēl nesen Microsoft Excel nebija iebūvētas funkcijas MAX IF, lai iegūtu maksimālo vērtību, pamatojoties uz nosacījumiem. Līdz ar MAXIFS ieviešanu programmā Excel 2019, mēs varam viegli veikt nosacīto maksimālo vērtību.

    Programmā Excel 2016 un agrākajās versijās joprojām ir jāizveido savs masīva formula apvienojot MAX funkciju ar IF izteikumu:

    {=MAX(IF( criteria_range = kritēriji , max_range ))}

    Lai redzētu, kā šī vispārīgā MAX IF formula darbojas ar reāliem datiem, aplūkojiet šādu piemēru. Pieņemsim, ka jums ir tabula ar vairāku skolēnu lēciena tāllēkšanas rezultātiem. Tabulā ir trīs kārtu dati, un jūs meklējat kāda konkrēta sportista, piemēram, Jēkaba, labāko rezultātu. Ja skolēnu vārdi ir A2:A10 un attālumi C2:C10, formula iegūst šādu formu:

    =MAX(IF(A2:A10="Jacob", C2:C10))

    Lūdzu, paturiet prātā, ka masīva formula vienmēr ir jāievada, vienlaicīgi nospiežot taustiņus Ctrl + Shift + Enter. Rezultātā tā automātiski tiek ieslēgta lokāmās iekavās, kā parādīts zemāk redzamajā ekrānšāviņas attēlā (ievadi iekavās manuāli nedarbosies!).

    Reālās darblapās ir ērtāk ievadīt kritēriju kādā šūnā, lai varētu viegli mainīt nosacījumu, nemainot formulu. Tātad mēs ierakstām vēlamo nosaukumu F1 un iegūstam šādu rezultātu:

    =MAX(IF(A2:A10=F1, C2:C10))

    Kā darbojas šī formula

    Funkcijas IF loģiskajā testā mēs salīdzinām nosaukumu sarakstu (A2:A10) ar mērķa nosaukumu (F1). Šīs operācijas rezultāts ir TRUE un FALSE masīvs, kur TRUE vērtības ir nosaukumi, kas atbilst mērķa nosaukumam (Jacob):

    {FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE}

    Par value_ if_true argumentu, mēs sniedzam garā lēciena rezultātus (C2:C10), tāpēc, ja loģiskais tests ir TRUE, tiek atgriezts atbilstošais skaitlis no C slejas. value_ if_false arguments ir izlaists, un tas nozīmē, ka gadījumā, ja nosacījums nav izpildīts, būs tikai FALSE vērtība:

    {FALSE;FALSE;FALSE;FALSE;FALSE;5.48;5.42;5.57;FALSE;FALSE;FALSE;FALSE;FALSE}

    Šis masīvs tiek ievadīts funkcijai MAX, kas atgriež maksimālo skaitu, ignorējot vērtības FALSE.

    Padoms. Lai apskatītu iepriekš aplūkotos iekšējos masīvus, darba lapā atlasiet attiecīgo formulas daļu un nospiediet taustiņu F9. Lai izietu no formulas novērtēšanas režīma, nospiediet taustiņu Esc.

    MAX IF formula ar vairākiem kritērijiem

    Ja nepieciešams atrast maksimālo vērtību, pamatojoties uz vairāk nekā vienu nosacījumu, varat:

    Lai iekļautu papildu kritērijus, izmantojiet ligzdotus IF izteikumus:

    {=MAX(IF( kritērijs_range1 = kritēriji1 , IF( kritērijs_range2 = kritēriji2 , max_range )))}

    Vai arī apstrādājiet vairākus kritērijus, izmantojot reizināšanas operāciju:

    {=MAX(IF((( kritērijs_range1 = kritēriji1 ) * ( kritērijs_range2 = kritēriji2 ), max_range ))}

    Pieņemsim, ka jums ir zēnu un meiteņu rezultāti vienā tabulā un jūs vēlaties atrast garāko lēcienu starp meitenēm 3. kārtā. Lai to izdarītu, ievadiet pirmo kritēriju (meitenes) G1, otro kritēriju (3) G2 un izmantojiet šādas formulas, lai iegūtu maksimālo vērtību:

    =MAX(IF(B2:B16=G1, IF(C2:C16=G2, D2:D16))))

    =MAX(IF((B2:B16=G1)*(C2:C16=G2), D2:D16))

    Tā kā abas formulas ir masīva formulas, atcerieties, ka, lai tās pareizi aizpildītu, nospiediet Ctrl + Shift + Enter.

    Kā redzams tālāk redzamajā ekrānšāviņā, formulas dod vienādu rezultātu, tāpēc ir atkarīgs no jūsu personīgajām vēlmēm, kuru no tām izmantot. Man formulu ar Boolea loģiku ir vieglāk lasīt un veidot - tā ļauj pievienot tik daudz nosacījumu, cik vien vēlaties, bez papildu IF funkciju ieligzdošanas.

    Kā šīs formulas darbojas

    Pirmajā formulā divu kritēriju novērtēšanai tiek izmantotas divas iegultas IF funkcijas. Pirmā IF apgalvojuma loģiskajā testā mēs salīdzinām vērtības slejā Gender (B2:B16) ar kritēriju G1 ("Female"). Rezultāts ir TRUE un FALSE vērtību masīvs, kur TRUE ir dati, kas atbilst kritērijam:

    {FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; TRUE; TRUE; TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; TRUE; TRUE; TRUE}

    Līdzīgā veidā otrā IF funkcija pārbauda apaļās kolonnas (C2:C16) vērtības, salīdzinot tās ar G2 kritēriju.

    Par value_if_true argumentu otrajā IF apgalvojumā, mēs sniedzam garā lēciena rezultātus (D2:D16), un tādējādi mēs iegūstam vienumus, kuriem pirmajos divos masīvos attiecīgajās pozīcijās ir TRUE (t. i., vienumus, kuros dzimums ir "sieviete" un kārta ir 3):

    {MELOTS; NEPATIESS; NEPATIESS; NEPATIESS; NEPATIESS; NEPATIESS; NEPATIESS; NEPATIESS; NEPATIESS; NEPATIESS; NEPATIESS; NEPATIESS; NEPATIESS; NEPATIESS; NEPATIESS; NEPATIESS; NEPATIESS; NEPATIESS; 4.52}

    Šis galīgais masīvs tiek nodots funkcijai MAX, un tā atgriež lielāko skaitli.

    Otrajā formulā tie paši nosacījumi tiek izvērtēti vienā loģiskajā testā, un reizināšanas operācija darbojas kā operators AND:

    Kad vērtības TRUE un FALSE tiek izmantotas jebkurā aritmētiskā operācijā, tās tiek pārvērstas attiecīgi par 1 un 0. Un, tā kā reizinot ar 0 vienmēr iegūst nulli, tad iegūtais masīvs ir 1 tikai tad, ja visi nosacījumi ir TRUE. Šis masīvs tiek novērtēts funkcijas IF loģiskajā testā, kas atdod attālumus, kuri atbilst elementiem 1 (TRUE).

    MAX IF bez masīva

    Daudzi Excel lietotāji, tostarp arī es, ir aizspriedumaini pret masīva formulām un cenšas no tām atbrīvoties, kur vien iespējams. Par laimi, Microsoft Excel ir dažas funkcijas, kas dabiski apstrādā masīvus, un mēs varam izmantot vienu no šādām funkcijām, proti, SUMPRODUCT, kā sava veida "apvalku" ap MAX.

    Vispārējā MAX IF formula bez masīva ir šāda:

    =SUMPRODUKTS(MAX(( kritērijs_range1 = kritēriji1 ) * ( kritērijs_range2 = kritēriji2 ) * max_range ))

    Protams, ja nepieciešams, varat pievienot vairāk diapazonu/kritēriju pāru.

    Lai redzētu formulu darbībā, izmantosim iepriekšējā piemērā sniegtos datus. Mērķis ir iegūt sportistes maksimālo lēcienu 3. kārtā:

    =SUMPRODUKTS(MAX((((B2:B16=G1) * (C2:C16=G2) * (D2:D16))))

    Šī formula konkurē ar parasto Enter taustiņa nospiešanu un atgriež tādu pašu rezultātu kā masīva MAX IF formula:

    Rūpīgāk aplūkojot iepriekš redzamo ekrānšāviņu, var pamanīt, ka iepriekšējos piemēros ar "x" apzīmētajiem nederīgajiem lēcieniem 3., 11. un 15. rindā tagad ir 0 vērtības, un nākamajā sadaļā ir izskaidrots, kāpēc.

    Kā darbojas šī formula

    Tāpat kā formulā MAX IF, mēs novērtējam divus kritērijus, salīdzinot katru vērtību ailēs Gender (B2:B16) un Round (C2:C16) ar kritērijiem šūnās G1 un G2. Rezultāts ir divi TRUE un FALSE vērtību masīvi. Reizinot masīvu elementus vienās un tajās pašās pozīcijās, TRUE un FALSE pārvērš attiecīgi 1 un 0, kur 1 apzīmē vienumus, kas atbilst abiem kritērijiem. Trešais reizinātaismasīvs satur garā lēciena rezultātus (D2:D16). Un, tā kā reizinot ar 0 iegūst nulli, saglabājas tikai tie elementi, kuriem attiecīgajās pozīcijās ir 1 (TRUE):

    {0; 0; 0; 0; 0; 4.63; 0; 0; 0; 0; 0; 0; 0; 0; 4.52}

    Gadījumā, ja max_range satur jebkuru teksta vērtību, reizināšanas operācija atgriež #VALUE kļūdu, kuras dēļ visa formula nedarbosies.

    No šejienes to pārņem MAX funkcija un atdod lielāko skaitli, kas atbilst norādītajiem nosacījumiem. Iegūtais masīvs, kas sastāv no viena elementa {4,63}, tiek nodots SUMPRODUCT funkcijai, un tā izvada maksimālo skaitli šūnā.

    Piezīme. Šīs formulas īpašās loģikas dēļ tā darbojas ar šādiem iebildumiem:

    • Diapazonā, kurā tiek meklēta augstākā vērtība, jābūt tikai skaitļiem. Ja ir kādas teksta vērtības, tiek atgriezta kļūda #VALUE!.
    • Formulā nevar novērtēt nosacījumu "nav vienāds ar nulli" negatīvam datu kopumam. Lai atrastu maksimālo vērtību, neņemot vērā nulles, izmantojiet MAX IF formulu vai MAXIFS funkciju.

    Excel MAX IF formula ar OR loģiku

    Lai atrastu maksimālo vērtību, kad jebkurš ir izpildīts kāds no norādītajiem nosacījumiem, izmantojiet jau pazīstamo masīva MAX IF formulu ar Boolea loģiku, bet saskaitiet nosacījumus, nevis tos reiziniet.

    {=MAX(IF((( kritērijs_range1 = kritēriji1 ) + ( kritērijs_range2 = kritēriji2 ), max_range ))}

    Varat izmantot arī šādu formulu, kas nav masīvs:

    =SUMPRODUKTS(MAX(((( kritērijs_range1 = kritēriji1 ) + ( kritērijs_range2 = kritēriji2 )) * max_range ))

    Kā piemēru noskaidrosim labāko rezultātu 2. un 3. raundā. Lūdzu, pievērsiet uzmanību tam, ka Excel valodā uzdevums ir formulēts citādi: atgriezīsim maksimālo vērtību, ja raunds ir 2. vai 3. raunds.

    Izmantojot B2:B10 uzskaitītās kārtas, C2:C10 uzskaitītos rezultātus un F1 un H1 kritērijus, formula ir šāda:

    =MAX(IF((B2:B10=F1) + (B2:B10=H1), C2:C10))

    Ievadiet formulu, nospiežot taustiņu kombināciju Ctrl + Shift + Enter, un iegūsiet šādu rezultātu:

    Maksimālo vērtību ar tādiem pašiem nosacījumiem var atrast arī, izmantojot šo formulu, kas nav masīvs:

    =SUMPRODUKTS(MAX((((B2:B10=F1) + (B2:B10=H1)) * C2:C10))

    Tomēr šajā gadījumā mums ir jāaizstāj visas "x" vērtības C slejā ar nullēm, jo SUMPRODUCT MAX darbojas tikai ar skaitliskajiem datiem:

    Kā šīs formulas darbojas

    Masīva formula darbojas tieši tāpat kā MAX IF ar AND loģiku, izņemot to, ka kritērijus apvienojat, izmantojot saskaitīšanas, nevis reizināšanas operāciju. Masīva formulās saskaitīšana darbojas kā OR operators:

    Saskaitot divus TRUE un FALSE masīvus (kas rodas, pārbaudot B2:B10 vērtības pret F1 un H1 kritērijiem), iegūst 1 un 0 masīvu, kur 1 apzīmē vienumus, kuriem kāds no nosacījumiem ir TRUE, un 0 apzīmē vienumus, kuriem abi nosacījumi ir FALSE. Rezultātā IF funkcija "saglabā" visus C2:C10 vienumus ( value_if_true ), kam jebkurš nosacījums ir TRUE (1); pārējie elementi tiek aizstāti ar FALSE, jo value_if_false arguments nav norādīts.

    Formula, kas nav masīvs, darbojas līdzīgi. Atšķirība ir tāda, ka IF loģiskā testa vietā jūs reizināt 1 un 0 masīva elementus ar garā lēciena rezultātu masīva elementiem (C2:C10) attiecīgajās pozīcijās. Tādējādi tiek anulēti elementi, kas neatbilst nevienam nosacījumam (pirmajā masīvā ir 0), un saglabāti elementi, kas atbilst vienam no nosacījumiem (pirmajā masīvā ir 1).masīvs).

    MAXIFS - vienkāršs veids, kā atrast lielāko vērtību ar nosacījumiem

    Excel 2019, 2021 un Excel 365 lietotāji ir atbrīvoti no nepatikšanām, kas saistītas ar masīvu pieradināšanu, lai izveidotu savu MAX IF formulu. Šajās Excel versijās ir pieejama ilgi gaidītā MAXIFS funkcija, kas padara lielākās vērtības atrašanu ar nosacījumiem bērnu rotaļu.

    Pirmajā MAXIFS argumentā ievadiet diapazonu, kurā jāatrod maksimālā vērtība (mūsu gadījumā D2:D16), un turpmākajos argumentos varat ievadīt līdz 126 diapazonu/kritēriju pāriem. Piemēram:

    =MAXIFS(D2:D16, B2:B16, G1, C2:C16, G2)

    Kā redzams tālāk redzamajā ekrānšāviņas attēlā, šai vienkāršai formulai nav problēmu apstrādāt diapazonu, kas satur gan skaitliskās, gan teksta vērtības:

    Sīkāku informāciju par šo funkciju skatiet sadaļā Excel MAXIFS funkcija ar formulas piemēriem.

    Lūk, kā jūs varat atrast maksimālo vērtību ar nosacījumiem programmā Excel. Paldies, ka izlasījāt, un ceru, ka nākamnedēļ tiksimies mūsu emuārā!

    Prakses darba burtnīca lejupielādei

    Excel MAX IF formulas piemēri (.xlsx fails)

    Maikls Brauns ir īpašs tehnoloģiju entuziasts, kura aizraušanās ir sarežģītu procesu vienkāršošana, izmantojot programmatūras rīkus. Ar vairāk nekā desmit gadu pieredzi tehnoloģiju nozarē viņš ir pilnveidojis savas prasmes programmās Microsoft Excel un Outlook, kā arī Google izklājlapās un dokumentos. Maikla emuārs ir veltīts tam, lai dalītos savās zināšanās un pieredzē ar citiem, sniedzot viegli izpildāmus padomus un pamācības produktivitātes un efektivitātes uzlabošanai. Neatkarīgi no tā, vai esat pieredzējis profesionālis vai iesācējs, Maikla emuārs piedāvā vērtīgas atziņas un praktiskus padomus, kā maksimāli izmantot šos būtiskos programmatūras rīkus.