وظيفة Excel IF بشروط متعددة

  • شارك هذا
Michael Brown

يوضح البرنامج التعليمي كيفية إنشاء جمل IF متعددة في Excel باستخدام AND وكذلك منطق OR. ستتعلم أيضًا كيفية استخدام IF مع وظائف Excel الأخرى.

في الجزء الأول من برنامج Excel IF التعليمي ، نظرنا في كيفية إنشاء عبارة IF بسيطة بشرط واحد للنص ، الأرقام والتواريخ والفراغات وغير الفراغات. ومع ذلك ، لتحليل البيانات الفعال ، قد تحتاج غالبًا إلى تقييم شروط متعددة في وقت واحد. ستوضح لك أمثلة الصيغة أدناه أكثر الطرق فعالية للقيام بذلك.

    كيفية استخدام دالة IF مع شروط متعددة

    في جوهرها ، هناك نوعان من صيغة IF بمعايير متعددة تستند إلى منطق AND / OR . وبالتالي ، في الاختبار المنطقي لصيغة IF الخاصة بك ، يجب عليك استخدام إحدى هذه الدالات:

    • دالة AND - تُرجع TRUE إذا تم استيفاء جميع الشروط ؛ FALSE وإلا.
    • دالة OR - تُرجع TRUE إذا تم استيفاء أي شرط واحد ؛ خطأ بخلاف ذلك.

    لتوضيح النقطة بشكل أفضل ، دعنا نتحرى بعض أمثلة الصيغ الواقعية.

    عبارة Excel IF بشروط متعددة (AND logic)

    الصيغة العامة لـ Excel IF بشرطين أو أكثر هي:

    IF (AND ( condition1، condition2،…) ، value_if_true ، value_if_false)

    تُترجم إلى إنسان اللغة ، تقول الصيغة: إذا كان الشرط 1 صحيحًا وكان الشرط 2 صحيحًا ، فارجع value_if_true ؛ آخر إرجاع value_if_false .

    لنفترض أن لديك جدولًا يسرد درجات الاختبارين في العمودين B و C. لاجتياز الاختبار النهائي ، يجب أن يحصل الطالب على كلتا الدرجات أكبر من 50.

    للاختبار المنطقي ، يمكنك استخدام عبارة AND التالية: AND (B2 & gt؛ 50، C2 & gt؛ 50)

    إذا تحققت كلا الشرطين ، فستعيد الصيغة "Pass" ؛ إذا كان أي شرط خاطئ - "فشل".

    =IF(AND(B2>50, B2>50), "Pass", "Fail")

    سهل ، أليس كذلك؟ تثبت لقطة الشاشة أدناه أن صيغة Excel IF / AND الخاصة بنا تعمل بشكل صحيح:

    بطريقة مماثلة ، يمكنك استخدام وظيفة Excel IF مع شروط نصية متعددة .

    من أجل على سبيل المثال ، لإخراج "جيد" إذا كان كل من B2 و C2 أكبر من 50 ، أو "Bad" ، وإلا فإن الصيغة هي:

    =IF(AND(B2="pass", C2="pass"), "Good!", "Bad")

    ملاحظة مهمة! تتحقق الدالة AND من جميع الشروط ، حتى إذا تم تقييم الحالة (الشروط) التي تم اختبارها بالفعل إلى FALSE. مثل هذا السلوك غير معتاد إلى حد ما لأنه في معظم لغات البرمجة ، لا يتم اختبار الشروط اللاحقة إذا كان أي من الاختبارات السابقة قد أعاد FALSE.

    من الناحية العملية ، قد ينتج عن عبارة IF التي تبدو صحيحة إلى خطأ بسبب هذا النوعية. على سبيل المثال ، ترجع الصيغة أدناه # DIV / 0! (خطأ "قسمة على صفر") إذا كانت الخلية A2 تساوي 0:

    =IF(AND(A20, (1/A2)>0.5),"Good", "Bad")

    تجنب ذلك ، يجب استخدام دالة IF المتداخلة:

    =IF(A20, IF((1/A2)>0.5, "Good", "Bad"), "Bad")

    لمزيد من المعلومات ، يرجى الاطلاع على صيغة IF AND في Excel.

    وظيفة Excel IF مع عدةالشروط (أو منطق)

    لفعل شيء واحد إذا تم استيفاء أي شرط ، وإلا افعل شيئًا آخر ، استخدم هذه المجموعة من دالتي IF و OR:

    IF (OR ( condition1 ، condition2 ،…)، value_if_true، value_if_false)

    الاختلاف عن صيغة IF / AND التي تمت مناقشتها أعلاه هو أن Excel يُرجع TRUE إذا كان أي من الشروط المحددة صحيحًا.

    > في العمود D. في ظل هذه الظروف ، يتمتع طلابنا بفرصة أفضل لاجتياز الاختبار النهائي (فشلت إيفيت بشكل خاص بفارق نقطة واحدة فقط :)

    نصيحة. في حالة إنشاء عبارة IF متعددة مع النص واختبار قيمة في خلية واحدة باستخدام منطق OR (أي يمكن أن تكون الخلية "this" أو "that") ، فيمكنك حينئذٍ إنشاء جملة أكثر إحكامًا صيغة تستخدم ثابت صفيف.

    على سبيل المثال ، لتمييز عملية بيع على أنها "مغلقة" إذا كانت الخلية B2 إما "تم تسليمها" أو "مدفوعة" ، تكون الصيغة:

    =IF(OR(B2={"delivered", "paid"}), "Closed", "")

    يمكن العثور على المزيد من أمثلة الصيغ في Excel IF OR function.

    IF مع عدة AND & amp؛ عبارات OR

    إذا كانت مهمتك تتطلب تقييم عدة مجموعات من الشروط المتعددة ، فسيتعين عليك استخدام كل من AND & amp؛ يعمل OR في وقت واحد.

    في نموذج الجدول الخاص بنا ، افترض أن لديك المعايير التالية للتحقق من نتائج الامتحان:

    • الشرط 1:test1 & gt؛ 50 and

      للوهلة الأولى ، تبدو الصيغة صعبة بعض الشيء ، لكنها في الحقيقة ليست كذلك! أنت فقط تعبر عن كل من الشروط المذكورة أعلاه كعبارة AND ودمجها في دالة OR (نظرًا لأنه ليس من الضروري استيفاء كلا الشرطين ، فإما أن تكون كافية):

      OR(AND(B2>50, C2>50), AND(B2>40, C2>60)

      ثم استخدم الدالة OR للاختبار المنطقي لـ IF وتزويد القيم المرغوبة value_if_true و value_if_false . كنتيجة لذلك ، تحصل على صيغة IF التالية بشروط AND / OR متعددة:

      =IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Pass", "Fail")

      تشير لقطة الشاشة أدناه إلى أننا قمنا بالصيغة بشكل صحيح:

      بطبيعة الحال ، فأنت لست مقيدًا باستخدام وظيفتين فقط و / أو في صيغ IF الخاصة بك. يمكنك استخدام العدد الذي يتطلبه منطق عملك ، بشرط أن:

      • في Excel 2007 والإصدارات الأحدث ، ليس لديك أكثر من 255 وسيطة ، ولا يتجاوز الطول الإجمالي لصيغة IF 8192 حرفًا.
      • في Excel 2003 والإصدارات الأقل ، لا يوجد أكثر من 30 وسيطة ، ولا يتجاوز إجمالي طول صيغة IF 1024 حرفًا.

      عبارة IF المتداخلة إلى تحقق من عدة اختبارات منطقية

      إذا كنت تريد تقييم عدة اختبارات منطقية في صيغة واحدة ، فيمكنك دمج عدة وظائف في بعضها البعض. تسمى هذه الوظائف متداخلةوظائف IF . تثبت أنها مفيدة بشكل خاص عندما ترغب في إرجاع قيم مختلفة بناءً على نتائج الاختبارات المنطقية.

      إليك مثال نموذجي: لنفترض أنك تريد تأهيل إنجازات الطلاب على أنها " جيد " ، " مرض " و " ضعيف " بناءً على الدرجات التالية:

      • جيد: 60 أو أكثر (& gt؛ = 60)
      • مرضٍ: بين 40 و 60 (& gt؛ 40 and & lt؛ 60)
      • ضعيف: 40 أو أقل (& lt؛ = 40)

      قبل كتابة صيغة ، ضع في اعتبارك الترتيب من الوظائف التي ستعششها. سيقوم Excel بتقييم الاختبارات المنطقية بالترتيب الذي تظهر به في الصيغة. بمجرد تقييم الشرط إلى TRUE ، لا يتم اختبار الشروط التالية ، مما يعني أن الصيغة تتوقف بعد أول نتيجة TRUE.

      في حالتنا ، يتم ترتيب الوظائف من الأكبر إلى الأصغر:

      =IF(B2>=60, "Good", IF(B2>40, "Satisfactory", "Poor"))

      بطبيعة الحال ، يمكنك دمج المزيد من الوظائف إذا لزم الأمر (حتى 64 في الإصدارات الحديثة).

      لمزيد من المعلومات ، يرجى الاطلاع على كيفية استخدام عدة جمل IF المتداخلة في Excel.

      صيغة صفيف Excel IF بشروط متعددة

      طريقة أخرى للحصول على Excel IF للاختبار شروط متعددة باستخدام صيغة مصفوفة.

      لتقييم الشروط باستخدام منطق AND ، استخدم العلامة النجمية:

      IF ( condition1 ) * ( condition2 ) *…، value_if_true، value_if_false)

      لاختبار الشروط باستخدام منطق OR ، استخدم علامة الجمع:

      IF ( condition1 ) + ( condition2 ) +…،value_if_true، value_if_false)

      لإكمال صيغة مصفوفة بشكل صحيح ، اضغط على مفتاحي Ctrl + Shift + Enter معًا. في Excel 365 و Excel 2021 ، يعمل هذا أيضًا كصيغة عادية بسبب دعم المصفوفات الديناميكية.

      على سبيل المثال ، للحصول على "Pass" إذا كان كل من B2 و C2 أكبر من 50 ، فإن الصيغة هي:

      =IF((B2>50) * (C2>50), "Pass", "Fail")

      في Excel 365 الخاص بي ، تعمل الصيغة العادية بشكل جيد (كما ترى في لقطات الشاشة أعلاه). في Excel 2019 والإصدارات الأقل ، تذكر أن تجعلها صيغة صفيف باستخدام الاختصار Ctrl + Shift + Enter.

      لتقييم شروط متعددة باستخدام منطق OR ، تكون الصيغة:

      =IF((B2>50) + (C2>50), "Pass", "Fail")

      استخدام IF مع وظائف أخرى

      يوضح هذا القسم كيفية استخدام IF مع وظائف Excel الأخرى والفوائد التي يوفرها لك هذا.

      مثال 1. إذا كان #N / A خطأ في VLOOKUP

      عندما يتعذر على VLOOKUP أو دالة بحث أخرى العثور على شيء ما ، فإنها تُرجع الخطأ # N / A. لجعل الجداول تبدو أجمل ، يمكنك إرجاع صفر أو نص فارغ أو نص محدد إذا كان # N / A. لهذا ، استخدم هذه الصيغة العامة:

      IF (ISNA (VLOOKUP (…)) ، value_if_na ، VLOOKUP (…))

      على سبيل المثال:

      إذا # N / إرجاع 0:

      إذا لم يتم العثور على قيمة البحث في E1 ، ترجع الصيغة صفرًا.

      =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))

      إذا كان # N / A يُرجع فارغًا:

      إذا لم يتم العثور على قيمة البحث ، فإن الصيغة لا تُرجع شيئًا (سلسلة فارغة).

      =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))

      إذا كانت # N / A تُرجع نصًا معينًا:

      إذا كان لم يتم العثور على قيمة البحثتُرجع الصيغة نصًا محددًا.

      =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Not found", VLOOKUP(E1, A2:B10, 2, FALSE))

      لمزيد من أمثلة الصيغ ، يرجى الاطلاع على VLOOKUP مع عبارة IF في Excel.

      مثال 2. IF مع SUM و AVERAGE و MIN و MAX الدالات

      لجمع قيم الخلايا بناءً على معايير معينة ، يوفر Excel الدالتين SUMIF و SUMIFS.

      في بعض الحالات ، قد يتطلب منطق عملك تضمين دالة SUM في الاختبار المنطقي لـ IF. على سبيل المثال ، لإرجاع تسميات نصية مختلفة بناءً على مجموع القيم في B2 و C2 ، تكون الصيغة:

      =IF(SUM(B2:C2)>130, "Good", IF(SUM(B2:C2)>110, "Satisfactory", "Poor"))

      إذا كان المجموع أكبر من 130 ، تكون النتيجة "جيدة "؛ إذا كانت أكبر من 110 - "مرضٍ" ، إذا كانت 110 أو أقل - "رديئة".

      بطريقة مماثلة ، يمكنك تضمين دالة AVERAGE في الاختبار المنطقي لـ IF وإرجاع تسميات مختلفة بناءً على متوسط ​​الدرجة :

      =IF(AVERAGE(B2:C2)>65, "Good", IF(AVERAGE(B2:C2)>55, "Satisfactory", "Poor"))

      بافتراض أن إجمالي الدرجات موجود في العمود D ، يمكنك تحديد القيم الأعلى والأدنى بمساعدة الدالتين MAX و MIN:

      =IF(D2=MAX($D$2:$D$10), "Best result", "")

      =IF(D2=MAX($D$2:$D$10), "Best result", "")

      للحصول على كلتا التسميتين في عمود واحد ، قم بتداخل الوظائف المذكورة أعلاه في بعضها:

      =IF(D2=MAX($D$2:$D$10), "Best result", IF(D2=MIN($D$2:$D$10), "Worst result", ""))

      وبالمثل ، يمكنك استخدام IF مع مخصصك وظائف. على سبيل المثال ، يمكنك دمجها مع GetCellColor أو GetCellFontColor لإرجاع نتائج مختلفة بناءً على لون الخلية.

      بالإضافة إلى ذلك ، يوفر Excel عددًا من الوظائف لحساب البيانات بناءً على الشروط. للحصول على أمثلة تفصيلية للصيغ ، يرجى التحقق مما يليالبرامج التعليمية:

      • COUNTIF - حساب الخلايا التي تفي بشرط
      • COUNTIFS - حساب الخلايا بمعايير متعددة
      • SUMIF - جمع الخلايا بشكل مشروط
      • SUMIFS - مجموع الخلايا ذات المعايير المتعددة

      مثال 3. إذا كان مع ISNUMBER و ISTEXT و ISBLANK

      لتحديد النص والأرقام والخلايا الفارغة ، يوفر Microsoft Excel وظائف خاصة مثل ISTEXT و ISNUMBER و ISBLANK. من خلال وضعها في الاختبارات المنطقية لثلاث عبارات IF المتداخلة ، يمكنك تحديد جميع أنواع البيانات المختلفة دفعة واحدة:

      =IF(ISTEXT(A2), "Text", IF(ISNUMBER(A2), "Number", IF(ISBLANK(A2), "Blank", "")))

      مثال 4. IF و CONCATENATE

      إلى قم بإخراج نتيجة IF وبعض النص في خلية واحدة ، استخدم الدالتين CONCATENATE أو CONCAT (في Excel 2016-365) و IF معًا. على سبيل المثال:

      =CONCATENATE("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))

      =CONCAT("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))

      بالنظر إلى لقطة الشاشة أدناه ، لن تحتاج إلى أي شرح لما تفعله الصيغة:

      IF ISERROR / صيغة ISNA في Excel

      تحتوي الإصدارات الحديثة من Excel على وظائف خاصة لتعويض الأخطاء واستبدالها بحساب آخر أو قيمة محددة مسبقًا - IFERROR (في Excel 2007 والإصدارات الأحدث) و IFNA (في Excel 2013 والإصدارات الأحدث). في إصدارات Excel السابقة ، يمكنك استخدام تركيبات IF ISERROR و IF ISNA بدلاً من ذلك.

      الفرق هو أن IFERROR و ISERROR يعالجان جميع أخطاء Excel المحتملة ، بما في ذلك #VALUE !، # N / A ، #NAME ؟، # REF !، #NUM !، # DIV / 0 !، و # NULL !. بينما يتخصص IFNA و ISNA فقط في أخطاء # N / A.

      على سبيل المثال ، إلىاستبدل الخطأ "القسمة على صفر" (# DIV / 0!) بالنص المخصص ، يمكنك استخدام الصيغة التالية:

      =IF(ISERROR(A2/B2), "N/A", A2/B2)

      وهذا كل ما يجب أن أقوله حول استخدام IF وظيفة في Excel. أشكرك على القراءة وآمل أن أراك على مدونتنا الأسبوع المقبل!

      تدرب على تنزيل المصنف

      معايير Excel IF المتعددة - أمثلة (ملف .xlsx)

    مايكل براون متحمس للتكنولوجيا ولديه شغف لتبسيط العمليات المعقدة باستخدام أدوات البرمجيات. مع أكثر من عشر سنوات من الخبرة في صناعة التكنولوجيا ، صقل مهاراته في Microsoft Excel و Outlook ، بالإضافة إلى جداول بيانات Google والمستندات. مدونة مايكل مكرسة لمشاركة معرفته وخبرته مع الآخرين ، وتقديم نصائح ودروس تعليمية سهلة المتابعة لتحسين الإنتاجية والكفاءة. سواء كنت محترفًا متمرسًا أو مبتدئًا ، تقدم مدونة مايكل رؤى قيمة ونصائح عملية للحصول على أقصى استفادة من أدوات البرامج الأساسية هذه.