تُعد معالجة البيانات وتحليلها في عصر الانفجار المعلوماتي المعاصر إحدى الركائز الأساسية التي تقوم عليها القرارات المؤسسية والاستراتيجية في مختلف القطاعات الاقتصادية والأكاديمية. ومع تزايد حجم البيانات وتفرع هياكلها داخل بيئات العمل، تبرز الحاجة الملحة إلى أدوات مرنة تتجاوز مجرد المعاينة البسيطة إلى الاستعلام المعقد واستخلاص الأنماط المحددة بدقة متناهية. ويقف برنامج Microsoft Excel في طليعة المنصات الحسابية والتحليلية التي توفر بنية تحتية قوية لإدارة الجداول ومجموعات البيانات الضخمة، حيث يتيح للمحللين التقنيين والماليين إمكانات استثنائية لتطويع مجموعات البيانات وفق محددات شرطية شديدة الحساسية والتعقيد.
ومن بين الأدوات المتجذرة في بيئة إكسيل، تحتل أداة التصفية المتقدمة (Advanced Filter) مكانة محورية وفريدة؛ إذ لا تقتصر وظيفتها على عزل السجلات بصرياً فحسب، بل تمتد لتشكل محرك استعلام علائقي مصغر يعمل ضمن ورقة العمل. تتيح هذه الأداة للمستخدم بناء شروط معقدة وفصل معايير البحث في نطاقات مستقلة، مما يمنح عمليات التحليل قابلية التكرار، والشفافية، والقدرة على التكامل مع النماذج الرياضية المؤتمتة دون التضحية بسلامة البيانات الأصلية أو تعديل بنيتها التأسيسية. وتكتسب هذه الأداة أهمية بالغة عند التعامل مع السلاسل النصية غير المتجانسة التي تتطلب استخراجاً دقيقاً للمعلومات بناءً على مطابقة جزئية وليست كلية.
يمثل شرط التضمين النصي “يحتوي على” (Contains) جوهر الاستعلامات النصية في قواعد البيانات؛ حيث يتيح تجاوز قيود المطابقة التامة والبحث عن مقاطع فرعية داخل حقول البيانات الممتلئة بالتفاصيل، مثل أسماء المنتجات المركبة، والبيانات الوصفية للعملاء، والرموز التعريفية المشفرة. ويهدف هذا الدليل المرجعي الشامل إلى تفكيك الآليات الدقيقة لعمل التصفية المتقدمة في إكسيل عند تطبيق شرط “يحتوي على”، بدءاً من الأسس الخوارزمية ومحارف البدل، مروراً بهندسة نطاقات المعايير المعقدة وتكامل المنطق البولياني (AND/OR)، وصولاً إلى المعايير المعتمدة على الدوال الحسابية والأتمتة البرمجية المتقدمة باستخدام لغة VBA.
- 1. مقدمة تأسيسية حول أداة التصفية المتقدمة (Advanced Filter) في برنامج Excel
- 2. المفهوم النظري والتقني لخاصية “يحتوي على” (Contains) في استعلامات البيانات
- 3. البنية التحتية لإعداد نطاق المعايير (Criteria Range) وقواعد الجداول
- 4. الدليل التطبيقي المعمق: تصفية البيانات وفق نص محدد مفرد باستخدام (*Text*)
- 5. إدارة المعايير المتعددة: تطبيق منطق التخيير (OR Logic) مع شرط “يحتوي على”
- 6. إدارة المعايير المتعددة: تطبيق منطق الاقتران (AND Logic) مع شرط “يحتوي على”
- 7. حساسية حالة الأحرف (Case Sensitivity) والقيود الدلالية أثناء التصفية النصية
- 8. المعايير المتقدمة المعتمدة على الصيغ الحسابية والدوال النصية (Formula-Based Criteria)
- 9. استراتيجيات استخراج وتصدير البيانات المفلترة وإدارتها في بيئات العمل
- 10. مقارنة تقنية موسعة: التصفية المتقدمة، دالة FILTER الحديثة، وجداول Pivot Tables
- 11. تشخيص وتصحيح الأخطاء الشائعة أثناء تطبيق شرط “يحتوي على”
- 12. أتمتة عمليات التصفية المتقدمة باستخدام لغة البرمجة VBA ووحدات الماكرو
- خاتمة
- المراجع (References)
1. مقدمة تأسيسية حول أداة التصفية المتقدمة (Advanced Filter) في برنامج Excel
1.1 التطور الوظيفي لأدوات معالجة البيانات وجداول البيانات الكبيرة
شهدت أدوات تصفية البيانات في جداول البيانات الإلكترونية تحولاً جذرياً على مدار العقود الأربعة الماضية، بالتوازي مع التطور المتسارع في علوم الحاسوب ونظم إدارة قواعد البيانات. في البدايات الأولى لبرمجيات الجداول مثل VisiCalc وLotus 1-2-3 وصولاً إلى الإصدارات التأسيسية لبرنامج إكسيل، كانت التصفية عملية يدوية شاقة تعتمد على فرز الصفوف أو حذف السجلات غير المرغوبة بصورة فيزيائية. ومع تزايد أحجام البيانات في البيئات المؤسسية وتطلب الأعمال التجارية استرجاعاً سريعاً للأنماط، طوّرت شركة مايكروسوفت ميزة التصفية التلقائية (AutoFilter)، والتي وفرت واجهة تفاعلية بسيطة تعتمد على القوائم المنسدلة لعزل القيم المكررة أو المتطابقة.
ومع ذلك، فرضت البيئات التحليلية والمحاسبية الحديثة تحديات غير مسبوقة ناتجة عن التعامل مع مجموعات بيانات تتجاوز مئات الآلاف من السجلات، وتتضمن تركيبات معقدة من الشروط المتقاطعة والمتداخلة. لم تعد القوائم المنسدلة التقليدية كافية لمواكبة متطلبات التحليل الإحصائي الدقيق واستخراج الأنماط النصية المشفرة داخل سلاسل البيانات غير المهيكلة، حيث تفتقر التصفية التلقائية إلى القدرة على تنفيذ الاستعلامات البوليانية متعددة الطبقات دون تدخل يدوي مستمر. من هنا، برزت التصفية المتقدمة (Advanced Filter) كقفزة نوعية وفّرت إطاراً استعلامياً شبيهاً بلغات الاستعلام الهيكلية (مثل SQL)، مما مكن المحللين من كتابة شروط خارجية معقدة وتطبيقها على قواعد البيانات دون المساس بسلامة الجداول المصدرية.
1.2 الفرق الجوهري بين التصفية التلقائية (AutoFilter) والتصفية المتقدمة (Advanced Filter)
يكمن الاختلاف الجوهري بين التصفية التلقائية والتصفية المتقدمة في البنية الهيكلية لآلية الاستعلام وكيفية معالجة المعايير المنطقية. تعتمد التصفية التلقائية على تطبيق قيود مباشرة داخل رؤوس أعمدة جدول البيانات عبر واجهات بصرية محددة مسبقاً، مما يقيد المحلل بعدد محدود من الشروط لكل عمود ويجبره على إجراء عمليات تصفية متسلسلة قد تخفي السجلات المرتبطة بعلاقات منطقية منفصلة. في المقابل، تتميز التصفية المتقدمة بمرونة معمارية تفصل بين مستودع البيانات المصدر (List Range) ونطاق المعايير المنطقية (Criteria Range)، مما يتيح للمستخدم هندسة استعلامات معقدة تتضمن شروطاً تقاطعية وتخييرية عبر مصفوفات خلايا مستقلة وقابلة للتعديل والبرمجة الحسابية.
علاوة على ذلك، توفر التصفية المتقدمة ميزة تشغيلية استثنائية تتمثل في القدرة على نسخ مخرجات التصفية وتصديرها بصورة آلية وفورية إلى نطاق جغرافي جديد، سواء كان ذلك في موضع آخر ضمن ورقة العمل الحالية أو داخل أوراق عمل ومصنفات مختلفة كلياً، وهو أمر يتعذر تحقيقه عبر التصفية التلقائية التي تكتفي بإخفاء الصفوف في موضعها الأصلي (In-Place Filtering). يتيح هذا الفصل المعماري حماية البيانات المصدرية من التلف أو التعديل البشري غير المقصود، ويمنح مهندسي النماذج المالية والتحليلية القدرة على بناء لوحات تحكم ديناميكية تستقي نتائجها من جداول البيانات الخام عبر معايير معزولة ومؤتمتة بالكامل.

1.3 مفهوم المعايير النصية ودورها في تعزيز كفاءة استرجاع المعلومات
تعتمد كفاءة استرجاع المعلومات داخل جداول البيانات الكبيرة على الأسس الخوارزمية التي يستخدمها محرك إكسيل في مطابقة وفهرسة السلاسل النصية. في الأنظمة المؤسسية المعقدة، نادراً ما تتطابق السجلات النصية تطابقاً تاماً؛ إذ غالباً ما تحتوي حقول النصوص مثل أسماء المعاملات، والأوصاف المحاسبية، وتسميات الموردين، وعناوين الفواتير على مقاطع متباينة وتفاصيل مدمجة تشمل أرقاماً، ورموزاً جغرافية، وفئات تصنيفية متعددة ضمن الخلية الواحدة. في هذا السياق، يصبح الاعتماد على معايير التطابق التام غير مجدٍ عملياً ويؤدي إلى حجب معلومات حيوية نتيجة وجود اختلافات طفيفة في أطراف السلسلة النصية.
تحقق معايير التضمين النصي (Sub-string Inclusion Criteria) وفورات هائلة في زمن المعالجة الذهنية واليدوية لمحلل البيانات، حيث تنقل عبء البحث من المطابقة الحرفية السطحية إلى الاستعلام الذكي القائم على تحديد الأنماط المشتركة. عبر توظيف محركات التصفية النصية المرنة، يتمكن النظام من مسح كتل البيانات الضخمة واستخلاص كافة السجلات التي تشترك في مقطع فرعي محدد بصرف النظر عن موقعه داخل النص أو البيانات المحيطة به، مما يرفع دقة الاستدعاء الإحصائي ويقلل احتمالات الخطأ البشري إلى أدنى مستوياتها الممكنة أثناء إعداد التقارير المعقدة.
2. المفهوم النظري والتقني لخاصية “يحتوي على” (Contains) في استعلامات البيانات
2.1 التعريف الرياضي والمنطقي لعمليات البحث داخل السلاسل النصية الجزئية
من المنظور الرياضي ونظرية الحوسبة، يُعرَّف النص داخل جداول البيانات بأنه سلسلة منتهية من المحارف المرتبة، يرمز لها رياضياً بالمتتالية ( S = (c_1, c_2, dots, c_n) )، حيث يمثل كل عنصر ( c_i ) محرفاً ينتمي إلى أبجدية النظام المشفرة بترميز موحد مثل Unicode. عند تطبيق شرط “يحتوي على”، فإن الخوارزمية تسعى لإثبات وجود سلسلة فرعية جزئية ( P = (p_1, p_2, dots, p_m) ) بطول ( m le n )، بحيث يتطابق المقطع ( (c_{k}, c_{k+1}, dots, c_{k+m-1}) ) مع السلسلة ( P ) عند موضع انزياح محدد ( k ). وتخضع هذه العملية لمنطق تقييم بولياني (Boolean Evaluation) يُرجع القيمة الحقيقية (TRUE) إذا وجد هذا التطابق الجزئي، أو القيمة الزائفة (FALSE) في حال غيابه تماماً.
يمثل التباين بين المطابقة التامة (Exact Match) والمطابقة الجزئية (Partial Match) الفارق بين التحقق من تساوي المجموعتين النصيتين ( S = P ) بطول متطابق ومحارف متماثلة، وبين التحقق من علاقة الاحتواء المجموعاتي ( P subseteq S ). يتيح هذا الأساس المنطقي للتصفية تجاوز التباينات الهيكلية المحيطة بالسلسلة الفرعية المستهدفة؛ حيث يتم تقييم الخلية كقيمة إيجابية مؤهلة للعرض بصرف النظر عما إذا كان المقطع المستهدف يقع في مستهل النص، أو في منتصفه محاطاً ببيانات أخرى، أو في نهايته، مما يمنح عملية الاستعلام بُعداً احتمالياً ومرونة فائقة في تحليل السجلات غير النمطية.
2.2 دور محارف البدل (Wildcard Characters) في لغات الاستعلام وجداول البيانات
تُعد محارف البدل (Wildcards) أدوات نحوية ورمزية قياسية موروثة من لغات البرمجة ونظريات التعبيرات النمطية (Regular Expressions)، وتُستخدم داخل بيئة إكسيل لتمثيل أنماط المحارف المجهولة أو المتغيرة أثناء عمليات التصفية والبحث. يأتي في مقدمة هذه المحارف الرمز النجمي (*)، والذي يمتلك قدرة دلالية على تمثيل أي عدد عشوائي من المحارف المتتابعة، بدءاً من الصفر (أي غياب المحارف تماماً) وحتى سلاسل نصية لا نهائية الطول. يشكل الرمز النجمي العمود الفقري لتنفيذ استعلامات التضمين النصي، حيث يعمل كأداة امتصاص لكافة النصوص التي تسبق أو تلي المقطع المستهدف.
إلى جانب الرمز النجمي، توفر بيئة إكسيل محرف علامة الاستفهام (؟)، والذي يمثل بدلاً لمحرف فردي واحد فقط يشغل موضعاً محدداً وثابتاً داخل السلسلة النصية، مما يجعله مثالياً لحالات الاستعلام المقيدة بطول نصي دقيق. ولمعالجة السيناريوهات الخاصة التي تكون فيها هذه الرموز بذاتها جزءاً أصيلاً من النص المستهدف، وفّر النظام محرف التلدة (~) كأداة تحييد برمجية (Escape Character)؛ حيث يؤدي وضع علامة (~) قبل الرمز النجمي (~*) أو قبل علامة الاستفهام (~؟) إلى إبطال وظيفتها البرمجية وإجبار محرك التصفية على معاملتها كمحارف نصية صريحة مجردة.

2.3 الصيغة المعيارية لتفعيل شرط التضمين النصي في Excel
لتحقيق التفعيل المعياري لشرط “يحتوي على” باستخدام أداة التصفية المتقدمة، يجب بناء النمط النصي داخل خلية المعيار بصيغة تدمج المقطع المستهدف مع محارف البدل النجمية على النحو التالي: *المقطع_المستهدف*. يؤدي هذا التنسيق المزدوج إلى توجيه خوارزمية البحث للتحقق من وجود السلسلة النصية في أي موضع؛ إذ يعبر النجم الأول عن إمكانية وجود أي نص سابق للمقطع، بينما يعبر النجم الثاني عن إمكانية وجود أي نص لاحق له، مما يضمن شمولية التقاط الخلية حتى لو كانت السلسلة تقع بمفردها تماماً داخل الحقل.
تتضح الأهمية الدلالية لموضع الرمز النجمي عند دراسة السلوكيات الجزئية للبحث؛ فاستخدام الصيغة نص* يفعل شرط “يبدأ بـ” (Begins With) حيث يقيد التطابق بالحروف الأولى للخلية، في حين يفعل النمط *نص شرط “ينتهي بـ” (Ends With) عبر قصر المطابقة على الخاتمة النصية. وإذا تم إدخال النص مجرداً دون أي محارف بدل مثل نص، فإن السلوك الافتراضي لبرنامج إكسيل في التصفية المتقدمة ينحو نحو تطبيق شرط “يبدأ بـ” بصورة ضمنية، أو محاولة المطابقة الدلالية الأولية، وهو ما يوقع الكثير من المحللين في خطأ استبعاد السجلات التي يتوسطها المقطع المطلوب نتيجة إغفال النجمة البادئة.
3. البنية التحتية لإعداد نطاق المعايير (Criteria Range) وقواعد الجداول
3.1 القواعد الهيكلية لتصميم جدول البيانات المصدر (List Range)
يشترط لنجاح عمليات الاستعلام عبر التصفية المتقدمة تأسيس قاعدة بيانات مصدرية تتمتع بانضباط هيكلي صارم يتوافق مع أفضل الممارسات في نمذجة البيانات. يجب أن يحتوي الجدول على صف ترويسات علوي (Headers) يشتمل على أسماء أعمدة فريدة، واضحة، وغير مكررة، مع الامتناع التام عن استخدام الخلايا المدمجة (Merged Cells) في رؤوس الأعمدة أو داخل نطاق السجلات. تتسبب الخلايا المدمجة في تشويه المصفوفة المرجعية التي يعتمد عليها محرك إكسيل لقراءة عناوين الحقول، مما يؤدي إلى فشل فوري في ربط المعايير بالأعمدة المقابلة لها.
علاوة على ذلك، يجب أن تتسم قاعدة البيانات بالاتصال الفيزيائي الكامل، وتجنب إدراج صفوف أو أعمدة فارغة تماماً داخل جسم الجدول، حيث تفسر خوارزميات التحديد في إكسيل الفراغات الكاملة كنهايات حتمية للنطاق المصدري، مما يؤدي إلى بتر عملية التصفية واستثناء قطاعات واسعة من البيانات الواقعة بعد الفراغ. كما ينبغي توحيد التنسيقات العامة للبيانات داخل العمود الواحد، وضمان تخزين القيم النصية بصيغ متجانسة لتفادي التداخل بين القيم النصية الحقيقية والقيم المحسوبة التي قد تسلك مسارات معالجة غير متوقعة أثناء الفلترة.
3.2 الاشتراطات الصارمة لبناء نطاق المعايير المستقل (Criteria Range)
يتطلب نطاق المعايير المستقل (Criteria Range) معايير تصميمية بالغة الدقة؛ حيث يفترض أن يتكون على الأقل من صفين عموديين: يخصص الصف الأول لترويسة المعيار، بينما يخصص الصف الثاني (وما يليه) لكتابة الشروط المنطقية ومحارف البدل. وتتمثل القاعدة الأكثر صرامة في وجوب التطابق الحرفي التام بين نص ترويسة المعيار ونص ترويسة العمود المستهدف في الجدول المصدر. إن أي اختلاف طفيف، سواء كان مسافة زائدة أو خطأ إملائياً، سيجعل إكسيل عاجزاً عن الربط بين المعيار والحقل المخصص له، مما يترتب عليه تعطل التصفية أو إظهار نتائج غير صحيحة.
يُفضل وضع نطاق المعايير في موضع مكاني مدروس بعناية داخل ورقة العمل، مثل حجز صفوف علوية تعلو جدول البيانات المصدر (مع ترك صفين فارغين على الأقل للفصل)، أو تخصيص ورقة عمل مستقلة لإدارة المعايير. يمنع هذا التوزيع المكاني اختفاء نطاق المعايير أو تداخله عند تفعيل التصفية المباشرة في نفس الموضع، والتي تقوم بإخفاء الصفوف غير المطابقة برمجياً. كما يجب الحذر الشديد من ترك صفوف فارغة غير مقصودة ضمن نطاق المعايير المحدد في نافذة الأداة؛ إذ يفسر إكسيل الخلية الفارغة تحت الترويسة على أنها شرط قبول شامل (Accept All)، مما يؤدي إلى إلغاء فاعلية التصفية وعرض كافة سجلات الجدول دون استثناء.

3.3 إدارة المسافات البيضاء والرموز الخفية في بناء المعايير
تُعد المسافات البيضاء غير المرئية، وتحديداً المسافات البادئة واللاحقة (Leading and Trailing Spaces)، من أخطر العوامل المسببة لتشوه نتائج استعلامات التضمين النصي في إكسيل. تنشأ هذه المسافات غالباً عند استيراد البيانات من أنظمة تخطيط الموارد المؤسسية (ERP) أو عبر النسخ واللصق من مستندات نصية خارجية. عند وجود مسافة لاحقة داخل خلية المعيار أو داخل خلايا البيانات المصدرية، فإن محرك البحث يدمج تلك المسافة كجزء أصيل من السلسلة النصية المطلوب مطابقتها، مما يؤدي إلى فشل مطابقة الكلمات التي تبدو ظاهرياً متماثلة للعين المجردة.
لتفادي هذه الإشكالية، ينبغي تطبيق بروتوكولات تنظيف شاملة للبيانات قبل الشروع في بناء نطاق المعايير المتقدمة. يمكن استخدام الدوال التحويلية مثل دالة TRIM للتخلص من المسافات الزائدة في البدايات والنهايات مع تقليص المسافات البينية إلى مسافة مفردة، ودمجها مع دالة CLEAN لحذف المحارف غير القابلة للطباعة ورموز فواصل الأسطر (Line Breaks) المشفرة بترميزات خاصة مثل ASCII 10 وASCII 13، مما يضمن نقاء السلاسل النصية وجاهزيتها التامة للمطابقة الدقيقة عبر محارف البدل.
4. الدليل التطبيقي المعمق: تصفية البيانات وفق نص محدد مفرد باستخدام (*Text*)
4.1 الخطوات الإجرائية لإعداد نطاق المعيار الفردي في بيئة العمل
لتطبيق التصفية المتقدمة وفق معيار احتواء نصي مفرد، نبدأ بتحديد عمود الهدف داخل قاعدة البيانات، وليكن عمود “الوصف الوظيفي” أو “اسم الصنف” (Product Name). نقوم بنسخ ترويسة هذا العمود ولصقها بدقة متناهية في خلية منفصلة خارج نطاق الجدول، ولتكن الخلية G1. يضمن إجراء النسخ واللصق المباشر تجنب الأخطاء الطباعية الدقيقة وضمان التطابق البايتي الكامل بين ترويسة الجدول وترويسة المعيار.
في الخلية الواقعة مباشرة أسفل الترويسة المنسوخة (أي الخلية G2)، نقوم بإدخال النمط النصي باستخدام محارف البدل التضمينية. إذا كان الهدف هو استخراج كافة السجلات التي تتضمن مقطع “صيانة”، يتم كتابة القيمة *صيانة* داخل الخلية. عند ضغط زر الإدخال، سيحتفظ إكسيل بالرموز النجمية كدلالة على المعيار النصي الشامل. يجب التأكد من عدم تنسيق الخلية بنمط يضيف علامات تنصيص إضافية تلقائياً، والتحقق بصرياً من خلو الخلية من أي محارف خفية قد تعيق التعرف على محرف البدل من قبل محرك الاستعلام.
4.2 التفاعل مع نافذة التصفية المتقدمة وضبط المعلمات الرقمية والنطاقات
بعد إعداد نطاق المعايير، يتم الانتقال إلى شريط الأدوات الرئيسي واختيار تبويب “بيانات” (Data)، ثم الضغط على أيقونة “تصفية متقدمة” (Advanced) الموجودة ضمن مجموعة أدوات “فرز وتصفية” (Sort & Filter). تفتح هذه العملية نافذة حوار التصفية المتقدمة التي تتضمن خيارين رئيسيين للتشغيل: إما “تصفية القائمة في نفس المكان” (Filter the list, in-place) أو “النسخ إلى موقع آخر” (Copy to another location)، ويتم تحديد الخيار الأنسب لمتطلبات المهمة التحليلية.
في حقل “نطاق القائمة” (List range)، يتم تحديد كامل الجدول المصدري بدءاً من صف الترويسات وحتى آخر سجل للبيانات (مثال: $A$1:$E$5000). بعد ذلك، يتم الانتقال إلى حقل “نطاق المعايير” (Criteria range) وتحديد النطاق الذي تم إعداده مسبقاً بدقة بالغة (مثال: $G$1:$G$2). يجب الامتناع تماماً عن توسيع التحديد ليشمل خلايا فارغة إضافية أسفل المعيار مثل $G$1:$G$3؛ حيث يؤدي ذلك إلى شمول صف فارغ ضمن المعايير مما يعطل وظيفة التصفية. وأخيراً، يتم الضغط على “موافق” (OK) لتنفيذ الاستعلام الفوري.

4.3 تحليل مخرجات التصفية والتأكد من سلامة التطابق الداخلي
عند اكتمال عملية التصفية في نفس الموضع، يُلاحظ تعديل مظهر جدول البيانات المصدري بصرياً؛ حيث تتحول أرقام الصفوف المطابقة إلى اللون الأزرق، في حين يتم إخفاء كافة الصفوف غير المتوافقة برمجياً مع الاحتفاظ ببياناتها في الذاكرة الأساسية للمصنف دون حذف. بمراجعة دقيقة للصفوف الظاهرة، سنجد أن الأداة استخرجت كافة الحقول التي تحتوي على مقطع “صيانة” بصرف النظر عن موقعه السياقي، مثل “خدمات صيانة الأجهزة”، أو “عقد الصيانة السنوي”، أو “قسم الدعم والصيانة”.
يؤكد هذا السلوك شمولية محارف البدل المزدوجة *Text* وقدرتها على استيعاب كافة التموضعات المكانية للنص؛ حيث تلتقط الحالات التي تقع فيها الكلمة في مستهل السلسلة (حيث يمتص النجم الأول طولاً صفرياً من المحارف)، والحالات المتوسطة (حيث يمتص كلا النجمين نصوصاً سابقة ولاحقة)، والحالات الختامية (حيث يمتص النجم الأخير طولاً صفرياً). يتيح هذا الفحص التأكيدي للمحلل الثقة الكاملة في سلامة البيانات المفلترة وجاهزيتها للتجميع الإحصائي أو الترحيل اللاحق.
5. إدارة المعايير المتعددة: تطبيق منطق التخيير (OR Logic) مع شرط “يحتوي على”
5.1 الأساس النظري لمنطق (OR) في نطاقات المعايير لـ Excel
يقوم المنطق التخييري (OR Logic) في البنية المعمارية لأداة التصفية المتقدمة على مبدأ الاتحاد الرياضي (Union) بين مجموعات البيانات الجزئية. ينص المبدأ الأساسي في إكسيل على أن ترتيب المعايير في صفوف رأسية متتالية ومستقلة تحت نفس ترويسة الحقل يعكس علاقة منطقية تفيد التخيير (OR). من المنظور الجبري، إذا كان لدينا معياران ( C_1 ) و ( C_2 )، فإن محرك التصفية يقوم بتقييم كل سجل في الجدول؛ فإذا حقق السجل الشرط الأول أو الشرط الثاني أو كليهما معاً، يتم اعتباره مؤهلاً للعرض.
تمنح هذه المعمارية الرأسية مرونة هائلة لمهندسي البيانات؛ إذ تتيح تجميع فئات غير متجانسة دلالياً وتوحيدها ضمن تقرير تحليلي واحد دون الحاجة لكتابة دوال مركبة طويلة. كل صف إضافي يتم إدراجه في نطاق المعايير يمثل استعلاماً مستقلاً بذاته يتم تنفيذه بالتوازي، ثم تُدمج مخرجات هذه الاستعلامات في مصفوفة النتائج النهائية، مما يتيح تصفية البيانات وفق حزمة واسعة من الكلمات المفتاحية التضمينية بحركة تشغيلية واحدة.
5.2 دراسة حالة تطبيقية: التصفية وفق عدة نصوص فرعية مختلفة
لنفترض وجود قاعدة بيانات ضخمة للمبيعات اللوجستية تحتوي على عمود بعنوان “المنطقة الجغرافية” (Region)، وتتضمن الحقول نصوصاً وصفية مركبة مثل “شمال القاهرة الكبرى”، “جنوب الدلتا”، “غرب الإسكندرية”، و”قطاع الصعيد الأوسط”. إذا كانت متطلبات التحليل تقتضي استخراج كافة السجلات التي تخص مناطق “القاهرة” أو مناطق “الدلتا” معاً، يتم بناء نطاق المعايير بشكل رأسي يبدأ بوضع ترويسة “المنطقة الجغرافية” في الخلية H1.
يتم بعد ذلك إدخال المعيار الأول في الخلية H2 بالصيغة *القاهرة*، وإدخال المعيار الثاني في الخلية الواقعة أسفلها مباشرة H3 بالصيغة *الدلتا*. عند ضبط نافذة التصفية المتقدمة وتحديد نطاق المعايير ليمتد على النطاق $H$1:$H$3، سيعمل المحرك على فحص قاعدة البيانات واسترجاع كافة المعاملات التي تنتمي لأي من النطاقين الجغرافيين، مستبعداً المناطق الأخرى كالإسكندرية والصعيد، مما يولد مجموعة بيانات مفلترة ومجمعة تعكس بدقة اتحاد الشرطين المطلوبين.

5.3 المحاذير الشائعة عند تطبيق منطق (OR) التوسعي
يتطلب تطبيق منطق التخيير الرأسي يقظة تامة لتفادي أخطاء التصميم الشائعة التي قد تؤدي إلى نتائج كارثية في دقة التقارير. الخطر الأكثر شيوعاً هو إدراج صف فارغ عن غير قصد داخل نطاق المعايير المحدد للأداة؛ فإذا تم تحديد النطاق $H$1:$H$4 بينما تحتوي الخلية H4 على فراغ مطلق، فإن خوارزمية إكسيل تعتبر الصف الرابع شرطاً يقبل كافة السجلات (True for all rows)، مما يترتب عليه إلغاء التصفية كلياً وإظهار كامل قاعدة البيانات دون أي تقييد.
علاوة على ذلك، يجب الانتباه إلى ظاهرة التضخم الدلالي للبيانات عند استخدام كلمات مفتاحية عامة وقصيرة؛ حيث قد يؤدي اختيار مقاطع نصية مشتركة بين كلمات غير متجانسة إلى جلب سجلات غير مرغوبة وتشويش النتائج التحليلية. لتجنب ذلك، ينبغي على المحلل تنظيم نطاقات المعايير الطويلة بأسلوب منهجي، واختيار كلمات مفتاحية ذات تميز دلالي عالي، والتحقق المستمر من دقة حدود النطاق الجغرافي المحدد في إعدادات الأداة البرمجية.
6. إدارة المعايير المتعددة: تطبيق منطق الاقتران (AND Logic) مع شرط “يحتوي على”
6.1 الأساس النظري لمنطق (AND) في التصفية النصية المتزامنة
يعتمد منطق الاقتران المتزامن (AND Logic) في أداة التصفية المتقدمة على المفهوم الرياضي لتقاطع المجموعات (Intersection)، والذي يشترط تحقق كافة القيود المحددة في آنٍ واحد لاعتبار السجل مؤهلاً للظهور. تنص القاعدة الهيكلية لإكسيل على أن ترتيب المعايير المنطقية في أعمدة أفقية متجاورة تقع على نفس الصف يعكس حتماً علاقة اقتران صارمة (AND). لا يُقبل السجل إلا إذا أرجعت كافة شروط ذلك الصف القيمة المنطقية الحقيقية (TRUE) بصورة متزامنة ومتبادلة.
يُستخدم منطق الاقتران لتضييق نطاق البحث وتصفية البيانات المعقدة بدرجة عالية من التخصيص، وهو ما يلبي متطلبات التحليل الرقابي والتدقيق المحاسبي. يتيح هذا المنطق الربط بين قيود نصية متعددة تؤثر على حقول مختلفة أو تؤثر بصورة تراكمية على حقل مفرد، مما يضمن استبعاد كافة السجلات التي تكتفي بتحقيق جزء من المتطلبات وتفشل في تحقيق البقية، موفراً دقة تناهز دقة الاستعلامات العلائقية المتقدمة.
6.2 التطبيق العملي لاقتران النصوص ضمن نفس العمود وفي أعمدة مختلفة
يتخذ تطبيق منطق (AND) مسارين رئيسيين في الممارسة العملية؛ المسار الأول هو تطبيق شرطي احتواء مختلفين على نفس العمود، مثل الرغبة في استخراج السجلات من عمود “الملاحظات” التي تحتوي على كلمتي “عاجل” و”مراجعة” معاً داخل نفس النص. لتحقيق ذلك، يتم تكرار نفس ترويسة العمود أفقياً في خليتين متجاورتين مثل I1 وJ1 باسم “الملاحظات”، ثم كتابة *عاجل* في الخلية I2، وكتابة *مراجعة* في الخلية J2. يقوم إكسيل بتفسير هذا التجاور كشرط اقتران مزدوج لنفس الحقل.
أما المسار الثاني، فيتمثل في تقييد حقول متباينة؛ كأن يشترط المحلل أن يحتوي عمود “اسم العميل” على مقطع “الدولية” (يوضع في I1:I2 بنمط *الدولية*)، ويتزامن ذلك مع احتواء عمود “نوع المنتج” على مقطع “برمجيات” (يوضع في J1:J2 بنمط *برمجيات*). عند تطبيق التصفية المتقدمة، سيقوم النظام بمسح السجلات وعزل تلك التي تتطابق فيها الشركتان المستهدفتان حصرياً، مستبعداً الشركات الدولية التي تشتري منتجات أخرى، أو شركات البرمجيات غير الدولية، محققاً بذلك دقة تصنيفية متناهية.

6.3 الدمج المتقدم بين منطقي (AND) و(OR) في مصفوفات معايير معقدة
تصل قوة التصفية المتقدمة إلى ذروتها التحليلية عند بناء مصفوفات المعايير الهجينة التي تدمج بين المنطقين الأفقي (AND) والرأسي (OR) في شبكة استعلام موحدة. تُبنى هذه المصفوفة عبر توزيع الترويسات المستهدفة على أعمدة متعددة، وتحديد الصفوف لتجسيد التباديل والتوافيق المنطقية المختلفة التي يرغب المحلل في استخراجها، حيث يمثل كل صف أفقي متكامل مجموعة شروط مقترنة (AND)، بينما تمثل العلاقة بين الصفوف المختلفة علاقة تخيير (OR).
لتوضيح ذلك، يمكن بناء مصفوفة معايير تهدف إلى استخراج: (العملاء الذين يحتوي اسمهم على “الراجحي” ويشترون منتجات تحتوي على “استثمار”) أو (العملاء الذين يحتوي اسمهم على “الأهلي” ويشترون منتجات تحتوي على “تمويل”). يتطلب هذا الاستعلام إنشاء عمودين هما “العميل” و”المنتج”؛ يحتوي الصف الأول على *الراجحي* و*استثمار*، بينما يحتوي الصف الثاني على *الأهلي* و*تمويل*. تعالج التصفية المتقدمة هذه المصفوفة عبر نمذجة رياضية تدمج تقاطع المعايير الأفقية واتحاد النتائج الرأسية، مما يوفر أداة استعلام بالغة التعقيد يصعب تنفيذها بالأدوات القياسية الأخرى.
7. حساسية حالة الأحرف (Case Sensitivity) والقيود الدلالية أثناء التصفية النصية
7.1 السلوك الافتراضي لبرنامج Excel تجاه حالة الأحرف في التصفية النصية
يتميز محرك البحث والمطابقة الافتراضي في برنامج إكسيل بأنه غير حساس لحالة الأحرف (Case-Insensitive) عند التعامل مع النصوص اللاتينية ومحارف البدل النجمية. فعند كتابة معيار احتواء نصي مثل *excel*، فإن الأداة ستسترجع كافة السجلات التي تحتوي على الكلمة بصرف النظر عن كتابتها بحروف صغيرة بالكامل (excel)، أو حروف كبيرة بالكامل (EXCEL)، أو بحرف استهلالي كبير (Excel). يهدف هذا السلوك الافتراضي إلى تسهيل البحث العام واستيعاب التباينات الإملائية غير المقصودة من قبل مدخلي البيانات.
ومع ذلك، يفرض هذا السلوك الافتراضي قيوداً منهجية معقدة عند التعامل مع قواعد البيانات الحساسة أو البيانات المشفرة ورموز المعاملات المصرفية (مثل أكواد SWIFT أو معرفات المنتجات التقنية) حيث تحمل حالة الأحرف دلالات تصنيفية مختلفة جوهرياً. كما يتجلى هذا التحدي بصورة أخرى في معالجة النصوص العربية، حيث يتعامل إكسيل أحياناً بمرونة مفرطة تجاه تنوع رسم الهمزات (أ، إ، آ، ا) أو التفريق بين الياء المهملة والألف المقصورة (ي، ى)، مما يفرض الحاجة لآليات تقنية صارمة لإلزام المحرك بالانضباط النصي الدقيق عند الحاجة.
7.2 تقنيات تجاوز القيود الافتراضية لتحقيق تصفية حساسة لحالة الأحرف
لتجاوز القيد الافتراضي وإجبار التصفية المتقدمة على التحسس الصارم لحالة الأحرف أو التشكيل اللغوي، لا يمكن الاعتماد على المعايير النصية البسيطة ومحارف البدل المباشرة، بل يجب الانتقال إلى استخدام المعايير المعتمدة على الصيغ البرمجية والحسابية المخصصة (Computed Formula Criteria). تعتمد هذه التقنية على توظيف الدوال النصية التي تمتلك حساسية متأصلة للأحرف مثل دالة FIND ودالة EXACT، ودمجها مع الدوال المنطقية للتحقق من تحقق الشرط الحرفي.
لبناء معيار احتواء حساس لحالة الأحرف للبحث عن المقطع الصارم “IBM” داخل عمود يبدأ من الخلية A2، يتم كتابة صيغة منطقية في خلية المعيار مثل: =ISNUMBER(FIND("IBM", A2)). تتميز دالة FIND باشتراط التطابق الحرفي الدقيق لحالة الأحرف وتوليد خطأ القيمة #VALUE! في حال عدم التطابق، بينما تقوم دالة ISNUMBER بتحويل نتيجة البحث إلى قيمة منطقية (TRUE أو FALSE). يقرأ محرك التصفية المتقدمة هذه الصيغة ويطبقها بالتتابع على كل صف في النطاق المصدري، مما يضمن استبعاد النصوص التي تحتوي على “ibm” بحروف صغيرة وعزل النصوص المطابقة بدقة حرفية مطلقة.
7.3 التعامل مع التنوع اللغوي والرموز الخاصة في التصفية النصية
تفرض المعالجة النصية للغات ذات التراكيب الصرفية والرسوم المتعددة مثل اللغة العربية تحديات فريدة عند تطبيق استعلامات التضمين النصي. يؤدي التباين في استخدام التشكيل الحركي (الفتحة، الضمة، الكسرة، التنوين) إلى عجز محارف البدل القياسية عن مطابقة الكلمات المشكولة إذا كان المعيار نصاً مجرداً، حيث يُعامل المحرف المشكول كبايت مستقل في الذاكرة التخزينية للحاسوب يختلف عن المحرف غير المشكول.
لمعالجة هذه الفروق الدلالية، تتضمن أفضل الممارسات المنهجية توحيد النصوص المصدرية عبر أدوات المعالجة القبلية أو بناء مصفوفات معايير تخييرية رأسية تغطي الأشكال الإملائية المحتملة للكلمة المفتاحية (مثل إدراج *أحمد* و*احمد* في صفين متتاليين). كما يجب ضبط إعدادات اللغة الإقليمية (Regional Settings) في نظام التشغيل وبيئة إكسيل لضمان توافق قواعد الفرز والمقارنة النصية، مما يحول دون حدوث انحرافات في تفسير الحروف الخاصة وعلامات الترقيم المركبة أثناء تنفيذ استعلامات التصفية المتقدمة.
8. المعايير المتقدمة المعتمدة على الصيغ الحسابية والدوال النصية (Formula-Based Criteria)
8.1 هندسة المعايير الديناميكية باستخدام الصيغ المنطقية المخصصة
تُمثل المعايير المعتمدة على الصيغ الحسابية (Formula-Based Criteria) المستوى الأكثر تقدماً وقوة في استغلال أداة التصفية المتقدمة؛ إذ تسمح بتحويل شروط التصفية من قيم نصية ثابتة إلى تعبيرات منطقية ديناميكية قابلة للتكيف مع العلاقات الرياضية والنصية المعقدة. تعتمد هذه الهندسة على صياغة معادلة إكسيل تُرجع إحدى القيمتين المنطقيتين: إما TRUE للاشتمال والظهور، أو FALSE للاستبعاد والإخفاء، مع توجيه المعادلة للإشارة دائماً إلى الخلية الأولى في نطاق البيانات المصدرية.
لتطبيق شرط احتواء نصي مرن غير حساس لحالة الأحرف كمعيار صيغة، يتم توظيف دالة SEARCH بالاقتران مع دالة ISNUMBER، وفق الصيغة العامة: =ISNUMBER(SEARCH("نص_المعيار", B2))، بافتراض أن B2 هي الخلية الأولى في عمود البيانات. تعمل دالة SEARCH على فحص السلسلة النصية وتحديد موضع البداية الرقمي للمقطع المطلوب بصرف النظر عن حالة الأحرف، وتقوم دالة ISNUMBER بتحويل الموضع الرقمي إلى TRUE. يقرأ محرك التصفية المتقدمة هذا النمط ويقوم برمجياً بتطبيق منطق الصيغة عبر الإزاحة النسبية على كافة الصفوف اللاحقة في الجدول (B3, B4, …) حتى نهاية النطاق.

8.2 شروط وتحديات استخدام ترويسات المعايير المعتمدة على الصيغ
تفرض المعايير المعتمدة على الصيغ الحسابية قاعدة صارمة تختلف كلياً عن معايير النصوص المباشرة؛ وتتمثل في وجوب عدم تطابق ترويسة خلية المعيار مع أي ترويسة موجودة في الجدول المصدري. إذا تم استخدام ترويسة مطابقة لترويسة أحد الأعمدة عند كتابة صيغة منطقية، فإن محرك التصفية سيتعرض لارتباك تشغيلي يحاول فيه مطابقة ناتج الصيغة (TRUE/FALSE) كنص صريح داخل العمود بدلاً من تقييم المعادلة ذاتها، مما يؤدي إلى فشل كامل في استرجاع البيانات.
لتجنب هذا الإخفاق، يُشترط إما ترك الخلية العلوية لترويسة المعيار فارغة تماماً، أو تسميتها بتسمية وصفية مخصصة ومبتكرة لا وجود لها في الجدول المصدر، مثل “حالة الشرط”، أو “فلتر مخصص”، أو “معيار التحقق”. علاوة على ذلك، يجب الانتباه الصارم لطبيعة المراجع المستخدمة في الصيغة؛ إذ يجب استخدام المراجع النسبية (Relative References مثل A2) للإشارة إلى خلايا البيانات المتغيرة التي يُراد فحصها صفاً تلو الآخر، واستخدام المراجع المطلقة (Absolute References مثل $K$1) إذا كانت الصيغة تستند إلى قيمة شرطية ثابتة مخزنة في خلية خارجية، لمنع انحراف نطاق المقارنة أثناء المسح التلقائي للجدول.
8.3 الجمع بين الدوال الإحصائية والشروط النصية في استعلام واحد
تتيح المعايير المحسوبة إمكانية بناء استعلامات هجينة تجمع بين القيود النصية التضمينية والحدود الإحصائية الرياضية ضمن معادلة شرطية واحدة، وهو ما يعجز عنه أي نمط تصفية تقليدي. على سبيل المثال، قد تتطلب دراسة مالية استخراج السجلات التي يحتوي فيها وصف المعاملة على كلمة “تسويق”، بشرط أن تتجاوز قيمة المعاملة المالية في نفس السجل المتوسط الحسابي العام لكافة المعاملات المسجلة في قاعدة البيانات.
تُصاغ هذه العلاقة عبر دمج دالة AND المنطقية مع دالتي ISNUMBER/SEARCH ودالة AVERAGE الإحصائية على النحو التالي: =AND(ISNUMBER(SEARCH("تسويق", B2)), C2 > AVERAGE($C$2:$C$1000)). تفحص هذه الصيغة المركبة الخلية النصية B2 والخلية الرقمية C2 بالتزامن مع تثبيت نطاق المتوسط الحسابي بالمراجع المطلقة؛ ولا يتم إظهار السجل إلا إذا جمع بين الوصف التسويقي وتخطي المتوسط المالي العام، مما يمنح محللي البيانات الكبيرة قدرة فائقة على استكشاف العلاقات العميقة بين المتغيرات الوصفية والكمية في خطوة استعلامية واحدة.
9. استراتيجيات استخراج وتصدير البيانات المفلترة وإدارتها في بيئات العمل
9.1 التصفية في نفس الموضع (Filter the list, in-place) مقابل النسخ لموقع آخر
توفر أداة التصفية المتقدمة مسارين تشغيليين رئيسيين للتعامل مع مخرجات الاستعلام، ويمتلك كل مسار مزايا استراتيجية تعتمد على طبيعة المهمة التحليلية. يتمثل المسار الأول في “تصفية القائمة في نفس المكان” (Filter the list, in-place)، وفيه يقوم النظام بإخفاء كافة الصفوف غير المطابقة برمجياً داخل النطاق الأصلي. يُعد هذا الخيار مثالياً لإجراء المعاينات السريعة، أو تعديل البيانات المفلترة موضعياً، أو تنفيذ عمليات الحذف الجماعي للسجلات المطابقة لمعيار معين دون الحاجة لإعادة هيكلة المصنف.
في المقابل، يمثل المسار الثاني المتمثل في “النسخ إلى موقع آخر” (Copy to another location) الاستراتيجية الأكثر أماناً وفاعلية في بيئات الأعمال المؤسسية. يتيح هذا الخيار استخراج نسخة نقية ومستقلة تماماً من البيانات المطابقة وترحيلها إلى نطاق جغرافي جديد دون المساس بالجدول المصدر. يوفر هذا الأسلوب حماية كاملة لقواعد البيانات الأصلية من التعديلات العرضية أو أخطاء الحذف البشري، ويشكل اللبنة الأساسية لإنشاء الجداول الفرعية، وتوليد التقارير الدورية المعزولة، وإعداد البيانات تمهيداً لتحميلها إلى منصات تحليلية أخرى كبرمجيات ذكاء الأعمال (Power BI).

9.2 النسخ إلى ورقة عمل أخرى (Cross-Worksheet Advanced Filtering)
يواجه الكثير من مستخدمي إكسيل عائقاً تقنياً شهيراً عند محاولة تصدير نتائج التصفية المتقدمة مباشرة إلى ورقة عمل مختلفة؛ حيث يظهر إكسيل رسالة خطأ قياسية تنص على أنه: “يمكنك فقط نسخ البيانات المفلترة إلى ورقة العمل النشطة” (You can only copy filtered data to the active sheet). ينشأ هذا القيد نتيجة بدء تشغيل الأداة من ورقة العمل التي تحتوي على البيانات الأصلية، مما يقيد محرك الإخراج الجغرافي بحدود تلك الورقة حصراً.
لتجاوز هذا القيد البرمجي وتطبيق التصفية عبر أوراق العمل بنجاح (Cross-Worksheet Filtering)، يجب اتباع الحيلة التقنية المعيارية التالية: الانتقال أولاً إلى ورقة العمل الفارغة المستهدفة وتنشيطها، ثم فتح نافذة “التصفية المتقدمة” من داخل هذه الورقة الخالية. من هذا الموضع، يتم توجيه حقل “نطاق القائمة” (List range) وحقل “نطاق المعايير” (Criteria range) إلى الورقة الأصلية باستخدام المراجع الخارجية (مثل 'DataSheet'!$A$1:$E$1000)، ثم تحديد خلية البداية في الورقة النشطة الحالية داخل حقل “النسخ إلى” (Copy to). يتيح هذا الإجراء تجاوز العائق واستخراج مخرجات الاستعلام مباشرة إلى صفحات مستقلة لتصميم لوحات تحكم تفاعلية وتقارير مفصولة بالكامل.
9.3 استخراج السجلات الفريدة فقط (Unique Records Only) مع معيار الاحتواء
تتضمن نافذة التصفية المتقدمة خياراً تقنياً بالغ الأهمية يتمثل في مربع الاختيار “السجلات الفريدة فقط” (Unique records only). عند تفعيل هذا الخيار بالتزامن مع تطبيق شرط الاحتواء النصي، يقوم محرك التصفية بإجراء تقييم مزدوج؛ حيث يقوم أولاً بعزل كافة السجلات التي تحقق معيار التضمين النصي *Text*، ثم يقوم ثانياً بمسح السجلات الناتجة وإلغاء تكرار الصفوف المتطابقة كلياً عبر كافة الأعمدة المستخرجة، مبقياً على نسخة فريدة واحدة فقط لكل سجل.
تكتسب هذه الميزة قيمة استثنائية في عمليات تنقية البيانات الضخمة (Data Cleansing) والتحضير لعمليات النمذجة المتقدمة؛ حيث تسمح باستخراج قوائم فريدة ونظيفة لعملاء أو منتجات أو موردين يشتركون في سمة نصية معينة دون الغرق في تكرارات المعاملات اليومية المتشابهة. يساهم ذلك في تسريع وتيرة المعالجة التحليلية وتقليص أحجام الملفات وتحسين كفاءة النماذج التلخيصية اللاحقة بصورة جذرية.
10. مقارنة تقنية موسعة: التصفية المتقدمة، دالة FILTER الحديثة، وجداول Pivot Tables
10.1 التصفية المتقدمة مقابل دالة FILTER الديناميكية في Microsoft 365
مع إطلاق محرك المصفوفات الديناميكية (Dynamic Arrays) في إصدارات Microsoft 365، أحدثت دالة FILTER ثورة في معالجة الاستعلامات داخل جداول البيانات. تتيح دالة FILTER تطبيق شرط الاحتواء النصي عبر صيغة حية ومباشرة تعتمد على الدوال المصفوفية مثل: =FILTER(A2:D1000, ISNUMBER(SEARCH("نص", B2:B1000)), "لا توجد نتائج"). يكمن الفارق الجوهري بين الأداتين في أن دالة FILTER توفر تحديثاً ديناميكياً ولحظياً للنتائج بمجرد تعديل البيانات المصدرية دون أي تدخل يدوي، بينما تتسم أداة التصفية المتقدمة بأنها أداة إجرائية ثابتة (Static Procedural Tool) تتطلب إعادة تشغيل التصفية يدوياً أو عبر وحدات الماكرو عند تغير المدخلات.
ومع ذلك، تتفوق التصفية المتقدمة في معالجة مصفوفات المعايير المعقدة شديدة التفرع والتي تتطلب كتابة صيغ مصفوفية غاية في التعقيد والبطء في دالة FILTER. كما تتميز التصفية المتقدمة بثبات أدائها وسرعة معالجتها الخوارزمية في جداول البيانات العملاقة التي تتجاوز مئات الآلاف من الصفوف، حيث قد تتسبب الدوال المصفوفية الحية في استهلاك هائل للذاكرة العشوائية (RAM) وبطء ملحوظ في إعادة حساب المصنف عند كل إدخال طفيف للبيانات.
10.2 التصفية المتقدمة مقابل التصفية المدمجة في الجداول المحورية (Pivot Tables)
تمتلك الجداول المحورية (Pivot Tables) آليات تصفية متقدمة مدمجة داخل واجهتها التحليلية، وتحديداً عبر ميزة “عوامل تصفية التسميات” (Label Filters) والتي تتضمن خياراً صريحاً باسم “يحتوي على” (Contains). يتيح هذا الخيار تصفية الحقول النصية داخل الجدول المحوري بناءً على سلاسل فرعية، مع الاستفادة الفورية من قدرات المحركات المحورية في التجميع الحسابي السريع وتوليد المجاميع الإجمالية وتلخيص البيانات عبر أبعاد تصنيفية متعددة.
تكمن المفاضلة بين الأداتين في طبيعة المخرجات النهائية المستهدفة؛ فإذا كان الغرض التحليلي هو استخراج وتصدير السجلات الفردية بتفاصيلها المعاملاتية الكاملة كما هي في الجدول الخام، فإن التصفية المتقدمة هي الأداة المثلى لهذه المهمة. أما إذا كان الهدف هو الحصول على ملخص إحصائي وتجميعي مدمج للسجلات التي تحتوي على مقطع نصي محدد مع حساب المتوسطات والمجاميع المالية والتكرارات الإحصائية، فإن الجداول المحورية تصبح الخيار الأكثر كفاءة وسرعة لمرونتها التفاعلية العالية.
10.3 مصفوفة اتخاذ القرار التحليلي: متى تختار التصفية المتقدمة؟
تتطلب الحوكمة التحليلية السليمة داخل المؤسسات اختيار الأداة المناسبة وفق معايير موضوعية تستند إلى بيئة العمل ونوعية البيانات. يوضح الجدول المفاهيمي التالي المعايير المحددة للمفاضلة بين أداة التصفية المتقدمة، ودالة FILTER المصفوفية، والجداول المحورية:
- إصدار بيئة العمل: تبرز التصفية المتقدمة كخيار إلزامي لا غنى عنه في بيئات العمل التي تستخدم إصدارات إكسيل الكلاسيكية (Excel 2010, 2013, 2016, 2019) والتي تفتقر كلياً لدعم محرك المصفوفات الديناميكية ودالة FILTER.
- حجم واستقرار البيانات: في قواعد البيانات الضخمة التي تتطلب استخراجاً ثابتاً غير متأثر بإعادة الحساب المتكرر للنماذج، توفر التصفية المتقدمة استقراراً حسابياً ممتازاً للمصنفات المعقدة.
- أتمتة النماذج بواسطة البرمجة: تُعد التصفية المتقدمة الخيار المفضل لمطوري حلول VBA نظراً لوجود ميثود برمجية مدمجة وسريعة الاستجابة (
Range.AdvancedFilter) تنفذ الاستعلامات وتصدر النتائج دون إثقال المصنف بصيغ مصفوفية حية.
11. تشخيص وتصحيح الأخطاء الشائعة أثناء تطبيق شرط “يحتوي على”
11.1 الأخطاء المتعلقة بعدم تطابق الترويسات والمسافات الزائدة
يُعد الخطأ التشغيلي الشهير “The extract range has an illegal or missing field name” (نطاق الاستخراج يحتوي على اسم حقل غير صالح أو مفقود) من أكثر الأخطاء إحباطاً للمستخدمين أثناء التعامل مع التصفية المتقدمة. يعود السبب الجذري لهذا الخطأ بصورة حتمية إلى وجود تباين بايتي بين اسم ترويسة العمود في نطاق المعايير أو نطاق الاستخراج، واسم الترويسة المقابلة لها في جدول البيانات المصدر؛ وغالباً ما ينشأ هذا التباين نتيجة وجود مسافة بيضاء خفية في نهاية النص أو اختلاف في علامات الترقيم والهمزات.
لتشخيص وتصحيح هذا العطل فورياً، يُنصح بالامتناع التام عن كتابة أسماء الترويسات يدوياً في نطاق المعايير. بدلاً من ذلك، يجب استخدام النسخ واللصق المباشر من رؤوس أعمدة الجدول المصدر لضمان التطابق الحرفي بنسبة 100%. كما يمكن استخدام دالة الفحص المنطقي =EXACT(A1, Criteria_Header) للتحقق الحسابي من تطابق السلسلتين النصيتين بدقة متناهية وإزالة أي مسافات زائدة باستخدام دالة TRIM قبل إطلاق الاستعلام المتقدم.
11.2 مشاكل النطاقات المتداخلة والصفوف الفارغة غير المقصودة
تؤدي الأخطاء الهيكلية في تحديد النطاقات الجغرافية داخل نافذة التصفية المتقدمة إلى انحرافات جسيمة في النتائج. وتتمثل المشكلة الأكثر شيوعاً في تمديد تحديد “نطاق المعايير” (Criteria Range) ليشمل صفاً فارغاً إضافياً في الأسفل؛ حيث يُترجم هذا الفراغ في البنية المنطقية لإكسيل كشرط (OR Blank) يقبل استرجاع كافة سجلات الجدول دون أي استثناء، مما يفقد أداة التصفية وظيفتها تماماً ويبقي على كافة الصفوف ظاهرة.
من جهة أخرى، يجب تجنب تداخل نطاق النتائج المنسوخة (Copy to Range) مع نطاق البيانات المصدرية أو نطاق المعايير؛ إذ يتسبب هذا التداخل المكاني في قيام إكسيل بالكتابة فوق البيانات الأصلية وتشويه السجلات بصورة لا يمكن التراجع عنها في بعض الأحيان. تتطلب الممارسة التحليلية الآمنة عزل كل نطاق في حيز مستقل، وإعادة تعيين النطاقات يدوياً والتأكد من خلو الذاكرة المؤقتة لبرنامج إكسيل من أي نطاقات قديمة عبر مراجعة أسماء النطاقات المعرفة (Named Ranges) في إدارة الأسماء.
11.3 فشل مطابقة الأرقام المنسقة كنصوص والرموز المعقدة
يواجه شرط التضمين النصي *Text* فشلاً تقنياً واضحاً عند محاولة تطبيقه على أعمدة تحتوي على قيم رقمية بحتة (مثل الأرقام التسلسلية، وأرقام الفواتير، والأكواد الوظيفية) مخزنة بتنسيق رقمي حقيقي (Numeric Format). تكمن المشكلة في أن محارف البدل النجمية مصممة حصرياً لمعالجة السلاسل النصية ومقارنتها، وعند تطبيقها على قيم رقمية، يعجز محرك البحث عن إجراء المطابقة وتُرجع التصفية نتائج فارغة بالكامل.
لحل هذه المعضلة التشغيلية، يجب تحويل القيم الرقمية إلى سلاسل نصية صريحة؛ إما عبر استخدام أداة “نص إلى أعمدة” (Text to Columns) واختيار التنسيق النصي (Text)، أو بإنشاء عمود مساعد وتوظيف دالة TEXT للتحويل القسري مثل =TEXT(A2, "0"). كما تجدر الإشارة إلى أنه في حال احتواء النص المستهدف على محارف النجمة (*) أو علامة الاستفهام (؟) كجزء أصيل من الكود المراد البحث عنه، فيجب تحييد دلالتها البرمجية عبر وضع علامة التلدة قبلها (مثل *~** للبحث عن النصوص المحتوية على نجمة)، لضمان تفسيرها كمحارف نصية مجردة.
12. أتمتة عمليات التصفية المتقدمة باستخدام لغة البرمجة VBA ووحدات الماكرو
12.1 تسجيل وفهم كود التصفية المتقدمة (AdvancedFilter Method) في VBA
تُمثل أتمتة التصفية المتقدمة باستخدام لغة البرمجة Visual Basic for Applications (VBA) إحدى أقوى الوسائل لبناء تطبيقات إكسيل مؤسسية مؤتمتة تلغي الحاجة للتدخل اليدوي المتكرر. يعتمد كائن النطاق (Range Object) في بيئة VBA على ميثود مدمجة وشديدة الفاعلية تسمى AdvancedFilter، والتي تختزل كافة عمليات التصفية المعقدة في سطر برمجي واحد يتميز بالسرعة الفائقة والاستقرار الحسابي.
تتخذ الصيغة البرمجية القياسية لميثود التصفية المتقدمة البنية التالية في محرر الكود:
Range("DatabaseRange").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("CriteriaRange"), CopyToRange:=Range("ExtractRange"), Unique:=False
يحدد المعامل Action نمط التشغيل؛ حيث يأخذ القيمة xlFilterCopy لنسخ المخرجات إلى نطاق مستقل، أو xlFilterInPlace لتصفية الجدول في موضعه الأصلي. وتتيح هذه البنية البرمجية تمرير النطاقات عبر متغيرات ديناميكية تعيد حساب أبعاد الجدول والمعايير تلقائياً مهما تغير حجم البيانات المحدثة.

12.2 بناء ماكرو تفاعلي يقوم بالتصفية التلقائية الفورية بمجرد إدخال النص
يمكن الارتقاء بتجربة المستخدم إلى مستويات احترافية عبر ربط التصفية المتقدمة بأحداث ورقة العمل التفاعلية، وتحديداً حدث Worksheet_Change. يتيح هذا الربط تشغيل الماكرو تلقائياً وبصورة فورية بمجرد قيام المستخدم بكتابة أو تعديل الكلمة المفتاحية في خلية بحث محددة (مثل الخلية F2)، مع قيام الكود البرمجي بدمج محارف البدل * حول النص المدخل آلياً دون تحميل المستخدم عناء كتابتها.
لتنفيذ هذه الآلية، يتم كتابة كود تفاعلي يتحقق من تقاطع الخلية المعدلة مع خلية البحث؛ وعند استشعار التغيير، يقوم الماكرو بتعطيل تحديث الشاشة برمجياً عبر Application.ScreenUpdating = False لتفادي وميض الواجهة الرسومية وتسريع المعالجة، ثم يقوم بتحديث نطاق المعيار وتشغيل الميثود AdvancedFilter فورياً. يوفر هذا الأسلوب واجهة بحث ديناميكية وفورية تماثل محركات الاستعلام التفاعلية في تطبيقات الويب المعاصرة.
12.3 تطوير وحدات برمجية لمعالجة سيناريوهات استخراج البيانات المعقدة
تتوسع تطبيقات VBA لتشمل معالجة السيناريوهات الاستخراجية بالغة التعقيد، مثل تفكيك قاعدة بيانات مركزية ضخمة إلى تقارير دورية منفصلة وفق قائمة معايير نصية متعددة وتصدير كل تقرير إلى مصنف مستقل أو ملف PDF مؤتمت بالكامل. تستند هذه الوحدات البرمجية المتقدمة إلى إنشاء حلقات تكرارية (Loops) تقوم بقراءة الكلمات المفتاحية التضمينية بالتتابع وتطبيق التصفية المتقدمة لكل كلمة وحفظ النتائج في مسارات تخزينية محددة.
علاوة على ذلك، يجب أن تتضمن الوحدات البرمجية الاحترافية آليات قوية لمعالجة الأخطاء (Error Handling) لتفادي انهيار البرنامج المفاجئ عند إدخال نصوص غير موجودة أو عند محاولة الكتابة في نطاقات محمية. يتم ذلك عبر دمج عبارات التحقق المنطقي وتنبيه المستخدم برسائل توضيحية راقية، مع إعادة تفعيل خصائص النظام الحسابية وشاشات العرض لضمان أعلى درجات الأمان والموثوقية لنماذج الأعمال المؤسسية.
خاتمة
تُجسد أداة التصفية المتقدمة (Advanced Filter) في برنامج Microsoft Excel التقاءً استثنائياً بين البساطة الوظيفية والعمق البرمجي الخوارزمي في بيئات معالجة البيانات وجداول البيانات الكبيرة. ومن خلال التطبيق المنهجي لشرط التضمين النصي “يحتوي على” (Contains) المدعوم بمحارف البدل النجمية، يتحول برنامج إكسيل من مجرد جدول حسابي إلى محرك استعلام علائقي مرن قادر على استخراج أدق الأنماط الدلالية من السلاسل النصية المعقدة وغير المتجانسة، متجاوزاً بذلك كافة القيود الهيكلية للتصفية التقليدية.
وقد أثبت هذا الدليل التحليلي المعمق أن إتقان التصفية المتقدمة لا يقتصر على معرفة المسارات الإجرائية للقوائم المنسدلة، بل يتطلب فهماً رياضياً لبنية المعايير المنطقية، وهندسة مصفوفات الاقتران (AND) والتخيير (OR)، وتطويع المعايير المعتمدة على الصيغ الحسابية والدوال النصية المخصصة لتجاوز حدود حساسية الأحرف وتعدد الرسوم اللغوية. إن دمج هذه المعارف النظرية مع استراتيجيات التصدير الآمن والأتمتة البرمجية عبر لغة VBA يمنح محللي البيانات ومهندسي النظم المالية القدرة على بناء نماذج تقارير ذات موثوقية عالية، وقابلة للتوسع، ومحمية من الأخطاء التشغيلية، مما يرسخ الكفاءة والاحترافية في اتخاذ القرارات المؤسسية المستندة إلى البيانات الدقيقة.
المراجع (References)
- Alexander, M., & Kusleika, D. (2020). Excel 2019 Bible. John Wiley & Sons. https://www.wiley.com/en-us/Excel+2019+Bible-p-9781119514787
- Jelen, B., & Syrstad, T. (2019). Microsoft Excel 2019 VBA and Macros. Microsoft Press. https://www.microsoftpressstore.com/store/microsoft-excel-2019-vba-and-macros-9781509307777
- Microsoft Support. (2023). Filter by using advanced criteria. Microsoft Corporation. https://support.microsoft.com/en-us/office/filter-by-using-advanced-criteria-4c922203-aaee-449e-83cc-499d73747476
- Microsoft Support. (2023). Using wildcard characters in searches. Microsoft Corporation. https://support.microsoft.com/en-us/office/using-wildcard-characters-in-searches-ef94362e-9999-4350-ad74-4d2371110adb
- Walkenbach, J. (2015). Excel 2016 Power Programming with VBA. John Wiley & Sons. https://www.wiley.com/en-us/Excel+2016+Power+Programming+with+VBA-p-9781119067726
- Winston, W. (2021). Microsoft Excel Data Analysis and Business Modeling (Office 2021 and Microsoft 365) (7th ed.). Microsoft Press. https://www.microsoftpressstore.com/store/microsoft-excel-data-analysis-and-business-modeling-9780137613663