كيفية تصفية الصفوف تلقائيًا بناءً على قيمة الخلية في Excel؟
في Excel، توفر وظيفة التصفية القياسية طريقة سريعة لتصفية البيانات بناءً على معايير تقوم بتحديدها يدويًا. ومع ذلك، قد تحتاج في بعض سير العمل إلى تحديث بياناتك تلقائيًا بمجرد إدخال قيمة أو شرط في خلية معينة. على سبيل المثال، إذا كنت تريد أن يتم تصفية مجموعة البيانات فورًا بناءً على كلمة رئيسية أو معلمة تدخلها في خلية أخرى، فإن هذا يتخطى القدرات الأصلية لتصفية Excel. يمكن أن يساعدك هذا النوع من التصفية الديناميكية أو "التلقائية" في تحسين عملية مراجعة البيانات وتقليل الوقت المستغرق في التصفية اليدوية وزيادة الدقة من خلال ربط شروط التصفية مباشرة بقيم الخلايا. إذا كنت تبحث عن تنفيذ مثل هذه الآلية للتصفية التلقائية بناءً على إدخال الخلية، فهناك عدة حلول عملية متاحة لتحقيق هذا الهدف.
تصفية الصفوف تلقائيًا بناءً على قيمة الخلية باستخدام حل صيغة Excel
تصفية الصفوف تلقائيًا بناءً على قيمة الخلية التي أدخلتها باستخدام كود VBA
تصفية الصفوف تلقائيًا بناءً على قيمة الخلية باستخدام حل صيغة Excel
إذا كنت تفضل النهج الخالي من الوحدات البرمجية (non-macro) أو تحتاج إلى تجنب استخدام 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 يومًا تمامًا. قم بتنزيل وتجربة الآن مجانًا! |
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير
- تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
- افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!