Содржина
Написот прикажува неколку различни начини за да се добие максималната вредност во Excel врз основа на еден или неколку услови што ќе ги наведете.
Во нашето претходно упатство, ги разгледавме вообичаените употреби од функцијата MAX која е дизајнирана да го врати најголемиот број во базата на податоци. Меѓутоа, во некои ситуации, можеби ќе треба дополнително да ги разгледате вашите податоци за да ја пронајдете максималната вредност врз основа на одредени критериуми. Ова може да се направи со користење на неколку различни формули, а овој напис ги објаснува сите можни начини.
Formula Excel MAX IF
До неодамна, Microsoft Excel немаше вградена функција MAX IF за да се добие максималната вредност врз основа на условите. Со воведувањето на MAXIFS во Excel 2019, можеме да го направиме условниот макс на лесен начин.
Во Excel 2016 и претходните верзии, сè уште треба да креирате своја формула за низа со комбинирање на MAX функција со изјава IF:
{=MAX(IF( критериум_опсег= критериуми, max_range))}За да видите како овој генерички MAX АКО формулата работи на реални податоци, разгледајте го следниов пример. Да претпоставиме дека имате табела со резултатите од скок во далечина на неколку студенти. Табелата ги вклучува податоците за три кола, а вие го барате најдобриот резултат на одреден спортист, рече Џејкоб. Со имињата на учениците во A2:A10 и растојанија во C2:C10, формулата ја добива оваа форма:
=MAX(IF(A2:A10="Jacob", C2:C10))
Ве молиме имајте на ум дека формулата за низамора секогаш да се внесува со истовремено притискање на копчињата Ctrl + Shift + Enter. Како резултат на тоа, тој автоматски е опкружен со кадрави загради како што е прикажано на екранот подолу (рачното пишување на заградите нема да работи!).
Во реални работни листови, попогодно е да се внесе критериумот во некои ќелија, за да можете лесно да ја промените состојбата без да ја менувате формулата. Така, го впишуваме саканото име во F1 и го добиваме следниот резултат:
=MAX(IF(A2:A10=F1, C2:C10))
Како функционира оваа формула
Во логичката тест на функцијата IF, ја споредуваме листата со имиња (A2:A10) со целното име (F1). Резултатот од оваа операција е низа од TRUE и FALSE, каде што TRUE вредностите претставуваат имиња што одговараат на целното име (Jacob):
{FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE}
За value_ if_true аргумент, ги доставуваме резултатите од скок во далечина (C2:C10), па ако логичкиот тест се оцени на ТОЧНО, се враќа соодветниот број од колоната C. Аргументот value_ if_false е испуштен, што значи дека ќе има само FALSE вредност кога условот не е исполнет:
{FALSE;FALSE;FALSE;5.48;5.42;5.57;FALSE;FALSE;FALSE}
Оваа низа се внесува во функцијата MAX, која го враќа максималниот број игнорирајќи ги LALSE вредностите.
Совет. За да ги видите внатрешните низи дискутирани погоре, изберете го соодветниот дел од формулата во вашиот работен лист и притиснете го копчето F9. За да излезете од режимот за оценување на формулата, притиснете го копчето Esc.
MAX IF формула со повеќекратникритериуми
Во ситуација кога треба да ја пронајдете максималната вредност врз основа на повеќе од еден услов, можете или:
Користете вгнездени изјави IF за да вклучите дополнителни критериуми:
{=MAX( IF( критериум_опсег1 = критериум1 , IF( опсег_критериуми2 = критериуми2 , максимален опсег )))}Или ракувајте со повеќе критериуми користејќи ја операцијата за множење:
{=MAX(IF(( опсег_критериуми1 = критериуми1 ) * ( опсег_критериуми2 = критериуми2 ), max_range ))}Да речеме дека ги имате резултатите од момчињата и девојчињата во една табела и сакате да го најдете најдолгиот скок меѓу девојките во кругот 3. За да го направите тоа , го внесуваме првиот критериум (женски) во G1, вториот критериум (3) во G2 и ги користиме следните формули за да ја изработиме максималната вредност:
=MAX(IF(B2:B16=G1, IF(C2:C16=G2, D2:D16)))
=MAX(IF((B2:B16=G1)*(C2:C16=G2), D2:D16))
Бидејќи и двете се формули на низа, не заборавајте да притиснете Ctrl + Shift + Enter за правилно да ги пополните.
Како што е прикажано на екранот подолу, формулите го даваат истиот резултат, па која да се користи е прашање на тебе твој личен избор. За мене, формулата со Буловата логика е полесна за читање и градење - овозможува додавање онолку услови колку што сакате без вгнездување дополнителни функции IF.
Како функционираат овие формули
Првата формула користи две вгнездени IF функции за да оцени два критериуми. Во логичкиот тест на првата изјава IF, ги споредуваме вредностите во колоната Gender(Б2: Б16) со критериумот во Г1 („Женско“). Резултатот е низа од TRUE и FALSE вредности каде TRUE претставува податоци што одговараат на критериумот:
{FALSE; FALSE; FALSE; TRUE; TRUE; TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; TRUE}
На сличен начин, втората функција IF ги проверува вредностите во колоната Round (C2 :C16) наспроти критериумот во G2.
За аргументот value_if_true во втората изјава IF, ги даваме резултатите од скок во далечина (D2:D16), и на овој начин ги добиваме ставките кои имаат ТОЧНО во првите две низи во соодветните позиции (т.е. ставките каде што родот е „женски“ и круг е 3):
{FALSE; FALSE; FALSE; FALSE; FALSE; 4.63; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; 4.52}
Оваа конечна низа оди во функцијата MAX и го враќа најголемиот број.
Втората формула ги проценува истите услови во рамките на еден логички тест и операцијата за множење работи како операторот AND:
Кога вредностите TRUE и FALSE се користат во кој било аритметичка операција, тие се претвораат во 1 и 0, соодветно. И бидејќи множењето со 0 секогаш дава нула, добиената низа има 1 само кога сите услови се ТОЧНИ. Оваа низа се оценува во логичкиот тест на функцијата IF, која ги враќа растојанијата што одговараат на 1 (TRUE) елементи.
MAX IF без низа
Многу корисници на Excel, вклучувајќи ме и мене, се имаат предрасуди кон формулите на низата и обидете се да се ослободите од нив секогаш кога е можно. За среќа, Microsoft Excel има неколку функции кои природно се справуваат со низата, а ние можеме да користиме еднана таквите функции, имено SUMPRODUCT, како вид на „обвивка“ околу MAX.
Генеричката MAX IF формула без низа е следна:
=SUMPRODUCT(MAX(( опсег_критериуми1 = критериуми1 ) * ( опсег_критериуми2 = критериуми2 ) * макс_опсег ))Секако, можете да додадете повеќе парови опсег/критериум ако е потребно.
За да ја видиме формулата во акција, ќе ги користиме податоците од претходниот пример. Целта е да се добие максимален скок на спортистка во рунда 3:
=SUMPRODUCT(MAX(((B2:B16=G1) * (C2:C16=G2) * (D2:D16))))
Оваа формула се натпреварува со нормално притискање на копчето Enter и го враќа истиот резултат како формулата на низата MAX IF:
Да погледнете подетално на горната слика од екранот, можете да забележите дека неважечките скокови означени со „x“ во претходните примери сега имаат 0 вредности во редовите 3, 11 и 15 , а следниот дел објаснува зошто.
Како функционира оваа формула
Како и со формулата MAX IF, оценуваме два критериуми со споредување на секоја вредност во полот (B2:B16) и кругот ( C2:C16) колони со критериумите во ќелиите G1 и G2. Резултатот се две низи од TRUE и FALSE вредности. Множењето на елементите на низите во истите позиции ги претвора TRUE и FALSE во 1 и 0, соодветно, каде што 1 ги претставува ставките што ги исполнуваат двата критериуми. Третата помножена низа ги содржи резултатите од скок во далечина (D2:D16). И бидејќи со множење со 0 се добива нула, само ставките што имаат 1 (ТОЧНО) во соодветните позициипреживее:
{0; 0; 0; 0; 0; 4.63; 0; 0; 0; 0; 0; 0; 0; 0; 4.52}
Во случај max_range да содржи која било текстуална вредност, операцијата за множење ја враќа грешката #VALUE поради што целата формула нема да работи.
Функцијата MAX ја зема од тука и го враќа најголемиот број што ги исполнува наведените услови. Резултирачката низа која се состои од еден елемент {4.63} оди во функцијата SUMPRODUCT и го дава максималниот број во ќелијата.
Забелешка. Поради својата специфична логика, формулата работи со следните предупредувања:
- Опсегот каде што ја барате највисоката вредност мора да содржи само бројки. Ако има било какви текстуални вредности, #VALUE! се враќа грешката.
- Формулата не може да ја оцени состојбата „не е еднаква на нула“ во негативно збир на податоци. За да ја пронајдете максималната вредност игнорирајќи ги нулите, користете или MAX IF формула или MAXIFS функција.
Excel MAX IF формула со ИЛИ логика
За да ја пронајдете максималната вредност кога секое од наведените услови се исполнети, користете ја веќе познатата низа MAX IF формула со Буловата логика, но додадете ги условите наместо да ги множите.
{=MAX(IF(( опсег_критериуми1 = критериуми1 ) + ( опсег_критериуми2 = критериуми2 ), макс_опсег ))}Алтернативно, можете да ја користите следнава формула без низа :
Како пример, ајде да работименајдобар резултат во круговите 2 и 3. Обрнете внимание дека во јазикот Excel, задачата е формулирана поинаку: вратете ја максималната вредност ако кругот е или 2 или 3.
Со круговите наведени во B2:B10 , резултатите во C2:C10 и критериумите во F1 и H1, формулата оди вака:
=MAX(IF((B2:B10=F1) + (B2:B10=H1), C2:C10))
Внесете ја формулата со притискање на комбинацијата на копчиња Ctrl + Shift + Enter и ќе добиете овој резултат:
Максималната вредност со исти услови може да се најде и со користење на оваа формула која не е низа:
=SUMPRODUCT(MAX(((B2:B10=F1) + (B2:B10=H1)) * C2:C10))
Сепак, треба да ги замениме сите вредности „x“ во колоната C со нули во овој случај бидејќи SUMPRODUCT MAX работи само со нумерички податоци:
Како функционираат овие формули
Формулата на низата работи на ист начин како MAX IF со AND логиката освен што ги спојувате критериумите со користење на операцијата собирање наместо множење. Во формулите на низи, собирањето работи како оператор ИЛИ:
Со собирање на две низи од TRUE и FALSE (кои произлегуваат од проверката на вредностите во B2:B10 според критериумите во F1 и H1) се добива низа од 1 и 0 каде 1 ги претставува ставките за кои било кој услов е ТОЧЕН и 0 ги претставува ставките за кои двата услови се НЕТОЧНИ. Како резултат на тоа, функцијата IF ги „чува“ сите ставки во C2:C10 ( value_if_true ) за кои било кој услов е ТОЧЕН (1); останатите ставки се заменуваат со FALSE бидејќи наАргументот value_if_false не е наведен.
Формулата без низа работи на сличен начин. Разликата е во тоа што наместо логичкиот тест на IF, ги множите елементите од низата 1 и 0 со елементите на низата резултати од скок во далечина (C2:C10) во соодветните позиции. Ова ги поништува ставките што не исполнуваат ниту еден услов (имаат 0 во првата низа) и ги задржува ставките што исполнуваат еден од условите (имаат 1 во првата низа).
MAXIFS – лесен начин да се најде највисоката вредност со услови
Корисниците на Excel 2019, 2021 и Excel 365 се ослободени од маката за припитомување низи за да изградат своја формула MAX IF. Овие верзии на Excel ја обезбедуваат долгоочекуваната функција MAXIFS што го прави наоѓањето на најголемата вредност со услови за детска игра.
Во првиот аргумент на MAXIFS, го внесувате опсегот во кој треба да се најде максималната вредност (D2: D16 во нашиот случај), а во следните аргументи можете да внесете до 126 парови опсег/критериум. На пример:
=MAXIFS(D2:D16, B2:B16, G1, C2:C16, G2)
Како што е прикажано на екранот подолу, оваа едноставна формула нема проблем со обработката на опсегот што содржи и нумерички и текстуални вредности:
За детални информации за оваа функција, погледнете ја функцијата Excel MAXIFS со примери на формула.
Така можете да ја пронајдете максималната вредност со условите во Excel. Ви благодарам што прочитавте и се надевам дека ќе се видиме на нашиот блог следниот патнедела!
Вежбајте работна книга за преземање
Примери на формулата Excel MAX IF (датотека .xlsx)