Mundarija
Maqolada siz ko'rsatgan bir yoki bir nechta shartlar asosida Excelda maksimal qiymatni olishning bir necha xil usullari ko'rsatilgan.
Oldingi darsimizda biz umumiy foydalanishni ko'rib chiqdik. ma'lumotlar to'plamidagi eng katta raqamni qaytarish uchun mo'ljallangan MAX funktsiyasi. Biroq, ba'zi hollarda, ma'lum mezonlar asosida maksimal qiymatni topish uchun ma'lumotlaringizni batafsil o'rganishingiz kerak bo'lishi mumkin. Buni bir nechta turli formulalar yordamida amalga oshirish mumkin va ushbu maqolada barcha mumkin bo'lgan usullar tushuntiriladi.
Excel MAX IF formula
Yaqingacha Microsoft Excel-da Shartlar asosida maksimal qiymatni olish uchun o'rnatilgan MAX IF funktsiyasi. Excel 2019 da MAXIFS joriy etilishi bilan biz shartli maksni oson yo‘l bilan amalga oshirishimiz mumkin.
Excel 2016 va undan oldingi versiyalarida siz hali ham MAX ni birlashtirib o‘zingizning massiv formulasini yaratishingiz kerak. IF ifodasi bilan funksiya:
{=MAX(IF( kriteria_oraliq= kriteria, maksimal_oraliq))}Ushbu umumiy MAX qanday ishlashini koʻrish uchun AGAR formula haqiqiy ma'lumotlarda ishlayotgan bo'lsa, quyidagi misolni ko'rib chiqing. Aytaylik, sizda bir nechta o'quvchilarning uzunlikka sakrash natijalari ko'rsatilgan jadval mavjud. Jadval uchta raund uchun ma'lumotlarni o'z ichiga oladi va siz ma'lum bir sportchining eng yaxshi natijasini qidiryapsiz, deydi Yoqub. A2:A10da talaba ismlari va C2:C10da masofalar bilan formula quyidagi shaklni oladi:
=MAX(IF(A2:A10="Jacob", C2:C10))
Iltimos, esda tutingki, massiv formulasihar doim Ctrl + Shift + Enter tugmalarini bir vaqtning o'zida bosish orqali kiritilishi kerak. Natijada, u avtomatik ravishda quyidagi skrinshotda ko'rsatilgandek jingalak qavslar bilan o'ralgan bo'ladi (qavslarni qo'lda terish ishlamaydi!).
Men real hayotdagi ish varaqlarida mezonni ba'zilarida kiritish qulayroq. formulani o'zgartirmasdan shartni osongina o'zgartirishingiz uchun hujayra. Shunday qilib, biz F1 ga kerakli nomni kiritamiz va quyidagi natijani olamiz:
=MAX(IF(A2:A10=F1, C2:C10))
Ushbu formula qanday ishlaydi
Mantiqiy jihatdan IF funktsiyasini sinab ko'ring, biz nomlar ro'yxatini (A2: A10) maqsad nomi (F1) bilan solishtiramiz. Ushbu operatsiyaning natijasi TRUE va FALSE massivi bo'lib, bu erda TRUE qiymatlari maqsad nomiga mos keladigan nomlarni ifodalaydi (Yakob):
{FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE}
qiymat_ if_true<2 uchun> argument, biz uzunlikka sakrash natijalarini beramiz (C2:C10), shuning uchun agar mantiqiy test TRUE deb baholansa, C ustunidan mos keladigan raqam qaytariladi. value_ if_false argumenti o'tkazib yuborilgan, ya'ni shart bajarilmaganda FALSE qiymati bo'ladi:
{FALSE;FALSE;FALSE;5.48;5.42;5.57;FALSE;FALSE;FALSE}
Ushbu massiv MAX funktsiyasiga beriladi, bu esa YOLG'ON qiymatlarga e'tibor bermasdan maksimal sonni qaytaradi.
Maslahat. Yuqorida muhokama qilingan ichki massivlarni ko'rish uchun ish varag'ingizdagi formulaning tegishli qismini tanlang va F9 tugmasini bosing. Formulani baholash rejimidan chiqish uchun Esc tugmasini bosing.
MAX IF formulasi bir nechtamezon
Bir nechta shartlar asosida maksimal qiymatni topishingiz kerak bo'lgan vaziyatda siz:
Qo'shimcha mezonlarni kiritish uchun ichki o'rnatilgan IF iboralaridan foydalaning:
{=MAX( IF( kriteria_diapazoni1 = kriteria1 , IF( kriteria_oraliq2 = mezon2 , maksimal_oraliq )))}Yoki ko‘paytirish amalidan foydalanib bir nechta mezonlarni bajaring:
{=MAX(AGAR(( kriteria_oraliq1 = kriteria1 ) * ( kriteria_oraliq2 = kriteria2 ), maksimal_oraliq ))}Aytaylik, sizda bitta jadvalda oʻgʻil va qizlarning natijalari bor va siz 3-raundda qizlar oʻrtasida eng uzunlikka sakrashni topmoqchisiz. Buni amalga oshirish uchun , biz birinchi mezonni (ayol) G1ga, ikkinchi mezonni (3) G2ga kiritamiz va maksimal qiymatni ishlab chiqish uchun quyidagi formulalardan foydalanamiz:
=MAX(IF(B2:B16=G1, IF(C2:C16=G2, D2:D16)))
=MAX(IF((B2:B16=G1)*(C2:C16=G2), D2:D16))
Ikkisi ham massiv formulasi bo'lganligi sababli ularni to'g'ri bajarish uchun Ctrl + Shift + Enter tugmalarini bosishni unutmang.
Quyidagi skrinshotda ko'rsatilganidek, formulalar bir xil natija beradi, shuning uchun qaysi birini ishlatish kerak sizga tegishli sizning shaxsiy xohishingiz. Men uchun mantiqiy mantiqqa ega formulani o‘qish va qurish osonroq – bu qo‘shimcha IF funksiyalarini joylashtirmasdan, xohlagancha shart qo‘shish imkonini beradi.
Ushbu formulalar qanday ishlaydi
Birinchi formula ikkita mezonni baholash uchun ikkita ichki IF funktsiyasidan foydalanadi. Birinchi IF bayonotining mantiqiy testida biz Gender ustunidagi qiymatlarni solishtiramiz(B2:B16) G1 mezoni bilan ("Ayol"). Natijada TRUE va FALSE qiymatlari massivi hosil bo‘ladi, bunda TRUE mezonga mos keladigan ma’lumotlarni ifodalaydi:
{FALSE; FALSE; FALSE; TRUE; TRUE; TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; TRUE}
Shunga o‘xshab, ikkinchi IF funksiyasi Round ustunidagi (C2) qiymatlarni tekshiradi. :C16) G2 mezoniga qarshi.
Ikkinchi IF iborasidagi agar_haqiqat_qiymat argumenti uchun biz uzunlikka sakrash natijalarini beramiz (D2:D16) va shu tariqa elementlarni olamiz. mos keladigan pozitsiyalarda birinchi ikkita massivda TRUE bo'lganlar (ya'ni, jinsi "ayol" va dumaloq 3 bo'lgan elementlar):
{FALSE; FALSE; FALSE; FALSE; FALSE; 4.63; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; 4.52}
Ushbu yakuniy massiv MAX funktsiyasiga o'tadi va u eng katta sonni qaytaradi.
Ikkinchi formula bitta mantiqiy test doirasida bir xil shartlarni baholaydi va ko'paytirish operatsiyasi AND operatori kabi ishlaydi:
Har qanday holatda TRUE va FALSE qiymatlari ishlatilganda arifmetik amal, ular mos ravishda 1 va 0 ga aylantiriladi. Va 0 ga ko'paytirish har doim nol bo'lganligi sababli, barcha shartlar TRUE bo'lgandagina olingan massiv 1 ga ega bo'ladi. Bu massiv 1 (TRUE) elementga mos masofalarni qaytaruvchi IF funksiyasining mantiqiy testida baholanadi.
MAX IF massivsiz
Ko‘pgina Excel foydalanuvchilari, shu jumladan men ham massiv formulalariga noto'g'ri munosabatda bo'ling va iloji boricha ulardan xalos bo'lishga harakat qiling. Yaxshiyamki, Microsoft Excel-da massivni mahalliy tarzda boshqaradigan bir nechta funktsiyalar mavjud va biz ulardan foydalanishimiz mumkinSUMPRODUCT, masalan, MAX atrofida "oʻrash" turi sifatida.
Masivsiz umumiy MAX IF formulasi quyidagicha:
=SUMPRODUCT(MAX(( criteria_range1 =) kriteria1 ) * ( kriteria_oraliq2 = kriteria2 ) * maksimal_oraliq ))Tabiiyki, agar siz koʻproq diapazon/mezon juftlarini qoʻshishingiz mumkin kerak.
Formulani amalda ko'rish uchun biz oldingi misoldagi ma'lumotlardan foydalanamiz. Maqsad 3-raundda ayol sportchining maksimal sakrashini olishdir:
=SUMPRODUCT(MAX(((B2:B16=G1) * (C2:C16=G2) * (D2:D16))))
Ushbu formula oddiy Enter tugmachasini bosish bilan raqobatlashadi va MAX IF formula massivi bilan bir xil natijani qaytaradi:
Yuqoridagi skrinshotni diqqat bilan ko'rib chiqsangiz, oldingi misollarda "x" bilan belgilangan noto'g'ri sakrashlar endi 3, 11 va 15-qatorlarda 0 qiymatga ega ekanligini ko'rishingiz mumkin. , va keyingi bo'limda nima sababdan tushuntiriladi.
Ushbu formula qanday ishlaydi
MAX IF formulasi kabi, biz Jins (B2:B16) va Raund ()dagi har bir qiymatni solishtirish orqali ikkita mezonni baholaymiz. C2:C16) ustunlari G1 va G2 kataklardagi mezonlarga ega. Natijada TRUE va FALSE qiymatlaridan iborat ikkita massiv hosil bo'ladi. Massivlar elementlarini bir xil pozitsiyalarda ko'paytirish TRUE va FALSE ni mos ravishda 1 va 0 ga aylantiradi, bu erda 1 ikkala mezonga javob beradigan elementlarni ifodalaydi. Uchinchi ko'paytirilgan massiv uzunlikka sakrash natijalarini o'z ichiga oladi (D2:D16). Va 0 ga ko'paytirish nolga teng bo'lganligi sababli, faqat tegishli pozitsiyalarda 1 (TRUE) bo'lgan elementlar.survive:
{0; 0; 0; 0; 0; 4.63; 0; 0; 0; 0; 0; 0; 0; 0; 4.52}
Agar maksimal_oraliq har qanday matn qiymatini o'z ichiga olgan bo'lsa, ko'paytirish operatsiyasi #VALUE xatosini qaytaradi, chunki butun formula ishlamaydi.
MAX funksiyasi uni shu yerdan oladi va belgilangan shartlarga javob beradigan eng katta raqamni qaytaradi. Natijadagi bitta elementdan iborat {4.63} massiv SUMPRODUCT funksiyasiga o'tadi va u hujayradagi maksimal sonni chiqaradi.
Eslatma. O'ziga xos mantiq tufayli formula quyidagi ogohlantirishlar bilan ishlaydi:
- Eng yuqori qiymatni qidirayotgan diapazonda faqat raqamlar bo'lishi kerak. Agar matn qiymatlari mavjud bo'lsa, #VALUE! xato qaytarildi.
- Formula manfiy ma'lumotlar to'plamidagi "nolga teng emas" shartini baholay olmaydi. Nollarni hisobga olmasdan maksimal qiymatni topish uchun MAX IF formulasidan yoki MAXIFS funksiyasidan foydalaning.
Excel MAX IF formulasini OR logic bilan
Maksimal qiymatni topish uchun har qanday
Muqobil ravishda quyidagi massiv boʻlmagan formuladan foydalanishingiz mumkin :
=XUMUMIY MAHSULOT((( kriteria_diapazoni1 = mezonlar1 ) + ( kriteria_diapazoni2 = kriteria2 )) * max_range ))Misol sifatida, ishlaymiz2 va 3-raundlarda eng yaxshi natija. E'tibor bering, Excel tilida topshiriq boshqacha tuzilgan: agar tur 2 yoki 3 bo'lsa, maksimal qiymatni qaytaring.
B2:B10da keltirilgan turlar bilan , natijalar C2:C10 va mezonlar F1 va H1, formula quyidagicha bo'ladi:
=MAX(IF((B2:B10=F1) + (B2:B10=H1), C2:C10))
Ctrl + Shift + Enter tugmalar birikmasini bosib formulani kiriting va siz olasiz. bu natija:
Bir xil shartlarga ega bo'lgan maksimal qiymatni massiv bo'lmagan formula yordamida ham topish mumkin:
=SUMPRODUCT(MAX(((B2:B10=F1) + (B2:B10=H1)) * C2:C10))
Biroq, bu holda biz C ustunidagi barcha "x" qiymatlarini nolga almashtirishimiz kerak, chunki SUMPRODUCT MAX faqat raqamli ma'lumotlar bilan ishlaydi:
Ushbu formulalar qanday ishlaydi
Masiv formulasi AND mantiqi bilan MAX IF bilan bir xil ishlaydi, faqat siz koʻpaytirish oʻrniga qoʻshish amalidan foydalanib mezonlarga qoʻshilasiz. Massiv formulalarida qo‘shish OR operatori sifatida ishlaydi:
Ikkita TRUE va FALSE massivlarini qo‘shish (B2:B10 qiymatlarini F1 va H1 mezonlari bilan tekshirish natijasida) 1 va H1 massivlarini hosil qiladi. 0 - bu erda 1 har ikkala shart TRUE bo'lgan elementlarni va 0 ikkala sharti YOLG'ON bo'lgan elementlarni ifodalaydi. Natijada, IF funksiyasi C2:C10 ( agar_haqiqat_qiymati ) dagi har qanday shart TRUE (1) bo'lgan barcha elementlarni "saqlab qoladi"; qolgan elementlar FALSE bilan almashtiriladi, chunki value_agar_false argumenti belgilanmagan.
Masivdan tashqari formula ham xuddi shunday ishlaydi. Farqi shundaki, IF ning mantiqiy testi o‘rniga 1 va 0 massivining elementlarini uzunlikka sakrash natijalari massivining (C2:C10) mos keladigan pozitsiyalar elementlariga ko‘paytirasiz. Bu hech qanday shartga javob bermaydigan elementlarni bekor qiladi (birinchi massivda 0) va shartlardan biriga javob beradigan elementlarni saqlaydi (birinchi massivda 1).
MAXIFS – eng yuqori qiymatni topishning oson usuli shartlar bilan qiymat
Excel 2019, 2021 va Excel 365 foydalanuvchilari oʻzlarining MAX IF formulasini yaratish uchun massivlarni oʻzlashtirish muammosidan xoli. Excelning ushbu versiyalari uzoq kutilgan MAXIFS funksiyasini taʼminlaydi, bu esa bolalar oʻyini shartlari bilan eng katta qiymatni topish imkonini beradi.
MAXIFSning birinchi argumentida siz maksimal qiymat topilishi kerak boʻlgan diapazonni kiritasiz (D2: Bizning holatlarimizda D16) va keyingi argumentlarda siz 126 tagacha diapazon/kriteriya juftligini kiritishingiz mumkin. Masalan:
=MAXIFS(D2:D16, B2:B16, G1, C2:C16, G2)
Quyidagi skrinshotda ko'rsatilganidek, bu oddiy formulada raqamli va matn qiymatlarini o'z ichiga olgan diapazonni qayta ishlashda hech qanday muammo yo'q:
Ushbu funksiya haqida batafsil ma'lumot olish uchun formulalar misollari bilan Excel MAXIFS funksiyasiga qarang.
Mana shunday qilib Excelda shartlar bilan maksimal qiymatni topishingiz mumkin. O'qiganingiz uchun rahmat va keyingi blogimizda sizni ko'rishga umid qilamanhafta!
Yuklab olish uchun mashq kitobi
Excel MAX IF formula misollari (.xlsx fayli)