إكسيل: لماذا تتفوق دالة FILTER على XLOOKUP في استخراج البيانات؟
تُعد دالة XLOOKUP في إكسيل أداة رائعة للعثور على "إبرة في كومة قش"، ولكن ماذا لو كنت بحاجة للعثور على كل الإبر؟ بينما تتوقف XLOOKUP عند أول تطابق تجده، صُممت دالة FILTER لعصر المصفوفات الديناميكية، مما يسمح لك بسحب قوائم كاملة من البيانات باستخدام صيغة واحدة أنيقة.
لماذا لا تكون XLOOKUP الحل الأمثل دائماً؟
تعتبر XLOOKUP، المتوفرة في Microsoft 365 وإصدارات الويب والإصدارات المستقلة من عام 2021 وما بعده، المعيار الذهبي لاسترجاع البيانات. إنها أسهل بكثير من استخدام مزيج INDEX-MATCH وأكثر مرونة من سابقاتها VLOOKUP وHLOOKUP.
تتميز XLOOKUP بذكائها وقدرتها على ملء عدة أعمدة لتطابق واحد تلقائياً، مثل جلب الاسم والقسم وتاريخ البدء بمجرد البحث عن معرف الموظف. ومع ذلك، تكمن مشكلتها الرئيسية في أنها تتوقف عند العثور على أول نتيجة مطابقة فقط.
كيف تغير دالة FILTER قواعد اللعبة؟
تنتمي دالة FILTER إلى فئة وظائف المصفوفات الديناميكية الحديثة، مما يعني أنك تكتب الصيغة مرة واحدة، وتتدفق النتائج (Spill) إلى الخلايا المجاورة بقدر ما يلزم، دون الحاجة لسحب مقبض التعبئة لأسفل لمئات الصفوف.
على الرغم من قدرتها على إجراء عمليات معقدة، إلا أن بناء جملة دالة FILTER بسيط للغاية:
- =FILTER(array,include,[if_empty])
- array (مطلوب): نطاق الخلايا أو الجدول الذي تريد تصفيته.
- include (مطلوب): المعيار الذي يخبر إكسيل بما يجب الاحتفاظ به.
- [if_empty] (اختياري): ما يجب عرضه إذا لم يتم العثور على تطابقات.
على عكس أداة التصفية القياسية، تكون دالة FILTER حية ومباشرة؛ أي أن أي إدخال جديد يظهر في نتائجك فوراً، وهي تعيد كل تطابق تجده وليس الأول فقط.
مثال عملي: استخراج المبيعات لمنطقة محددة
هنا يتضح الفرق الجوهري. إذا حاولت استخدام XLOOKUP للبحث عن مبيعات منطقة معينة، ستجد أنها تعيد نتيجة البيع الأول فقط وتتجاهل باقي المبيعات في نفس المنطقة. أما دالة FILTER، فتقوم بمسح عمود المنطقة بالكامل، وفي كل مرة تجد تطابقاً، تسحب الصف بالكامل إلى منطقة النتائج.
وبما أن هذه مصفوفة ديناميكية، فإذا أضفت عملية بيع جديدة إلى مجموعة البيانات الأصلية، ستتوسع النتائج تلقائياً لتشملها. كذلك، إذا قمت بتغيير معيار البحث (مثلاً من "الشمال" إلى "الغرب")، يتم تحديث القائمة فوراً.
التصفية بمعايير متعددة
بينما صممت XLOOKUP للعمل مع معيار واحد (مع إمكانية التحايل لدمج القيم)، فإن دالة FILTER تتعامل مع المعايير المتعددة بشكل أصلي. يمكنك إخبارها بمسح الجدول بحثاً عن الصفوف التي يتحقق فيها الشرط "أ" والشرط "ب" معاً.
تعتمد هذه الطريقة على المنطق البولياني (Boolean logic)، حيث يتم ترجمة المعايير إلى قيم رقمية (TRUE يصبح 1، وFALSE يصبح 0). عند وضع علامة النجمة (*) بين الشروط، فإنك تخبر إكسيل بضربها صفاً بصف:
- يتم تضمين الصفوف التي ناتجها 1 (TRUE) فقط في النتائج النهائية.
- يمكنك إضافة أي عدد من المتطلبات (مثل نطاق تاريخ محدد أو حد أدنى للمبلغ).
- تستخدم النجمة (*) لمنطق "و" (AND)، بينما تستخدم علامة الجمع (+) لمنطق "أو" (OR).
الخلاصة: اختر الأداة المناسبة
على الرغم من أن دالة FILTER تعتبر نقلة نوعية لاستخراج البيانات، إلا أنه لا يجب التخلي عن XLOOKUP تماماً. تستحق كلتا الدالتين مكاناً دائماً في مجموعة أدواتك في إكسيل، والسر يكمن في معرفة أيهما تختار بناءً على هدفك: نتيجة واحدة محددة أم قائمة كاملة من البيانات.
الأسئلة الشائعة
الفرق الأساسي هو أن XLOOKUP تعيد أول تطابق تجده فقط، بينما تقوم دالة FILTER بجلب وعرض جميع النتائج المطابقة للمعايير المحددة.
يمكن استخدام المنطق البولياني بوضع الشروط بين أقواس وفصلها بعلامة النجمة (*) لتطبيق منطق 'و' (AND)، أو علامة الجمع (+) لتطبيق منطق 'أو' (OR).
نعم، دالة FILTER هي دالة مصفوفة ديناميكية حية، مما يعني أن أي بيانات جديدة تضاف للمصدر أو أي تغيير في معايير البحث ينعكس فوراً في النتائج.
التعليقات 0
سجل دخولك لإضافة تعليق
لا توجد تعليقات بعد. كن أول من يعلق!