Формула Excel MAX IF для пошуку найбольшага значэння з умовамі

  • Падзяліцца Гэтым
Michael Brown

У артыкуле паказана некалькі розных спосабаў атрымаць максімальнае значэнне ў Excel на аснове адной або некалькіх умоў, якія вы ўказваеце.

У нашым папярэднім уроку мы разгледзелі агульныя спосабы выкарыстання функцыі MAX, якая прызначана для вяртання найбольшага ліку ў наборы даных. Аднак у некаторых сітуацыях вам, магчыма, спатрэбіцца паглыбіцца ў свае даныя, каб знайсці максімальнае значэнне на аснове пэўных крытэрыяў. Гэта можна зрабіць з дапамогай некалькіх розных формул, і ў гэтым артыкуле тлумачацца ўсе магчымыя спосабы.

    Формула Excel MAX IF

    Да нядаўняга часу ў Microsoft Excel не было убудаваная функцыя MAX IF для атрымання максімальнага значэння ў залежнасці ад умоў. З увядзеннем MAXIFS у Excel 2019 мы можам зрабіць умоўнае максімум простым спосабам.

    У Excel 2016 і больш ранніх версіях вам усё роўна трэба стварыць уласную формулу масіва , аб'яднаўшы MAX функцыя з аператарам IF:

    {=MAX(IF( criteria_range= criteria, 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), таму, калі лагічны тэст дае значэнне TRUE, вяртаецца адпаведны лік са слупка C. Аргумент value_ if_false апушчаны, што азначае, што будзе мець толькі значэнне FALSE, калі ўмова не выконваецца:

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

    Гэты масіў перадаецца ў функцыю MAX, якая вяртае максімальны лік без уліку значэнняў FALSE.

    Савет. Каб убачыць унутраныя масівы, разгледжаныя вышэй, выберыце адпаведную частку формулы на працоўным аркушы і націсніце клавішу F9. Каб выйсці з рэжыму ацэнкі формулы, націсніце клавішу Esc.

    Формула MAX IF з некалькімікрытэрыі

    У сітуацыі, калі вам трэба знайсці максімальнае значэнне на аснове больш чым адной умовы, вы можаце:

    Выкарыстоўваць укладзеныя аператары IF, каб уключыць дадатковыя крытэрыі:

    {=MAX( IF( крытэрый_дыяпазон1 = крытэрый1 , IF( крытэрый_дыяпазон2 = крытэрый2 , максімальны_дыяпазон )))}

    Або апрацуйце некалькі крытэрыяў з дапамогай аперацыі множання:

    {=MAX(IF(( criteria_range1 = criteria_range1 ) * ( criteria_range2 = criteria2 ), 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 мы параўноўваем значэнні ў слупку "Пол".(B2:B16) з крытэрыем у G1 ("Жаночы"). У выніку атрымліваецца масіў значэнняў TRUE і FALSE, дзе TRUE прадстаўляе даныя, якія адпавядаюць крытэрыю:

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

    Аналагічным чынам другая функцыя IF правярае значэнні ў круглым слупку (C2 :C16) у адпаведнасці з крытэрам у G2.

    Для аргумента value_if_true у другім аператары IF мы прадстаўляем вынікі скачкоў у даўжыню (D2:D16), і такім чынам мы атрымліваем элементы якія маюць TRUE у першых двух масівах у адпаведных пазіцыях (г.зн. элементы, у якіх пол "жаночы", а раунд роўны 3):

    {FALSE; FALSE; FALSE; FALSE; FALSE; 4.63; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; 4.52}

    Гэты канчатковы масіў пераходзіць да функцыі MAX і яна вяртае найбольшы лік.

    Другая формула ацэньвае тыя ж умовы ў рамках аднаго лагічнага тэсту, а аперацыя множання працуе як аператар І:

    Калі значэнні ІСЦІНА і ХЛУСНЯ выкарыстоўваюцца ў любым арыфметычнай аперацыі, яны пераўтвараюцца ў 1 і 0 адпаведна. А паколькі множанне на 0 заўсёды дае нуль, атрыманы масіў мае 1 толькі тады, калі ўсе ўмовы ІСТИННЫ. Гэты масіў ацэньваецца ў лагічным тэсце функцыі IF, якая вяртае адлегласці, якія адпавядаюць элементам 1 (TRUE).

    MAX IF без масіва

    Многія карыстальнікі Excel, у тым ліку я, прадузята ставяцца да формул масіваў і стараюцца пазбаўляцца ад іх усюды, дзе гэта магчыма. На шчасце, у Microsoft Excel ёсць некалькі функцый, якія апрацоўваюць масівы, і мы можам выкарыстоўваць адну з іхтакіх функцый, а менавіта SUMPRODUCT, у якасці "абгорткі" вакол MAX.

    Агульная формула MAX IF без масіва выглядае наступным чынам:

    =SUMPRODUCT(MAX(( criteria_range1 = крытэрый1 ) * ( крытэрый_дыяпазон2 = крытэрый2 ) * максімальны_дыяпазон ))

    Натуральна, вы можаце дадаць больш пар дыяпазон/крытэрый, калі неабходна.

    Каб убачыць формулу ў дзеянні, мы будзем выкарыстоўваць дадзеныя з папярэдняга прыкладу. Мэта складаецца ў тым, каб атрымаць максімальны скачок спартсменкі ў раўндзе 3:

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

    Гэта формула спаборнічае са звычайным націскам клавішы Enter і вяртае той жа вынік, што і формула масіва MAX IF:

    Прыгледзеўшыся на прыведзены вышэй скрыншот, можна заўважыць, што недапушчальныя скачкі, пазначаныя "х" у папярэдніх прыкладах, цяпер маюць 0 значэнняў у радках 3, 11 і 15 , а ў наступным раздзеле тлумачыцца, чаму.

    Як працуе гэтая формула

    Як і ў выпадку з формулай МАКСІМ КАЛІ, мы ацэньваем два крытэрыі, параўноўваючы кожнае значэнне ў Пол (B2:B16) і Раунд ( C2:C16) слупкі з крытэрамі ў ячэйках G1 і G2. У выніку атрымаюцца два масівы значэнняў TRUE і FALSE. Памнажэнне элементаў масіваў у аднолькавых пазіцыях пераўтворыць TRUE і FALSE у 1 і 0 адпаведна, дзе 1 прадстаўляе элементы, якія адпавядаюць абодвум крытэрам. Трэці памножаны масіў змяшчае вынікі скачкоў у даўжыню (D2:D16). І таму, што множанне на 0 дае нуль, толькі элементы, якія маюць 1 (TRUE) у адпаведных пазіцыяхsurvive:

    {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.

    Формула MAX IF Excel з логікай АБО

    Каб знайсці максімальнае значэнне пры любым з указаных умоў выконваецца, выкарыстоўвайце ўжо знаёмую формулу масіва MAX IF з лагічнай логікай, але дадайце ўмовы замест іх множання.

    {=MAX(IF(( criteria_range1 = крытэрый1 ) + ( крытэрый_дыяпазон2 = крытэрый2 ), максімальны_дыяпазон ))}

    У якасці альтэрнатывы вы можаце выкарыстоўваць наступную формулу без масіва :

    =SUMPRODUCT(MAX((( дыяпазон_крытэрыяў1 = дыяпазон_крытэрыяў1 ) + ( дыяпазон_крытэрыяў2 = дыяпазон_крытэрыяў2 )) * max_range ))

    У якасці прыкладу давайце папрацуемлепшы вынік у раундах 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 абазначае элементы, для якіх абодва ўмовы ХЛУСНЯ. У выніку функцыя КАЛІ "захоўвае" ўсе элементы ў C2:C10 ( value_if_true ), для якіх любая ўмова 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)

    Майкл Браўн - адданы энтузіяст тэхналогій, які любіць спрашчэнне складаных працэсаў з дапамогай праграмных інструментаў. Маючы больш чым дзесяцігадовы досвед працы ў індустрыі тэхналогій, ён удасканальваў свае навыкі ў Microsoft Excel і Outlook, а таксама ў Google Sheets і Docs. Блог Майкла прысвечаны таму, каб падзяліцца сваімі ведамі і вопытам з іншымі, даючы простыя ў выкананні парады і падручнікі для павышэння прадукцыйнасці і эфектыўнасці. Незалежна ад таго, з'яўляецеся вы дасведчаным прафесіяналам або пачаткоўцам, блог Майкла прапануе каштоўную інфармацыю і практычныя парады, каб атрымаць максімальную аддачу ад гэтых неабходных праграмных інструментаў.