تعيد =ISBLANK(B2) القيمة TRUE عندما تكون B2 فارغة وFALSE في غير ذلك. وتعيد =ISNUMBER(B2) القيمة TRUE عندما تحتوي B2 على رقم. تجيب دوال IS هذه عن سؤال واحد بنعم أو لا حول خلية، وهي عادة الاختبار داخل IF: =IF(ISBLANK(B2),"Missing","OK").
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | What | Value | ISBLANK | ISNUMBER | ISTEXT | ISERROR |
| 2 | Number | 120 | FALSE | TRUE | FALSE | FALSE |
| 3 | Text | Apple | FALSE | FALSE | TRUE | FALSE |
| 4 | Empty cell | TRUE | FALSE | FALSE | FALSE | |
| 5 | Number as text | 42 | FALSE | FALSE | TRUE | FALSE |
| 6 | Date | 2026-03-15 | FALSE | TRUE | FALSE | FALSE |
| 7 | Logical | TRUE | FALSE | FALSE | FALSE | FALSE |
| 8 | Error | #DIV/0! | FALSE | FALSE | FALSE | TRUE |
اقرأ كل صف أفقيًا. بعض النتائج تفاجئ الناس:
- التاريخ رقم. يخزّن الاكسل التواريخ كعدد أيام، لذا تكون
ISNUMBERقيمتها TRUE للتاريخ 2026-03-15. '42تبدو كرقم لكنها نص، لذا تكون ISNUMBER قيمتها FALSE وISTEXT قيمتها TRUE. كثيرًا ما تصل البيانات المستوردة بهذا الشكل.- القيمة TRUE ليست رقمًا ولا نصًا، لذا تكون الأعمدة الأربعة FALSE في الصف 7؛ واختبارها هو ISLOGICAL.
اكتب 42 (دون علامة الاقتباس) في B5 فينتقل الصف إلى ISNUMBER.
ISBLANK مقابل ="": الصيغة التي تعيد "" ليست فارغة
تكون ISBLANK قيمتها TRUE فقط لخلية ليس فيها شيء. الخلية التي تعيد صيغتها "" (مثل =IF(C2="","",C2*D2)) تبدو فارغة، لكنها تحتوي على صيغة، لذا تقول ISBLANK إنها FALSE. أما المقارنة مع "" فتعامل الحالتين كفارغتين:
B2 is empty, B3 holds =""
=ISBLANK(B2) TRUE
=ISBLANK(B3) FALSE
=B2="" TRUE
=B3="" TRUE
تقارن الورقة أدناه خلية فارغة وصيغة "" ومسافة وصفرًا بالاختبارات التي تعامل "" كفارغة فعلًا:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | What | Value | Equals "" | LEN |
| 2 | Empty cell | TRUE | 0 | |
| 3 | Formula returning "" | TRUE | 0 | |
| 4 | A space | FALSE | 1 | |
| 5 | Zero | 0 | FALSE | 1 |
| 6 | Count blank | 2 |
قيمة B3="" هي TRUE وLEN تساوي 0 لخلية الصيغة، وتعدّ COUNTBLANK في B6 خليتين، الخلية الفارغة و"". أما المسافة في الصف 4 فليست فارغة في أي من هذه الاختبارات (LEN تساوي 1)؛ اختبر =TRIM(B4)="" إذا كان يجب أن تُعدّ الخلية التي فيها مسافات فقط فارغة. والصفر ليس فارغًا أيضًا. لذا عندما يُملأ عمود بصيغ تعيد ""، اختبره بـ ="" أو <>""، لا بـ ISBLANK.
التحقق من أن خلية تحتوي على نص: ISNUMBER(SEARCH())
لا توجد في الاكسل دالة CONTAINS. تعيد SEARCH الموضع الذي يبدأ فيه جزء من النص، أو #VALUE! عندما لا يُعثر عليه. وتحوّل ISNUMBER ذلك إلى TRUE أو FALSE:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Contains laptop | Case-sensitive | |
| 2 | Pro Laptop 14 | Yes | No | |
| 3 | Mouse | No | No | |
| 4 | Laptop stand | Yes | No | |
| 5 | USB cable | No | No | |
| 6 | laptop bag | Yes | Yes |
تتجاهل SEARCH حالة الأحرف، لذا تتطابق "Laptop" و"laptop" كلتاهما في العمود C. أما FIND فتفرّق بين الأحرف الكبيرة والصغيرة، لذا لا يطابق العمود D إلا "laptop bag". غيّر A3 إلى Gaming laptop فيقول العمودان Yes. تتناول صفحة FIND وSEARCH الدالتين بالتفصيل؛ ولعد الخلايا المطابقة بدلًا من تعليمها، استخدم =COUNTIF(A2:A6,"*laptop*").
ISERROR وISERR وISNA
ثلاث دوال تختبر الأخطاء، وتختلف في تعاملها مع #N/A:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | What | Value | ISERROR | ISNA | ISERR |
| 2 | Not found | #N/A | TRUE | TRUE | FALSE |
| 3 | Divide by 0 | #DIV/0! | TRUE | FALSE | TRUE |
| 4 | Bad argument | #NUM! | TRUE | FALSE | TRUE |
| 5 | Text in math | #VALUE! | TRUE | FALSE | TRUE |
| 6 | A number | 42 | FALSE | FALSE | FALSE |
ISERROR قيمتها TRUE للأخطاء الأربعة كلها. وISNA قيمتها TRUE لـ #N/A فقط، وهو الخطأ الذي تعيده دوال البحث عندما لا تُعثر على القيمة. وISERR عكسها: TRUE لكل خطأ عدا #N/A. ولاستبدال الخطأ بدلًا من اختباره، =IFERROR(B2,0) أقصر من =IF(ISERROR(B2),0,B2)؛ راجع صفحة IFERROR.
ISEVEN وISODD
قيمة =ISEVEN(B2) هي TRUE للرقم الزوجي، و=ISODD(B2) للفردي. الصفر زوجي، والأرقام السالبة تعمل، والعدد العشري يُقطع إلى عدد صحيح أولًا، لذا تُعدّ 2.5 مثل 2:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Item | Number | ISEVEN | ISODD |
| 2 | A | 4 | TRUE | FALSE |
| 3 | B | 7 | FALSE | TRUE |
| 4 | C | 0 | TRUE | FALSE |
| 5 | D | -3 | FALSE | TRUE |
| 6 | E | 2.5 | TRUE | FALSE |
القيمة النصية تعطي #VALUE!. وللتمييز بين الصفوف الزوجية والفردية، في الصفوف المخططة أو قواعد "كل صف ثانٍ"، استخدم =ISEVEN(ROW()).
تمرين: هل يحتوي الاسم على "pro"؟
| A | B | |
|---|---|---|
| 1 | Product | Pro model |
| 2 | Laptop Pro 14 | |
| 3 | Office Chair | |
| 4 | Monitor PRO 27 | |
| 5 | Desk Lamp |
دورك: في B2، اعرض "Yes" عندما يحتوي اسم المنتج في A2 على "pro" بأي حالة أحرف، وإلا فاعرض "No". تُنسخ الصيغة إلى الأسفل حتى B5.
أي دالة IS تستخدم
| الدالة | قيمتها TRUE عندما تكون القيمة |
|---|---|
ISBLANK | خلية فارغة (ليست ""، وليست مسافة، وليست 0) |
ISNUMBER | رقمًا، بما في ذلك التواريخ والأوقات والنسب المئوية |
ISTEXT | نصًا، بما في ذلك الأرقام المخزنة كنص و"" |
ISNONTEXT | أي شيء ليس نصًا، بما في ذلك الخلية الفارغة |
ISLOGICAL | TRUE أو FALSE |
ISERROR | أي خطأ |
ISERR | أي خطأ عدا #N/A |
ISNA | #N/A فقط |
ISEVEN / ISODD | رقمًا زوجيًا / فرديًا |
ISFORMULA | خلية تحتوي على صيغة |
ISREF | مرجع خلية |
إذا كانت =ISNUMBER(B2) قيمتها FALSE لقيم تبدو كأرقام، فهي مخزنة كنص، وSUM تتخطاها أيضًا. أصلح البيانات أولًا (توضح صفحة تحويل النص إلى رقم الطريقة)، وعندها يتفق اختبار IS مع المجاميع.
الأسئلة الشائعة
لماذا تعيد ISBLANK القيمة FALSE لخلية تبدو فارغة؟
لأن الخلية تحتوي على شيء لا تراه: صيغة تعيد نصًا فارغًا (="")، أو مسافة، أو علامة اقتباس أحادية. تكون ISBLANK قيمتها TRUE فقط لخلية فارغة فعلًا. ولتعامل "" كفارغة أيضًا، اختبر =B2="" أو =LEN(B2)=0 بدلًا من ذلك.
كيف أتحقق من أن خلية تحتوي على رقم في الاكسل؟
استخدم =ISNUMBER(B2). تعيد TRUE للرقم أو التاريخ أو النسبة المئوية، وFALSE للنص، بما في ذلك الرقم المخزن كنص مثل '42. وداخل IF: =IF(ISNUMBER(B2),B2*2,"Not a number").
ما الفرق بين ISERROR وISERR وISNA؟
ISERROR قيمتها TRUE لأي خطأ. وISNA قيمتها TRUE لـ #N/A فقط. وISERR قيمتها TRUE لكل خطأ عدا #N/A. ولاستبدال الخطأ بدلًا من اختباره، استخدم IFERROR أو IFNA.
لماذا تعيد ISNUMBER القيمة FALSE لرقم؟
لأن الرقم مخزن كنص، وهذا يحدث كثيرًا مع البيانات المستوردة: تعرض الخلية 42 لكنها تحتوي على النص "42"، وعادة يكون محاذيًا إلى اليسار مع مثلث أخضر. تعيد =ISTEXT(B2) القيمة TRUE له. حوّله بالدالة VALUE أو بالصيغة --B2.
كيف أكتب شرط إذا لم تكن الخلية فارغة في الاكسل؟
اختبر عدم المساواة مع النص الفارغ: =IF(B2<>"","Filled","Empty")، أو =IF(NOT(ISBLANK(B2)),"Filled","Empty"). الأولى تعامل أيضًا الصيغة التي تعيد "" على أنها فارغة.