Нөхцөлтэй хамгийн том утгыг олох Excel MAX IF томьёо

  • Үүнийг Хуваалц
Michael Brown

Өгүүлэл нь таны тодорхойлсон нэг буюу хэд хэдэн нөхцөл дээр үндэслэн 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) харьцуулна. Энэ үйлдлийн үр дүн нь ҮНЭН ба ХУДАЛ гэсэн массив бөгөөд ҮНЭН утга нь зорилтот нэртэй таарч байгаа нэрсийг илэрхийлнэ (Jacob):

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

    утга_хэрэв_үнэн аргумент, бид урт харайлтын үр дүнг (C2:C10) өгдөг тул логик тест ҮНЭН гэж үнэлвэл C баганаас харгалзах тоог буцаана. утга_ худал_хэрэв аргументыг орхигдуулсан бол нөхцөл хангагдаагүй тохиолдолд ХУДАЛ утгатай байх болно:

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

    Энэ массив нь MAX функцэд тэжээгддэг. ХУДАЛ утгыг үл тоомсорлон хамгийн их тоог буцаана.

    Зөвлөгөө. Дээр дурдсан дотоод массивуудыг харахын тулд ажлын хуудсан дээрх томьёоны харгалзах хэсгийг сонгоод F9 товчийг дарна уу. Томъёоны үнэлгээний горимоос гарахын тулд Esc товчийг дарна уу.

    Олонтой MAX IF томьёошалгуур

    Хэрэв та нэгээс олон нөхцөл дээр тулгуурлан хамгийн их утгыг олох шаардлагатай үед та дараахын аль нэгийг хийж болно:

    Нэмэлт шалгууруудыг оруулахын тулд үүрлэсэн IF мэдэгдлүүдийг ашиглана:

    {=MAX( IF( шалгуурын_муж1 = шалгуур1 , IF( шалгуурын_муж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 товчийг дарахаа мартуузай.

    Доорх дэлгэцийн агшинд үзүүлсэн шиг томьёо нь ижил үр дүнд хүрч байгаа тул алийг нь ашиглах вэ? чиний асуудал таны хувийн сонголт. Миний хувьд Boolean логик бүхий томьёог унших, бүтээхэд илүү хялбар байдаг – энэ нь нэмэлт IF функцийг үүрлэхгүйгээр хүссэн олон нөхцөлийг нэмэх боломжийг олгодог.

    Эдгээр томьёо хэрхэн ажилладаг вэ

    Эхний томьёо нь хоёр шалгуурыг үнэлэхийн тулд хоёр үүрлэсэн IF функцийг ашигладаг. Эхний IF мэдэгдлийн логик тестийн хувьд бид Хүйс баганын утгуудыг харьцуулна(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) өгөх ба ийм байдлаар бид зүйлсийг олж авна. харгалзах байрлал дахь эхний хоёр массивын ҮНЭН байгаа (жишээ нь хүйс нь "эмэгтэй", дугуй нь 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 функцийн логик тестээр үнэлдэг.

    Масивгүй 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"-ээр тэмдэглэгдсэн хүчингүй үсрэлтүүд 3, 11, 15-р мөрөнд 0 утгатай байгааг анзаарч болно. , мөн дараагийн хэсэгт учрыг тайлбарлана.

    Энэ томьёо хэрхэн ажилладаг вэ

    MAX IF томьёоны нэгэн адил бид Хүйс (B2:B16) болон Дугуй (Бүс) дэх утга тус бүрийг харьцуулж хоёр шалгуурыг үнэлдэг. C2:C16) G1 ба G2 нүдн дэх шалгуур бүхий баганууд. Үр дүн нь ҮНЭН ба ХУДАЛ утгын хоёр массив юм. Массивын элементүүдийг ижил байрлалд үржүүлснээр ҮНЭН ба ХУДАЛ-ыг 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 томьёог OR логиктой

    ямар ч<үед хамгийн их утгыг олохын тулд. Заасан нөхцлүүдийн 9> нь хангагдсан бол аль хэдийн танил болсон MAX IF массивыг Булийн логикоор ашиглана, гэхдээ тэдгээрийг үржүүлэхийн оронд нөхцлүүдийг нэмнэ үү.

    {=MAX(IF(( шалгуурын_муж1 =<) 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))

    Гэхдээ энэ тохиолдолд SUMPRODUCT MAX зөвхөн тоон өгөгдөлтэй ажилладаг тул C баганын бүх "x" утгыг тэгээр солих шаардлагатай:

    Эдгээр томьёо хэрхэн ажилладаг

    Масивын томьёо нь AND логиктой MAX IF-тай яг адилхан ажиллана, зөвхөн үржүүлэхийн оронд нэмэх үйлдлийг ашиглан шалгуурт нэгдэнэ. Массивын томьёонд нэмэх нь OR операторын үүрэг гүйцэтгэдэг:

    ҮНЭН ба ХУДАЛ гэсэн хоёр массивыг нэмбэл (B2:B10 дахь утгыг F1 ба Н1 дэх шалгууртай харьцуулсны үр дүнд) 1-ийн массив болон 0 нь 1 нь аль нэг нөхцөл ҮНЭН байгаа зүйлсийг, 0 нь хоёр нөхцөл ХУДАЛ гэсэн зүйлийг илэрхийлнэ. Үүний үр дүнд IF функц нь C2:C10 ( үнэн_хэрвээ_үнэн ) доторх ямар ч нөхцөл ҮНЭН (1) байгаа бүх зүйлийг "хадгална"; үлдсэн зүйлсийг 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 дээр ур чадвараа дээшлүүлсэн. Майклын блог нь өөрийн мэдлэг, туршлагаа бусадтай хуваалцах, бүтээмж, үр ашгийг дээшлүүлэхэд хялбар зөвлөмж, зааварчилгаа өгөх зорилготой юм. Та туршлагатай мэргэжилтэн эсвэл анхлан суралцаж байгаа эсэхээс үл хамааран Майклын блог нь эдгээр чухал програм хангамжийн хэрэгслээс хамгийн их ашиг хүртэх талаар үнэ цэнэтэй ойлголт, практик зөвлөгөөг санал болгодог.