تعدّ =COUNTIF(B2:B8,"<>") الخلايا في B2:B8 غير الفارغة. تعني <> "لا يساوي"، وعندما لا يأتي بعدها شيء تكون المقارنة مع خلية فارغة. وتعطي =COUNTA(B2:B8) العدد نفسه.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Name | Phone | Count | Result | ||
| 2 | Ana | ana@mail.com | 555-0101 | Emails, COUNTIF | 5 | |
| 3 | Ben | 555-0102 | Emails, COUNTA | 5 | ||
| 4 | Cara | cara@mail.com | Missing emails | 2 | ||
| 5 | Dan | dan@mail.com | 555-0104 | Phones | 4 | |
| 6 | Eva | Rows | 7 | |||
| 7 | Finn | finn@mail.com | 555-0106 | |||
| 8 | Gus | gus@mail.com |
لخمس من جهات الاتصال السبع بريد إلكتروني، لذا تعرض F2 وF3 كلتاهما 5، وتعدّ COUNTBLANK الاثنتين المفقودتين. ومجموع العددين الممتلئ والفارغ يساوي دائمًا عدد الصفوف في F6. اكتب بريدًا إلكترونيًا في B3 فتزيد F2 بواحد بينما تنقص F4.
COUNTIF للخلايا غير الفارغة مقابل COUNTA
لنطاق واحد، تعدّ =COUNTIF(B2:B8,"<>") و=COUNTA(B2:B8) الخلايا نفسها: أي شيء غير فارغ، بما في ذلك الأرقام والتواريخ وTRUE/FALSE وقيم الأخطاء. وCOUNTA أقصر. أما صيغة "<>" فموجودة للحظة التي تحتاج فيها إلى شرط ثانٍ، لأن COUNTA لا تأخذ شرطًا وCOUNTIFS تأخذ.
COUNT دالة مختلفة: تعدّ الأرقام والتواريخ فقط، لذا يعطي عمود الأسماء 0. تجد مقارنة الدوال الثلاث في COUNT وCOUNTA.
وعكس غير الفارغة هو "": تعدّ =COUNTIF(B2:B8,"") الخلايا الفارغة، مثل COUNTBLANK.
COUNTIFS للخلايا غير الفارغة مع شرط آخر
استخدم "<>" أحد شروط COUNTIFS. أدناه، يعني تاريخ الشحن أن الطلب قد خرج.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Order | Shipped | Condition | Count | |
| 2 | North | A-101 | 2026-01-08 | North, shipped | 2 | |
| 3 | South | A-102 | North, not shipped | 1 | ||
| 4 | North | A-103 | 2026-02-06 | Any region, shipped | 3 | |
| 5 | East | A-104 | 2026-02-20 | Order and date filled | 3 | |
| 6 | South | A-105 | ||||
| 7 | North | A-106 |
تعدّ F2 طلبي North اللذين لهما تاريخ، وتعدّ F3 الطلب الذي ليس له تاريخ. وتضع F5 الشرط "<>" على عمودين، لذا تعدّ الصفوف التي يكون فيها العمودان ممتلئين. ويعمل الشرط نفسه في SUMIFS وAVERAGEIFS: كانت =SUMIFS(D2:D7,C2:C7,"<>") ستجمع عمود مبالغ D للصفوف المشحونة فقط.
خلايا تبدو فارغة فقط
الخلية التي فيها مسافة تبدو فارغة لكنها تحتوي على نص، وتعدّها "<>" وCOUNTA. يحدث هذا مع البيانات الملصقة من أنظمة أخرى أو التي "مُسحت" بكتابة مسافة. عدّ الخلايا التي فيها محتوى ظاهر بقص المسافات والتحقق من الطول.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Name | Note | Count | Result | |
| 2 | Ana | call back | COUNTA | 4 | |
| 3 | Ben | Visible content | 2 | ||
| 4 | Cara | Space in B3? | 1 | ||
| 5 | Dan | paid | |||
| 6 | Eva |
في B3 مسافة واحدة وفي B6 مسافتان. تعدّهما COUNTA مع الملاحظتين الحقيقيتين وتعرض 4. أما صيغة SUMPRODUCT فتقص كل خلية ولا تعدّ إلا التي يبقى فيها شيء: 2. ولتنظيف الخلايا نفسها، حددها واضغط Delete، أو استخدم TRIM في عمود مساعد. أما استبدال كل مسافة بلا شيء في "بحث واستبدال" فسيحوّل "call back" أيضًا إلى "callback".
صيغ تعيد نصًا فارغًا
الصيغة مثل =IF(C2>0,C2,"") لا تعرض شيئًا عندما يكون الشرط خاطئًا، لكن الخلية ليست فارغة: فيها صيغة نتيجتها نص فارغ. وتتعامل دوال العد معها بطرق مختلفة. عندما يحتوي A2:A6 على Apple، وصيغة تعيد ""، وخلية فارغة، و5، وPear، يعطي الاكسل:
=COUNTA(A2:A6) 4 counts the "" formula
=COUNTIF(A2:A6,"<>") 4 counts the "" formula
=COUNTBLANK(A2:A6) 2 counts the "" formula as blank
=COUNTIF(A2:A6,"") 2 counts the "" formula as blank
=SUMPRODUCT(--(LEN(A2:A6)>0)) 3 counts only visible content
=COUNTIF(A2:A6,"?*") 2 counts text of at least one character
إذن تُعدّ خلية الصيغة فارغة وغير فارغة في آن واحد، ويكون مجموع COUNTA وCOUNTBLANK أكبر من عدد الخلايا. وعندما يمتلئ عمود بمثل هذه الصيغ، عدّ بالصيغة =SUMPRODUCT(--(LEN(A2:A6)>0))، التي لا تعدّ إلا الخلايا التي تعرض شيئًا. ومع شرط ثانٍ: =SUMPRODUCT((B2:B6="North")*(LEN(A2:A6)>0)).
تمرين: غير فارغة مع شرط
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Name | City | Phone | Count | Result | |
| 2 | Ana | Paris | 555-0101 | Paris with phone | ||
| 3 | Ben | Lyon | 555-0102 | |||
| 4 | Cara | Paris | ||||
| 5 | Dan | Paris | 555-0104 | |||
| 6 | Eva | Lyon | ||||
| 7 | Finn | Nice | 555-0106 | |||
| 8 | Gus | Paris |
دورك: عدّ جهات الاتصال في Paris التي لها رقم هاتف في العمود C. اكتب الصيغة في F2.
أي صيغة تستخدم
| ما تريد عدّه | الصيغة |
|---|---|
| الخلايا الممتلئة في نطاق واحد | =COUNTA(B2:B8) |
| الخلايا الممتلئة مع شرط آخر | =COUNTIFS(A2:A8,"North",B2:B8,"<>") |
| الصفوف التي يكون فيها عمودان ممتلئين | =COUNTIFS(B2:B8,"<>",C2:C8,"<>") |
الخلايا ذات المحتوى الظاهر، مع تخطي المسافات وصيغ "" | =SUMPRODUCT(--(LEN(TRIM(B2:B8))>0)) |
| الخلايا النصية الممتلئة فقط | =COUNTIF(B2:B8,"?*") |
| الخلايا الفارغة | =COUNTBLANK(B2:B8) |
لاختبار خلية واحدة بدلًا من العد، تعيد =B2<>"" القيمة TRUE عندما تعرض B2 شيئًا، وتعيد =ISBLANK(B2) القيمة TRUE فقط عندما تكون B2 فارغة حقًا، دون صيغة فيها.
الأسئلة الشائعة
هل COUNTIF مع "<>" مثل COUNTA؟
لنطاق واحد، نعم: تعدّ =COUNTIF(B2:B8,"<>") و=COUNTA(B2:B8) الخلايا نفسها (النصوص والأرقام والتواريخ وTRUE/FALSE والأخطاء). وصيغة "<>" موجودة من أجل COUNTIFS، حيث يمكن أن تقف بجانب شرط آخر.
ماذا تعني "<>" في COUNTIF؟
<> تعني "لا يساوي"، وعندما لا يأتي بعدها شيء تكون المقارنة مع خلية فارغة. لذا تعني "<>" "غير فارغة"، وتعني "<>North" "لا تساوي North".
كيف أعدّ الخلايا غير الفارغة وغير الصفرية؟
استخدم =COUNTIFS(B2:B8,"<>",B2:B8,"<>0"). فالشرط "<>0" وحده يعدّ الخلايا الفارغة أيضًا، لأن الخلية الفارغة لا تساوي 0؛ وإضافة "<>" تستبعدها.
لماذا تعدّ COUNTA خلايا تبدو فارغة؟
لأنها ليست فارغة: فيها مسافة، أو صيغة تعيد نصًا فارغًا "". لعدّ الخلايا التي فيها محتوى ظاهر فقط، استخدم =SUMPRODUCT(--(LEN(TRIM(B2:B8))>0)).