Мазмұны
Мақалада Excel бағдарламасында сіз көрсеткен бір немесе бірнеше шарттар негізінде максималды мәнді алудың бірнеше түрлі жолдары көрсетілген.
Алдыңғы оқулықта біз жалпы пайдалануды қарастырдық. деректер жиынындағы ең үлкен санды қайтаруға арналған MAX функциясының. Кейбір жағдайларда, алайда, белгілі бір критерийлерге негізделген ең жоғары мәнді табу үшін деректеріңізді одан әрі тереңдету қажет болуы мүмкін. Мұны бірнеше түрлі формулаларды қолдану арқылы жасауға болады және бұл мақалада барлық ықтимал жолдар түсіндіріледі.
Excel MAX IF формуласы
Соңғы уақытқа дейін Microsoft Excel бағдарламасында шарттарға негізделген максималды мәнді алу үшін кірістірілген MAX IF функциясы. Excel 2019 жүйесінде MAXIFS енгізу арқылы шартты максимумды оңай орындауға болады.
Excel 2016 және бұрынғы нұсқаларында MAX мәнін біріктіру арқылы әлі де өзіңіздің массив формуласын жасауыңыз керек. IF мәлімдемесі бар функция:
{=MAX(IF( шарттар_ауқымы= шарттар, макс_ауқым))}Осы жалпы 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}
мәні_ егер_шын болса аргумент, біз ұзындыққа секіру нәтижелерін береміз (C2:C10), сондықтан логикалық сынақ TRUE мәніне бағаланса, C бағанындағы сәйкес сан қайтарылады. мән_ егер_жалған аргументі алынып тасталды, яғни шарт орындалмаған жағдайда ЖАЛҒАН мән болады:
{FALSE;FALSE;FALSE;5.48;5.42;5.57;FALSE;FALSE;FALSE}
Бұл массив MAX функциясына беріледі, ол ЖАЛҒАН мәндерді елемейтін ең көп санды қайтарады.
Кеңес. Жоғарыда талқыланған ішкі массивтерді көру үшін жұмыс парағындағы формуланың сәйкес бөлігін таңдап, F9 пернесін басыңыз. Формулаларды бағалау режимінен шығу үшін Esc пернесін басыңыз.
Егер көптігі бар MAX IF формуласыкритерийлер
Бірнеше шарт негізінде максимум мәнді табу қажет болған жағдайда, сіз мыналардың бірін орындай аласыз:
Қосымша критерийлерді қосу үшін кірістірілген IF мәлімдемелерін пайдаланыңыз:
{=MAX( ЕГЕР( шарттар_ауқымы1 = шарт1 , ЕГЕР( шарттар_аралығы2 = шарт2 , макс_ауқым )))}Немесе көбейту әрекетін пайдалану арқылы бірнеше шартты өңдеңіз:
{=MAX(IF(( шарт_аралығы1 = шарт1 ) * ( шарт_аралығы2 = 2-шарт ), макс_аралығы ))}Бір кестеде ұлдар мен қыздардың нәтижелері бар делік және сіз 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 бағанындағы мәндерді салыстырамыз(B2:B16) G1 критерийімен («Әйел»). Нәтиже – ШЫН және ЖАЛҒАН мәндердің жиымы, мұнда ШЫНДЫҚ шартқа сәйкес келетін деректерді көрсетеді:
{FALSE; FALSE; FALSE; TRUE; TRUE; TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; TRUE}
Ұқсас жолмен екінші IF функциясы дөңгелек бағандағы мәндерді тексереді (C2) :C16) G2 шартындағы критерийге қарсы.
Екінші 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-ге ие болады. Бұл массив 1 (ШЫН) элементтерге сәйкес қашықтықтарды қайтаратын IF функциясының логикалық сынақында бағаланады.
МАКС IF массивсіз
Көптеген Excel пайдаланушылары, соның ішінде мені де массив формулаларына қарсы пікір білдіріп, мүмкіндігінше олардан құтылуға тырысыңыз. Бақытымызға орай, Microsoft Excel бағдарламасында массивтерді жергілікті түрде өңдейтін бірнеше функциялар бар және біз оларды пайдалана аламызосындай функциялардың, атап айтқанда SUMPRODUCT, MAX айналасындағы "орау" түрі ретінде.
Массивсіз жалпы MAX IF формуласы келесідей:
Әрине, егер келесідей болса, қосымша ауқым/шарттар жұптарын қосуға болады. қажет.
Формуланың әрекетін көру үшін біз алдыңғы мысалдағы деректерді пайдаланамыз. Мақсат – 3 раундта әйел спортшының максималды секіруін алу:
=SUMPRODUCT(MAX(((B2:B16=G1) * (C2:C16=G2) * (D2:D16))))
Бұл формула кәдімгі Enter пернесін басу арқылы бәсекеге түседі және MAX IF формуласы массивімен бірдей нәтижені береді:
Жоғарыдағы скриншотқа жақынырақ қарап, алдыңғы мысалдардағы "x" белгісімен белгіленген жарамсыз секірулердің 3, 11 және 15-жолдарда 0 мәні бар екенін байқайсыз. , және келесі бөлімде себебі түсіндіріледі.
Бұл формула қалай жұмыс істейді
Егер MAX формуласы сияқты, біз екі шартты Жыныс (B2:B16) және Раундтағы ( C2:C16) G1 және G2 ұяшықтарындағы критерийлері бар бағандар. Нәтижесі TRUE және FALSE мәндерінің екі массиві болып табылады. Бірдей позициялардағы массивтердің элементтерін көбейту TRUE және FALSE мәндерін тиісінше 1 және 0-ге түрлендіреді, мұнда 1 екі шартқа да сәйкес келетін элементтерді білдіреді. Үшінші көбейтілген массив ұзындыққа секіру нәтижелерін қамтиды (D2:D16). Ал 0-ге көбейту нөл беретіндіктен, сәйкес позицияларда 1 (ШЫН) бар элементтер ғанаsurvive:
{0; 0; 0; 0; 0; 4.63; 0; 0; 0; 0; 0; 0; 0; 0; 4.52}
Егер макс_аралығы кез келген мәтіндік мәнді қамтитын болса, көбейту операциясы #VALUE қатесін қайтарады, себебі формула толық жұмыс істемейді.
MAX функциясы оны осы жерден алады және көрсетілген шарттарға сәйкес келетін ең үлкен санды қайтарады. Бір элементтен тұратын нәтиже массив {4.63} SUMPRODUCT функциясына өтеді және ол ұяшықтағы максималды санды шығарады.
Ескерту. Ерекше логикасына байланысты формула келесі ескертулермен жұмыс істейді:
- Ең жоғары мәнді іздейтін ауқымда тек сандар болуы керек. Егер мәтіндік мәндер болса, #VALUE! қате қайтарылады.
- Формула теріс деректер жиынындағы "нөлге тең емес" шартын бағалай алмайды. Нөлдерді елемейтін ең үлкен мәнді табу үшін MAX IF формуласын немесе MAXIFS функциясын пайдаланыңыз.
НЕМЕСЕ логикасы бар Excel MAX IF формуласы
кез келген<болған кезде ең үлкен мәнді табу үшін көрсетілген шарттардың 9> орындалса, логикалық логикамен бұрыннан таныс MAX IF массив формуласын пайдаланыңыз, бірақ оларды көбейтудің орнына шарттарды қосыңыз.
{=MAX(IF(( criteria_range1 =<) 1>шарт1 ) + ( критериа_аралығы2 = шарт2 ), макс_ауқым ))}Баламалы түрде келесі массив емес формуланы пайдалануға болады :
=ЖОРЫНДЫҚ(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))
Дегенмен, бұл жағдайда C бағанындағы барлық «x» мәндерін нөлмен ауыстыруымыз керек, себебі SUMPRODUCT MAX тек сандық деректермен жұмыс істейді:
Бұл формулалар қалай жұмыс істейді
Жиым формуласы ЖӘНЕ логикасы бар MAX IF функциясымен бірдей жұмыс істейді, тек көбейтудің орнына қосу әрекетін пайдалану арқылы шартты біріктіру. Жиым формулаларында қосу НЕМЕСЕ операторы ретінде жұмыс істейді:
ШЫН және ЖАЛҒАН екі массивін қосу (бұл B2:B10 мәндерін F1 және H1 өлшемдеріне сәйкес тексеру нәтижесінде) 1 және 0 мәндері, мұнда 1 шарттың кез келгені ШЫН болатын элементтерді және 0 екі шарттың да ЖАЛҒАН болатын элементтерін білдіреді. Нәтижесінде, IF функциясы кез келген шарт TRUE (1) болатын C2:C10 ( мән_егер_шындық ) барлық элементтерді «сақтайды»; қалған элементтер 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 файлы)