إذا
تُرجع الدالة إذا إحدى قيمتين بناءً على ما إذا تم تقييم عبارة محددة إلى القيمة المنطقية صواب أو خطأ أم لا.
إذا(في حالة-التعبير; في حالة-الصواب; في حالة-الخطأ)
في حالة-التعبير: عبارة منطقية. في حالة-التعبير يمكن أن يتضمن أي شيء طالما أنه يمكن تقييم العبارة كقيمة بوليانية. إذا تم تقييم العبارة إلى رقم، 0 فسيتم اعتبارها خطأ، وسيتم اعتبار أي رقم آخر كصواب.
في حالة-الصواب: القيمة التي يتم إرجاعها إذا كانت نتيجة في حالة-التعبير هي صواب. في حالة-الصواب يمكن أن يتضمن أية قيمة. إذا تم حذف if-true (توجد فاصلة، ولكن لا توجد قيمة) وتم تقييم if-expression إلى TRUE، فتُرجع الدالة IF النتيجة 0.
في حالة-الخطأ: متغير اختياري يحدد القيمة التي يتم إرجاعها إذا كانت نتيجة في حالة-التعبير هي خطأ. في حالة-الخطأ يمكن أن يتضمن أية قيمة. إذا تم حذف if-false (توجد فاصلة، ولكن لا توجد قيمة) وتم تقييم if-expression إلى FALSE، فتُرجع الدالة IF النتيجة 0. إذا تم حذفif-false بالكامل (لا توجد فاصلة بعد if-true) وتم تقييم if-expression إلى FALSE، فتُرجع الدالة IF النتيجة FALSE.
ملاحظات
يمكن أن يتضمن أي من أو كل من في حالة-الصواب وفي حالة-الخطأ دوال إذا إضافية (عادةً ما تُعرف باسم دوال إذا المتداخلة).
استخدام "إذا" لإجراء مقارنات بسيطة |
---|
يوضح الجدول أدناه طريقة بسيطة لتتبع درجات الطلاب. |
A | B | C | D | E | F | |
---|---|---|---|---|---|---|
1 | الطالب | درجة الاختبار 1 | درجة الاختبار 2 | الدرجة النهائية | التقدير بالأحرف | النتيجة النهائية |
2 | 1 | 56 | 59 | 59 | F | راسب |
3 | 2 | 75 | 84 | 84 | B | ناجح |
4 | 3 | 100 | 93 | 100 | A | ناجح |
يمكنك إجراء مقارنة "إذا" بسيطة باستخدام هذه البيانات. فيما يلي بعض الطرق لاستخدام دالة "إذا": |
إرجاع قيمة نصية بناءً على المعايير: في هذه الصيغة، تُستخدم الوسيطات التالية:
تعمل هذه الصيغة على تعيين نتيجة "ناجح" إذا كانت درجة اختبار الطالب 1 تساوي 60 أو أعلى؛ وإلا يتم إرجاع "راسب". |
إرجاع قيمة رقمية بناءً على المعايير: في هذه الصيغة، تُستخدم الوسيطات التالية:
تحسب هذه الصيغة الدرجة النهائية على أنها أعلى درجة بين درجتي الاختبارين، ويمكن تعديلها بسهولة لأي طالب آخر في الجدول أعلاه عن طريق تغيير مراجع الخلايا لتتطابق مع درجات الطالب الصحيحة. |
استخدام دالة "إذا" متداخلة لاختبار المزيد من الشروط: تعمل الصيغة أعلاه على تعيين نتيجة "ناجح" إذا كانت درجة واحدة على الأقل من درجات اختبار الطالب 60 أو أعلى. تعمل الصيغة أعلاه على تعيين تقدير بالأحرف بناءً على الدرجة النهائية للطالب. ملاحظة: باستخدام دالات "إذا" المتداخلة، يكون ترتيب المقارنات مهمًا لأن الصيغة تتوقف بعد أول عبارة صحيحة. على سبيل المثال، إذا كنت تريد إضافة شرط جديد إلى صيغة التقدير بالأحرف "not attempted" إذا حصل الطالب على درجة 0، فأنت بحاجة إلى إضافته كشرط أول. ستؤدي إضافته في النهاية إلى إرجاع "F" حتى لو كانت الدرجة 0، لأنها ستكون قد تم بالفعل تقييمها على أنها أقل من 60. وهذا هو السبب كذلك في عدم الحاجة إلى if-expression منفصل للتقدير بالأحرف "A"، إذا لم تكن درجة الطالب "B"، فهي كذلك لم تكن أي تقدير بالأحرف آخر، ويجب أن تكون "A". |
تجربة |
---|
للاطلاع على دالة "IF" المستخدمة في جدول بيانات Numbers، أنشئ جدول بيانات جديدًا باستخدام القالب "دفتر الدرجات". أزِل اسمًا من جدول "عرض عام للفصل" ولاحظ كيف يغيّر ذلك القيمة في عمود "الدرجة النهائية". استكشف الدالة المستخدمة في عمود "الدرجة النهائية". |
استخدام دالة "إذا" مع الدوال الأخرى |
---|
تعمل الصيغة التالية مع ISBLANK لتحديد ما إذا كانت الخلية فارغة. في هذه الصيغة، تُستخدم الوسيطات التالية:
لمزيد من الاختبارات المعقدة، يمكنك أيضًا دمج دالة "إذا" مع دالة و ودالة أو ودالة ليس. |
المُضيّ قدمًا باستخدام الدالة IFS |
---|
يمكن استخدام دالة IFS لتقييم سلسلة من التعبيرات وإرجاع قيمة بناءً على الشرط الأول الصحيح، مع استبدال عبارات "إذا" المتداخلة المتعددة. |
أمثلة إضافية |
---|
=IF(A5>=0; "Nonnegative"; "Negative") تُرجع النص "Nonnegative" إذا كانت الخلية A5 تتضمن رقمًا أكبر من أو يساوي 0 أو قيمة غير رقمية. إذا كانت الخلية A5 تتضمن قيمة أقل من 0، فتُرجع الدالة "سالب". =IF(A5<>0; "Nonzero"; "Zero") تُرجع النص "Nonzero" إذا كانت الخلية A5 تتضمن رقمًا غير الـ 0. إذا كانت الخلية A5 تحتوي على 0، فتُرجع الدالة "Zero". =IF(IFERROR(OR(ISEVEN(B4+B5); ISODD(B4+B5)); خطأ)، "كل الأرقام"; "ليس كل الأرقام") تُرجع النص "كل الأرقام" إذا كانت الخليتان B4 وB5 تتضمنان أرقامًا; وإذا لم يكن الأمر كذلك، فإنها ستُرجع "ليس كل الأرقام". يتم القيام بذلك من خلال الاختبار لمعرفة ما إذا كان حاصل الخليتين زوجيًا أو فرديًا. إذا لم تكن الخلية رقمًا، فتُرجع الدالتان EVEN وODD النتيجة خطأ، وتُرجع الدالة IFERROR النتيجة خطأ؛ وإذا لم يكن الأمر كذلك، فإنها تُرجع TRUE نظرًا إلى أن الدالة EVEN أو ODD هى TRUE. وإذا لم تكن أي من B4 أو B5 رقمًا أو قيمة بوليانية، فإن عبارة IF تُرجع عبارة if-false، وهي "Not all numbers"؛ وإذا لم يكن الأمر كذلك، فإنها تُرجع عبارة if-true وهي "All numbers". |
أمثلة —تجنب الأخطاء الناتجة عن القسمة على 0 |
---|
لا يمكن في بعض الأحيان إنشاء جدول بطريقة تتجنب القسمة على 0. إلا أنه، إذا حدثت القسمة على 0، فإن النتيجة تكون قيمة خطأ في الخلية التي عادةً لا تكون النتيجة المطلوبة. يوضح هذا المثال ثلاث طرق لتجنب هذا الخطأ. افترض أن الخليتين D2 وE2 تتضمن كل منهما رقمًا. من الممكن أن الخلية E2 تتضمن 0. كنت ترغب في قسمة D2 على E2، ولكنك تريد تجنب خطأ القسمة على 0. تُرجع كل من الطرق الثلاث التالية النتيجة 0 إذا كانت الخلية E2 تساوي 0؛ وإذا لم يكن الأمر كذلك، فتكون النتيجة D2/E2. =إذا(E2=0; 0; D2/E2) تعمل من خلال اختبار الخلية E2 مباشرةً للتحقق مما إذا كانت 0. =IFERROR(D2/E2; 0) تعمل من خلال إرجاع 0 إذا حدث خطأ. تؤدي القسمة على 0 إلى حدوث خطأ. =إذا(ISERROR(D2/E2); 0; D2/E2) تعمل من خلال إجراء اختبار منطقي للتحقق مما إذا كانت D2/E2 هي صواب. |
مثال باستخدام REGEX |
---|
لتكن الخلية A1 "marina@example.com" =إذا(A1 = REGEX("([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2;4})"); "تحتوي على بريد إلكتروني"; "لا يوجد بريد إلكتروني") تُرجع "تحتوي على بريد إلكتروني". |