Menu
flag Ar iconالعربيةdown icon

دالة IF في الاكسل: الصيغة والأمثلة والأخطاء الشائعة

تتحقق =IF(B2>=50,"Pass","Fail") مما إذا كانت B2 تساوي 50 أو أكثر، فتعيد Pass إن كانت كذلك وFail إن لم تكن. تعلّم صيغة IF، وIF مع النص، وIF مع عملية حسابية، وIF للخلية الفارغة، والأخطاء التي تجعل IF تعيد نتيجة خاطئة.

كل ورقة في هذه الصفحة تفاعلية: غيّر رقمًا أو صيغة وسيُعاد الحساب.

تتحقق =IF(B2>=50,"Pass","Fail") مما إذا كانت الدرجة في B2 تساوي 50 أو أكثر. إن كانت كذلك، تعرض الخلية Pass؛ وإن لم تكن، تعرض Fail.

ناجح أم راسب
C2
ABC
1StudentScoreResult
2Ana72Pass
3Ben45Fail
4Chloe50Pass
5Dan38Fail
6Eve91Pass
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

انقر C2 لترى الصيغة، ثم غيّر درجة Ben في B3 إلى 60: تتحول نتيجته إلى Pass. حصلت Chloe على 50 بالضبط، و>= تعني "50 أو أكثر"، لذا تنجح. ومع > كانت سترسب.

صيغة دالة IF

=IF(logical_test, value_if_true, value_if_false)
  • logical_test أي مقارنة أو صيغة تعطي TRUE أو FALSE: B2>=50، C2="Paid"، D2<TODAY().
  • value_if_true ما تعرضه الخلية عندما يكون الاختبار TRUE.
  • value_if_false ما تعرضه في غير ذلك. وهو اختياري: احذفه فتعرض الخلية FALSE عندما يفشل الاختبار. وإذا أبقيت الفاصلة وتركت الوسيط فارغًا، =IF(B2>=50,"Pass",)، فستعرض 0.

يمكن أن تكون كل نتيجة نصًا بين علامتي اقتباس مزدوجتين ("Pass")، أو رقمًا (0)، أو مرجع خلية (C2)، أو صيغة أخرى. النص بلا علامات اقتباس يُقرأ كاسم، لذا تعطي =IF(B2>=50,Pass,Fail) الخطأ #NAME?.

عوامل المقارنة هي = (يساوي)، و<> (لا يساوي)، و>، و<، و>=، و<=. في الاكسل المضبوط على لغة تستخدم الفاصلة العشرية، تُفصل الوسائط بفواصل منقوطة: =IF(B2>=50;"Pass";"Fail"). ويستخدم Google Sheets دالة IF نفسها بالوسائط نفسها.

دالة IF مع النص

يمكن أن يقارن الاختبار خلية بنص. يوضع النص بين علامتي اقتباس مزدوجتين، والمقارنة تتجاهل الأحرف الكبيرة والصغيرة.

توصيل مجاني لمنطقة North
C2
ABCD
1OrderRegionFree deliveryExact case
21001NorthYesYes
31002SouthNoNo
41003northYesNo
51004EastNoNo
61005NORTHYesNo
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

يقول العمود C إن الإجابة Yes للقيم North وnorth وNORTH، لأن = لا تهتم بحالة الأحرف. وعندما تهم حالة الأحرف (رموز المنتجات، كلمات المرور)، اختبر بالدالة EXACT بدلًا من ذلك، كما في العمود D: الصف الذي يقرأ North بالضبط وحده يحصل على Yes.

لاختبار أي شيء عدا قيمة ما، استخدم <>: =IF(B2<>"North","Standard","Free"). ولاختبار ما إذا كانت خلية تحتوي على كلمة في مكان ما داخلها، تحتاج IF إلى SEARCH، وهذا مشروح في صفحة دوال IS.

دالة IF مع عملية حسابية

لا يجب أن تكون نتائج IF نصًا. هنا يحصل كل مندوب على مكافأة 5% على المبيعات التي تتجاوز 1,000، ولا شيء دون ذلك:

مكافأة فوق 1,000
C2
ABC
1RepSalesBonus
2Ana$1,400$70
3Ben$800$0
4Chloe$1,000$0
5Dan$2,600$130
6Eve$1,150$58
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

تحصل Ana على $70 (5% من 1,400) ويحصل Ben على $0. باعت Chloe 1,000 بالضبط، والاختبار هو "أكبر من 1,000"، لذا تحصل هي أيضًا على $0. غيّر صيغة C2 إلى =IF(B2>=1000,B2*5%,0) فتصبح مكافأتها $50.

ويمكن أن يقارن الاختبار أيضًا خليتين، =IF(B2>C2,"Over target","Under target")، أو خلية بعملية حسابية، =IF(B2>AVERAGE($B$2:$B$6),"Above average","").

دالة IF للخلية الفارغة

يكون B2="" قيمة TRUE عندما تكون B2 فارغة. استخدمه لتخطي الصفوف التي ليس فيها بيانات بعد، حتى لا يمتلئ عمود الصيغة بالأصفار:

تخطي الصفوف بلا كمية
D2
ABCDE
1ItemQtyPriceTotalStatus
2Pens10$1.50$15.00Ordered
3Paper$4.20Not ordered
4Ink2$18.00$36.00Ordered
5Tape$2.80Not ordered
6Clips5$0.90$4.50Ordered
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

"" (علامتا اقتباس مزدوجتان بلا شيء بينهما) نص فارغ، لذا لا يعرض Paper وTape شيئًا في العمود D. اكتب كمية في B3 فيظهر المجموع. ويختبر العمود E العكس بالصيغة <>""، أي "ليست فارغة".

الخلية التي تحتوي على ="" تبدو فارغة لكنها ليست فارغة بالنسبة إلى ISBLANK. يهم هذا الفرق عندما تقرأ صيغ أخرى العمود، فمثلًا تعدّها COUNTA.

دالة IF بشرطين

تأخذ IF اختبارًا واحدًا. لاشتراط أمرين معًا، ضع AND داخل الاختبار؛ ولقبول أي منهما، استخدم OR:

=IF(AND(B2>=50,C2>=50),"Pass","Fail")
=IF(OR(B2="North",B2="South"),"Zone 1","Zone 2")

كلاهما مشروح بأمثلة حية في صفحة AND وOR. ولثلاث نتائج ممكنة أو أكثر (A، B، C، F)، ضع IF داخل أخرى (IF المتداخلة) أو استخدم IFS.

تمرين: إعادة الطلب أم لا

فحص إعادة الطلب
D2
ABCD
1ItemStockMinimumStatus
2Pens1220
3Paper3025
4Tape1512
5Ink810
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

دورك: في D2، اعرض "Reorder" عندما يكون المخزون في B2 أقل من الحد الأدنى في C2، وإلا فاعرض "OK". تُنسخ الصيغة إلى الأسفل حتى D5.

مكافأة 10%
C2
ABC
1RepSalesBonus
2Ana$1,250
3Ben$600
4Chloe$2,300
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

دورك: في C2، أعد مكافأة تساوي 10% من المبيعات في B2 عندما تتجاوز المبيعات 1000، و0 في غير ذلك. تُنسخ الصيغة إلى الأسفل حتى C4.

أخطاء IF الشائعة

علامات اقتباس حول رقم. تقارن =IF(B2>"50","High","Low") الخلية B2 بالنص "50"، لا بالرقم 50. يرتب الاكسل كل رقم تحت كل نص، لذا يكون الاختبار FALSE لأي رقم في B2 وتقول الصيغة دائمًا Low. اكتب الأرقام بلا علامات اقتباس: B2>50.

استخدام ==. اختبار المساواة في الاكسل علامة = واحدة. كتابة =IF(B2=="Paid","Yes","No") تجعل الاكسل يرفض الصيغة برسالة "There's a problem with this formula" (توجد مشكلة في هذه الصيغة).

أرقام مخزنة كنص. إذا احتوت B2 على '12 (نص يبدو كرقم، غالبًا من استيراد)، فإن B2>=50 تقارن نصًا برقم. النص يُعدّ دائمًا أكبر، لذا يكون الاختبار TRUE وتنجح 12. حوّل العمود أولًا؛ توضح صفحة تحويل النص إلى رقم الطريقة.

توقع TRUE كنص. تعيد =IF(B2>=50,"TRUE","FALSE") الكلمتين كنص، ولا تستطيع الصيغ الأخرى استخدامهما كقيم منطقية. إذا كنت تريد TRUE وFALSE، فلا تحتاج إلى IF أصلًا: تعيدهما =B2>=50 مباشرة.

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

الأسئلة الشائعة

كيف أكتب صيغة شرط IF في الاكسل؟

اكتب =IF(test, value_if_true, value_if_false). مثلًا تعرض =IF(B2>=50,"Pass","Fail") القيمة Pass عندما تكون B2 تساوي 50 أو أكثر، وFail في غير ذلك. النتائج النصية توضع بين علامتي اقتباس مزدوجتين، أما الأرقام ومراجع الخلايا فلا.

لماذا تعيد صيغة IF القيمة FALSE؟

لأنك حذفت الوسيط الثالث. تعيد =IF(B2>=50,"Pass") القيمة FALSE عندما يفشل الاختبار. أضف قيمة لتلك الحالة، مثل "" لعرض خلية فارغة: =IF(B2>=50,"Pass","").

هل تفرّق دالة IF بين الأحرف الكبيرة والصغيرة؟

لا. تعيد =IF(B2="North","Yes","No") القيمة Yes للقيم North وnorth وNORTH. لمطابقة حالة الأحرف بالضبط، استخدم EXACT كاختبار: =IF(EXACT(B2,"North"),"Yes","No").

كيف أجعل IF تترك الخلية فارغة؟

أعد نصًا فارغًا، أي علامتي اقتباس مزدوجتين: لا تعرض =IF(B2="","",B2*C2) شيئًا عندما تكون B2 فارغة، وتعرض حاصل الضرب في غير ذلك. ما زالت الخلية تحتوي على صيغة، لذا تعيد ISBLANK عليها القيمة FALSE.

هل يمكن أن تتحقق IF من أكثر من شرط؟

نعم. ضع AND أو OR داخل الاختبار، =IF(AND(B2>=50,C2>=50),"Pass","Fail")، أو ضع IF داخل أخرى لأكثر من نتيجتين. في Excel 2019 وما بعده، تتعامل IFS مع عدة نتائج دون تداخل.

رسم توضيحي للغات البرمجة في Coddy

تعلّم البرمجة مع Coddy

ابدأ الآن