كيفية تصفية الصفوف تلقائيًا بناءً على قيمة الخلية في Excel؟
في Excel، توفر وظيفة التصفية القياسية طريقة سريعة لتصفية البيانات بناءً على المعايير التي تحددها يدويًا. ومع ذلك، قد تحتاج في بعض سير العمل إلى تحديث بياناتك تلقائيًا بمجرد إدخال قيمة أو شرط في خلية محددة. على سبيل المثال، إذا كنت تريد أن يتم تصفية مجموعة البيانات فورًا بناءً على كلمة رئيسية أو معلمة تدخلها في خلية أخرى، فهذا يتجاوز قدرات التصفية الأصلية في Excel. يمكن أن يساعد هذا النوع من التصفية الديناميكية أو "التلقائية" في تبسيط عملية مراجعة البيانات، وتقليل الوقت المستغرق في التصفية اليدوية، وزيادة الدقة من خلال ربط شروط التصفية مباشرة بقيم الخلايا. إذا كنت تبحث عن تنفيذ مثل هذه الآلية للتصفية التلقائية بناءً على مدخلات الخلية، فهناك العديد من الحلول العملية المتاحة لتحقيق هذا الهدف.
تصفية الصفوف تلقائيًا بناءً على قيمة الخلية باستخدام حل صيغة Excel
تصفية الصفوف تلقائيًا بناءً على قيمة الخلية التي أدخلتها باستخدام كود VBA
تصفية الصفوف تلقائيًا بناءً على قيمة الخلية باستخدام حل صيغة Excel
إذا كنت تفضل نهجًا لا يستخدم ماكرو أو تحتاج إلى تجنب استخدام VBA بسبب إعدادات الأمان أو مخاوف التعاون، يمكنك إنشاء تأثير "تصفية تلقائية" باستخدام مزيج من الصيغ والوظائف المدمجة في Excel. يعمل هذا الحل بشكل جيد لـ Microsoft 365 وMicrosoft 2019 والإصدارات الأحدث التي تدعم وظائف المصفوفات الديناميكية مثل FILTER
. وهو مناسب بشكل خاص للمشاركة مع الزملاء الذين قد لا تكون لديهم الماكرو مفعلة، أو للقوالب الخفيفة حيث تكون هناك حاجة لأتمتة بدون تثبيت.
1. حدد خلية فارغة حيث تريد أن تبدأ نتائج التصفية (على سبيل المثال، ضع المؤشر في الخلية G2).
=FILTER(A2:C20, (A2:A20=E1) * (B2:B20=E2), "No match")
2. بعد إدخال الصيغة في G2، اضغط على Enter. ستظهر مجموعة البيانات التي تم تصفيتها في نطاق "التصريف" بدءًا من الخلية G2. عند تغيير القيم في E1 أو E2، يتم تحديث القائمة التي تم تصفيتها فورًا.
تفترض هذه الصيغة أن بياناتك الرئيسية تقع في A2:C20 ومعايير التصفية يتم إدخالها في E1 (تطابق العمود A) وE2 (تطابق العمود B). إذا كنت تريد التصفية بواسطة عمود واحد فقط، يمكنك تبسيط الشرط المنطقي وفقًا لذلك. ستظهر الرسالة "لا توجد مطابقة" إذا لم تتطابق أي صفوف مع المعايير المدخلة.
نصيحة: وظيفة FILTER متاحة في Microsoft 365 وبعض إصدارات Microsoft 19+. بالنسبة لإصدارات Excel الأقدم، فإن التصفية الديناميكية عبر الصيغ ليست مباشرة، وقد ترغب في استكشاف الأعمدة المساعدة المدمجة مع AutoFilter التقليدي أو ميزات التصفية المتقدمة. تحقق من إصدارك لضمان التوافق.
عند استخدام هذا الحل، تحتل النتائج منطقة جديدة في ورقة العمل الخاصة بك، مما يساعد في الحفاظ على بياناتك الأولية. ومع ذلك، تبقى مجموعة البيانات الأصلية غير متأثرة—تُطبق المرشحات فقط على النتائج المعروضة، وليس حالة عرض البيانات المصدر.
الأخطاء المحتملة: إذا رأيت خطأ #NAME؟ أو #SPILL!، تحقق من أنك تستخدم إصدار Excel المتوافق وأنه لا توجد خلايا مدمجة في نطاق النتائج. أيضًا، تجنب وضع بيانات أخرى في منطقة تصريف الصيغ لمنع الانسدادات.
تصفية الصفوف تلقائيًا بناءً على قيمة الخلية التي أدخلتها باستخدام كود VBA
لنفترض أنك تعمل مع مجموعة بيانات وتريد تصفية السجلات تلقائيًا بناءً على المعايير التي تكتبها في خلايا محددة. على سبيل المثال، عندما تملأ الشروط المطلوبة في الخلية E1 وE2، يتم تصفية البيانات الموجودة في ورقة العمل تلقائيًا لتتطابق مع تلك القيم، كما هو موضح أدناه:
لأتمتة التصفية بهذه الطريقة، يمكنك إعداد حل VBA مباشر. يتم تشغيل هذه الطريقة كلما قمت بتحديث القيمة في خلايا التصفية المخصصة. وهي مفيدة بشكل خاص للوحات المعلومات، التقارير التفاعلية، أو القوالب التي يتوقع فيها المستخدمون التصفية الديناميكية من خلايا المعلمات المركزية.
1. انتقل إلى ورقة العمل حيث تريد أتمتة تصفية الصفوف بناءً على المدخلات التي تم إدخالها في الخلايا.
2. انقر بزر الماوس الأيمن على علامة ورقة العمل في الجزء السفلي من نافذة Excel واختر عرض الكود من قائمة السياق. في نافذة Microsoft Visual Basic for Applications التي تظهر، انسخ الكود VBA التالي في المنطقة الفارغة الكبيرة (المعروفة عادةً باسم نافذة الكود أو وحدة ورقة العمل)، كما هو موضح هنا:
كود VBA: تصفية البيانات تلقائيًا وفقًا لقيمة الخلية المدخلة
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice 20160606
If Target.Address = Range("E2").Address Then
Range("A1:C20").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("E1:E2")
End If
End Sub
ملاحظة: في هذا الكود VBA، يشير A1:C20 إلى نطاق البيانات الذي سيتم تطبيق التصفية عليه. E2 هي الخلية التي تكتب فيها قيمة التصفية (معاييرك المستهدفة)، وE1:E2 هما الخلايا المستخدمة كشروط التصفية. يمكنك تعديل هذه النطاقات حسب الحاجة—تأكد من أنها تعكس بدقة مكان وجود بياناتك ومعايير التصفية الخاصة بك لنظام ورقة العمل الخاص بك. أيضًا، من الأفضل تجنب الخلايا المدمجة وتأكد من أن نطاق البيانات يحتوي على رؤوس إذا كانت مطلوبة لتصفية دقيقة.
3. الآن، أدخل أو غيّر شروط التصفية الخاصة بك في الخلية E1 و/أو E2. بمجرد الضغط على Enter، يتم تشغيل الكود VBA تلقائيًا ويقوم بتصفية نطاق البيانات المحدد ليعرض فقط الصفوف التي تتطابق مع معاييرك المدخلة.
إذا لم يبدو أن التصفية تعمل فورًا بعد إدخال قيمة، تأكد من تمكين وظيفة الماكرو في المصنف الخاص بك، وتحقق من أن النطاقات في كود VBA تتطابق بشكل صحيح مع تخطيط ورقة العمل الحالي. في حالات الاستخدام المتعدد، ذكر الآخرين بأن الماكرو يجب أن يكون ممكناً حتى تعمل هذه الميزة بشكل صحيح.
هذا الأسلوب VBA مفيد بشكل خاص للوحات المعلومات التي تعتمد على المعلمات الديناميكية، والقوالب التفاعلية لإدخال البيانات، أو أي سيناريو قد يكون فيه إعادة تطبيق معايير التصفية يدوياً غير فعال. ومع ذلك، لاحظ أن المستخدمين قد يواجهون مشكلات إذا قاموا بتعطيل الماكرو، وحلول VBA محددة للملف الذي تم إضافة الكود إليه.
إذا كان السيناريو الخاص بك يتطلب تغييرات متكررة في المعايير من قبل مستخدمين متعددين قد يكون لديهم إعدادات أمان مختلفة في Excel، أو إذا كنت تخطط لمشاركة ملفك على نطاق واسع، فقد ترغب في النظر في حلول بديلة تعتمد على الصيغ أو إضافات Excel.
عرض توضيحي: تصفية الصفوف تلقائيًا بناءً على قيمة الخلية التي أدخلتها باستخدام كود VBA
تصفية البيانات حسب معايير متعددة أو شروط محددة أخرى، مثل طول النص، حساسية الحالة، وما إلى ذلك. عندما تحتاج إلى تنفيذ عمليات تصفية متقدمة—مثل دمج عدة معايير للتصفية، التصفية حسب طول النص، الحساسية لحالة النص، أو التصفية بناءً على فترات زمنية محددة—قد لا تكون مرشحات Excel المدمجة كافية. في مثل هذه السيناريوهات، توفر ميزة Super Filter من Kutools for Excel طريقة عملية لإدارة متطلبات التصفية المعقدة بسهولة وكفاءة. تساعدك هذه الميزة على:
Kutools لـ Excel: مجهز بأكثر من 300 إضافة عملية لـ Excel، مع فترة تجريبية مجانية وعملية بالكامل لمدة 30 يومًا. تحميل وتجربة مجانية الآن! |
أفضل أدوات زيادة الإنتاجية لمجموعة Office
عزز مهاراتك في Excel مع Kutools لـ Excel، وتمتع بكفاءة غير مسبوقة. يقدم Kutools لـ Excel أكثر من300 ميزة متقدمة لتعزيز الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يجلب تجربة التبويبات إلى Office، ويجعل عملك أسهل بكثير
- فعّل تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint
- افتح وأنشئ مستندات متعددة في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ جديدة.
- يمنحك زيادة إنتاجية تصل إلى50% ويوفر عليك مئات النقرات يومياً!