جدول المحتويات
توضح المقالة عدة طرق مختلفة للحصول على الحد الأقصى للقيمة في Excel بناءً على شرط واحد أو عدة شروط تحددها.
في برنامجنا التعليمي السابق ، نظرنا في الاستخدامات الشائعة للدالة MAX المصممة لإرجاع أكبر رقم في مجموعة بيانات. ومع ذلك ، في بعض الحالات ، قد تحتاج إلى مزيد من التعمق في بياناتك للعثور على القيمة القصوى بناءً على معايير معينة. يمكن القيام بذلك باستخدام بعض الصيغ المختلفة ، وتشرح هذه المقالة جميع الطرق الممكنة.
صيغة Excel MAX IF
حتى وقت قريب ، لم يكن لدى Microsoft Excel وظيفة MAX IF المدمجة للحصول على أقصى قيمة بناءً على الظروف. من خلال تقديم MAXIFS في Excel 2019 ، يمكننا القيام بحد أقصى شرطي بطريقة سهلة.
في Excel 2016 والإصدارات السابقة ، لا يزال يتعين عليك إنشاء صيغة الصفيف الخاصة بك من خلال الجمع بين MAX دالة مع عبارة IF:
{= MAX (IF ( criteria_range= معايير، 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 الأسماء التي تطابق اسم الهدف (جاكوب):
{FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE}
للقيمة _ 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 ( إذا كانت ( نطاق_المعايير 1 = معايير 1 ، إذا ( نطاق_المعايير 2 = معيار 2 ، نطاق_حد أقصى )))}أو تعامل مع معايير متعددة باستخدام عملية الضرب:
{= MAX (IF (( معيار_ النطاق 1 = معيار 1 ) * ( نطاق_المعايير 2 = معايير 2 )، max_range ))}لنفترض أن لديك نتائج الأولاد والبنات في جدول واحد وترغب في العثور على أطول قفزة بين الفتيات في الجولة الثالثة. ، ندخل المعيار الأول (أنثى) في 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 الثانية من القيم في عمود Round (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 و تقوم بإرجاع أكبر رقم.
تقيم الصيغة الثانية نفس الشروط في اختبار منطقي واحد وتعمل عملية الضرب مثل عامل التشغيل AND:
عندما يتم استخدام قيم TRUE و FALSE في أي عملية حسابية ، يتم تحويلها إلى 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))))
تُنافس هذه الصيغة بضغطة مفتاح عادية وتُرجع نفس النتيجة مثل صيغة المصفوفة MAX IF:
إلقاء نظرة فاحصة على لقطة الشاشة أعلاه ، يمكنك ملاحظة أن القفزات غير الصالحة التي تم تمييزها بعلامة "x" في الأمثلة السابقة تحتوي الآن على 0 قيم في الصفوف 3 و 11 و 15 ، ويشرح القسم التالي السبب.
كيف تعمل هذه الصيغة
كما هو الحال مع صيغة MAX IF ، نقوم بتقييم معيارين من خلال مقارنة كل قيمة في الجنس (B2: B16) و Round ( C2: C16) بالمعايير الموجودة في الخلايا G1 و G2. والنتيجة هي صفيفتان من قيم TRUE و FALSE. يؤدي ضرب عناصر المصفوفات في نفس المواضع إلى تحويل TRUE و FALSE إلى 1 و 0 ، على التوالي ، حيث يمثل 1 العناصر التي تلبي كلا المعيارين. يحتوي الصفيف المضاعف الثالث على نتائج الوثب الطويل (D2: D16). ولأن الضرب في 0 يعطي صفرًا ، فإن العناصر التي تحتوي على 1 (TRUE) فقط في المواضع المقابلةالبقاء على قيد الحياة:
{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 مع منطق OR
للعثور على القيمة القصوى عند أي من الشروط المحددة مستوفاة ، استخدم المصفوفة MAX IF المألوفة بالفعل مع المنطق المنطقي ، ولكن أضف الشروط بدلاً من ضربها.
{= MAX (IF ((( criteria_range1 = معيار 1 ) + ( نطاق_المعايير 2 = معايير 2 ) ، max_range ))}بدلاً من ذلك ، يمكنك استخدام الصيغة التالية غير المصفوفة :
= 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 فيما عدا أنك تقوم بضم المعايير باستخدام عملية الإضافة بدلاً من الضرب. في صيغ الصفيف ، تعمل الإضافة كعامل تشغيل OR:
تؤدي إضافة صفيفين من TRUE و FALSE (التي تنتج عن التحقق من القيم في B2: B10 مقابل المعايير الموجودة في F1 و H1) إلى إنتاج صفيف من 1 و 0 حيث يمثل 1 العناصر التي يكون أي من الشرطين فيها TRUE ويمثل 0 العناصر التي يكون كلا الشرطين فيها FALSE. نتيجة لذلك ، "تحتفظ" الدالة IF بجميع العناصر الموجودة في 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)