كيف يمكن حساب الخلايا الفارغة أو غير الفارغة ضمن نطاق تم تطبيق التصفية عليه في Excel؟
عند التعامل مع مجموعات بيانات كبيرة في Excel، يُعد استخدام عوامل التصفية وسيلة شائعة لعرض البيانات ذات الصلة فقط. وبعد تطبيق التصفية، قد تحتاج إلى تحليل النتائج المرئية (المصفاة) بشكل أعمق عبر حساب عدد الخلايا الفارغة أو غير الفارغة ضمنها. وعلى الرغم من أن Excel يوفّر أدوات أساسية لحساب الخلايا المرئية، فإن تحديد عدد الخلايا الفارغة فقط أو غير الفارغة فقط في قائمة مصفاة قد يشكّل تحديًا دون اتباع الطريقة المناسبة. ويكتسب الحصول على هذه الأعداد بدقة أهمية بالغة في سيناريوهات مثل تنظيف البيانات، أو تلخيص ردود الاستبيانات، أو تتبع الإدخالات غير المكتملة في التقارير المصفاة. يقدّم هذا المقال حلولًا فعّالة ومتنوعة لتلبية هذه الحاجة، تشمل طرقًا تعتمد على الصيغ وأخرى تعتمد على VBA، بما يتناسب مع متطلبات العمل المختلفة. كما ستجد فيه اقتراحات لاستكشاف المشكلات الشائعة وإصلاحها، إضافةً إلى نصائح عملية لتكييف كل حل مع سيناريوهاتك الخاصة.
حساب الخلايا الفارغة في نطاق التصفية باستخدام صيغة
حساب الخلايا غير الفارغة في نطاق التصفية باستخدام صيغة
حساب الخلايا الفارغة أو غير الفارغة في نطاق التصفية باستخدام كود VBA
حساب الخلايا الفارغة في نطاق التصفية باستخدام صيغة
لحساب الخلايا الفارغة فقط ضمن نطاق التصفية، يمكنك استخدام مزيج من دالةSUBTOTAL وعمود مساعد. هذه الطريقة مثالية للقوائم التي تحتوي على بيانات مُصفاة، حيث تريد تجاهل الصفوف المخفية والحصول على عددٍ دقيقٍ للخلايا الفارغة المرئية في العمود المحدد.
أدخل هذه الصيغة في خلية تريد أن يظهر فيها عدد الخلايا الفارغة:
=SUBTOTAL(3,A2:A20)-SUBTOTAL(3,B2:B20)
بعد كتابة الصيغة، اضغط مفتاحEnter، وسيعرض الناتج عدد الخلايا الفارغة المرئية في قائمتك المصفاة. راجع لقطة الشاشة أدناه لمثال:

الشرح ونصائح الاستخدام:
- في هذه الصيغة، يجب أن يكون
A2:A20عمودًا مساعِدًا مضمونًاألاّيحتوي على أي خلايا فارغة (على سبيل المثال، عمود يحتوي على أرقام متسلسلة أو معرّفات فريدة لصفوفك). B2:B20هو العمود الذي تريد حساب عدد الخلايا الفارغة فيه.- تُرجع الدالةSUBTOTAL(3، النطاق)عدد الخلايا غير الفارغة والمرئية ضمن نطاق معيّن. هنا، يمنحك طرح عدد الخلايا غير الفارغة في
B2:B20من العدد الإجمالي في العمود المساعد عدد الخلايا الفارغة في البيانات المصفاة (المرئية). - تركّز هذه الطريقة فقط على الخلايا المرئية بعد تطبيق عوامل التصفية، ولا تشمل الخلايا الفارغة الموجودة في الصفوف المخفية.
- تأكد من تعديل النطاقات ()
A2:A20وB2:B20) لتتناسب مع بياناتك الفعلية. يجب أن يحتوي العمود المساعد (A) على إدخالات في كل صف—فإذا كانت هناك خلايا فارغة في عمودك المساعد، فقد تكون النتائج غير دقيقة.
المشكلات الشائعة واستكشاف الأخطاء وإصلاحها:
- إذا احتوى العمود المساعد على قيم مخفية أو فارغة، فسيكون عدد الخلايا الفارغة غير دقيق. تأكد من اكتمال بيانات عمودك المساعد.
- إذا قمت بإضافة صفوف أو حذفها، تذكّر تحديث نطاق الصيغة؛ وإلا فقد لا تُضمَّن البيانات الموجودة في الأعلى أو الأسفل.
- تأكد من تطبيق عامل التصفية فعليًّا؛ وإلا، سيشمل المجموع الجزئي جميع الصفوف.
حساب الخلايا غير الفارغة في نطاق التصفية باستخدام صيغة
لحساب عدد الخلايا المرئية وغير الفارغة في عمود مُصفّى، يوفّر Excel حلاً مباشرًا باستخدام دالةSUBTOTAL. وهذه الطريقة مثالية إذا كنت بحاجة ببساطة إلى عدد الإدخالات غير الفارغة التي تبقى بعد تطبيق عامل التصفية، مع تجاهل أي صفوف مخفية.
لاستخدام هذا الحل، اكتب الصيغة التالية في خلية فارغة تريد عرض العدد فيها:
=SUBTOTAL(102,B2:B20)
ثم اضغط مفتاحEnter، وسيُظهر Excel فورًا عدد الخلايا المرئية وغير الفارغة في النطاق المحدد. انظر لقطة المثال أدناه:

الشرح ونصائح الاستخدام:
- هنا، يمثّل
B2:B20العمود الذي تقوم بتحليله. عدّل هذا النطاق ليتناسب مع مجموعة بياناتك. - المعامل
102في دالةSUBTOTAL يضمن احتساب الخلايا المرئية فقط، ويتجاهل كلًّا من الصفوف المخفية (نتيجة التصفية) والخلايا الفارغة. - هذا الحل يناسب القوائم المصفاة القياسية داخل عمود واحد بشكل أفضل.
احتياطات:
- لن تحسب هذه الطريقة الخلايا التي تبدو «فارغة» لكنها تحتوي على صيغ تُرجع سلسلة فارغة («»)، إذ يعاملها Excel على أنها غير فارغة فعليًّا.
- إذا كنت تعمل مع نطاق مدمج أو غير منتظم، فتأكد من صحة ناتج الصيغة مرة أخرى.
- تذكّر تحديث النطاق في حال إضافة صفوف جديدة أو نقل البيانات.
حساب الخلايا الفارغة أو غير الفارغة في نطاق التصفية باستخدام كود VBA
لسيناريوهات أكثر تقدمًا—مثل تلك التي يتضمن فيها نطاق التصفية نطاقات غير متجاورة أو أعمدة متعددة، أو عندما تحتاج إلى نهج قابل للتخصيص—يمكن لوحدة ماكرو VBA أن تكرر بفعالية عبر الخلايا المرئية فقط، لتوفير عدٍّ دقيق للخلايا الفارغة أو غير الفارغة. وتُعد هذه الطريقة مثالية إذا احتجتَ إلى مرونة أكبر، كحساب الخلايا الفارغة أو غير الفارغة عبر عدة أعمدة أو ضمن تخطيطات بيانات معقدة يصعب على الصيغ التعامل معها بسهولة.
المزايا وسيناريوهات التطبيق:
- يمكنه العمل عبر أعمدة متعددة ونطاقات غير متجاورة في عملية واحدة
- يتكيف بسهولة مع عوامل التصفية—فهو يأخذ في الاعتبار فقط الخلايا المرئية
- يسمح لك باختيار ما إذا كنت تريد حساب الخلايا الفارغة أو غير الفارغة في عملية واحدة
- يناسب المستخدمين المتقدمين المتمكنين من تشغيل وحدات الماكرو، وعندما تكون الصيغ القياسية غير كافية
القيود:
- يتطلب الوصول إلى محرر VBA وتمكين أذونات وحدات الماكرو
- تعتبر منطقية الحساب أن الخلايا التي تحتوي نتائج صيغ على هيئة «» هي خلايا فارغة
1. في علامة التبويبDeveloper، انقرVisual Basic لفتح محررMicrosoft Visual Basic for Applications. ثم في نافذة VBA، انقرInsert > Module لإنشاء وحدة جديدة، والصق الكود أدناه في نافذة الوحدة:
Sub CountVisibleBlanksOrNonBlanks()
Dim rng As Range
Dim cell As Range
Dim countBlanks As Long
Dim countNonBlanks As Long
Dim resp As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set rng = Application.InputBox("Select the filtered range to analyze", xTitleId, rng.Address, Type:=8)
If rng Is Nothing Then Exit Sub
resp = MsgBox("Do you want to count BLANK cells? (Click No to count non-blank cells)", vbYesNo + vbQuestion, xTitleId)
countBlanks = 0
countNonBlanks = 0
For Each cell In rng.SpecialCells(xlCellTypeVisible)
If cell.Value = "" Then
countBlanks = countBlanks + 1
Else
countNonBlanks = countNonBlanks + 1
End If
Next cell
If resp = vbYes Then
MsgBox "Number of visible blank cells: " & countBlanks, vbInformation, xTitleId
Else
MsgBox "Number of visible non-blank cells: " & countNonBlanks, vbInformation, xTitleId
End If
End Sub 2. اضغط F5 لتشغيل الكود.
- سيظهر مربع حوار يطلب منك تحديد نطاقك المستهدف أو تأكيده.
- ستسألك وحدة الماكرو عما إذا كنت تريد حساب الخلايا الفارغة (انقر «نعم»)، أو انقر «لا» لحساب الخلايا غير الفارغة.
- سيظهر الناتج في مربع رسالة يوضح عدد الخلايا المرئية الفارغة أو غير الفارغة.
نصائح التشغيل ومعالجة الأخطاء:
- إذا كان نطاقك يحتوي على خلايا مدمجة، فستظل وحدة الماكرو تحسب النتائج بدقة، ولكن احرص على الانتباه لأي تداخلات أو عدم محاذاة في بياناتك المصفاة.
- إذا حاولت تشغيل وحدة الماكرو دون تحديد نطاق، فسيُطلب منك تحديد نطاق صالح.
- مع مجموعات البيانات الكبيرة، قد تستغرق وحدة الماكرو بضع ثوانٍ لإكمال العملية—يرجى الانتظار حتى يظهر مربع رسالة الناتج.
- إذا ظهر خطأ أو مربع حوار يشير إلى «لم يتم العثور على خلايا»، فتأكد من أن تحديدك يشمل صفًّا مرئيًّا واحدًا على الأقل، وأن عامل التصفية مفعّل.
اقتراحات موجزة:لل استخدام اليومي، تُعد طرق الصيغ في Excel بسيطة وسريعة ولا تتطلب إعدادًا إضافيًّا. أما إذا واجهت حالات تتضمن أعمدة متعددة أو بيانات غير متجاورة أو احتجت إلى مزيد من المرونة، فإن حل VBA يكون قابلاً للتكيف للغاية. احفظ عملك دائمًا قبل تشغيل وحدات الماكرو، وتأكد من أن إعدادات أمان وحدات الماكرو تسمح لك بتشغيل الكود.
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في Excel باستخدام Kutools لـ Excel، وعايش الكفاءة كما لم تفعل من قبل.يقدّم Kutools لـ Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية ووقت الحفظ.انقر هنا للحصول على الميزة التي تحتاجها أكثر من غيرها...
يجلب Office Tab واجهة ذات علامات تبويب إلى Office، ويجعل عملك أسهل بكثير
- تمكّن من التحرير والقراءة باستخدام علامات التبويب في Word وExcel وPowerPoint، وPublisher وAccess وVisio وProject.
- افتح وأنشئ مستندات متعددة في علامات تبويب جديدة داخل النافذة نفسها، بدلاً من فتح نوافذ جديدة.
- يزيد إنتاجيتك بنسبة 50% ويوفّر لك مئات نقرات الفأرة كل يوم!
جميع الإضافات من Kutools في برنامج تثبيت واحد!
Kutools for Office حزمةٌ تحتوي على إضافاتٍ مخصصة لتطبيقات Excel وWord وOutlook وPowerPoint، إلى جانب Office Tab Pro، مما يجعلها الخيار المثالي للفِرق التي تعمل عبر تطبيقات Office.
- حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
- برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
- يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
- تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل