Skip to main content

كيفية تصفية الصفوف تلقائيًا بناءً على قيمة الخلية في Excel؟

Author: Xiaoyang Last Modified: 2025-07-21

في 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، يتم تصفية بيانات ورقة العمل تلقائيًا لتتناسب مع تلك القيم، كما هو موضح أدناه:

a screenshot of filtering rows based on entered value in a cell

لتشغيل التصفية بهذه الطريقة، يمكنك إعداد حل 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

a screenshot showing how to use the VBA code

ملاحظة: في هذا الكود VBA، تشير A1:C20 إلى نطاق البيانات الذي سيتم تطبيق المرشح عليه. E2 هي الخلية التي تكتب فيها قيمة المرشح (معاييرك المستهدفة)، وE1:E2 هي الخلايا المستخدمة كشروط المرشح. يمكنك تعديل هذه النطاقات حسب الحاجة - تأكد من أنها تعكس بدقة مكان وجود بياناتك ومعايير التصفية الخاصة ببنية ورقة العمل الخاصة بك. أيضًا، من الأفضل تجنب الخلايا المدمجة والتأكد من أن نطاق البيانات الخاص بك يحتوي على عناوين إذا كانت ضرورية لتصفية دقيقة.

3. الآن، أدخل أو غيّر شروط التصفية الخاصة بك في الخلية E1 و/أو E2. بمجرد الضغط على Enter، سيتم تشغيل كود VBA تلقائيًا وتصفيته نطاق البيانات المحدد لعرض الصفوف التي تتطابق فقط مع معايير الإدخال الخاصة بك.

إذا لم يبدو أن المرشح يعمل فورًا بعد إدخال قيمة، تأكد من تمكين وظيفة الماكرو في دفتر العمل الخاص بك، وتحقق من أن النطاقات في كود VBA تتطابق بشكل صحيح مع تخطيط ورقة العمل الحالي. في سيناريوهات المستخدمين المتعددين، ذكر الآخرين أن الماكرو يجب أن يكون مفعلًا حتى تعمل هذه الميزة بشكل صحيح.

هذا الأسلوب VBA مفيد بشكل خاص للوحات المعلومات المعتمدة على المعلمات الديناميكية، والقوالب التفاعلية لإدخال البيانات، أو أي سيناريو حيث تكون إعادة تطبيق معايير التصفية يدويًا غير فعالة. ومع ذلك، لاحظ أن المستخدمين قد يواجهون مشكلات إذا قاموا بتعطيل الماكرو، وحلول VBA محددة للملف الذي تم فيه إضافة الكود.

إذا كان السيناريو الخاص بك يتطلب تغييرات متكررة في المعايير من قبل مستخدمين متعددين قد يكون لديهم إعدادات أمان مختلفة في Excel، أو إذا كنت تخطط لمشاركة ملفك على نطاق واسع، فقد ترغب في النظر في حلول بديلة تعتمد على الصيغة أو إضافات Excel.


عرض توضيحي: تصفية الصفوف تلقائيًا بناءً على قيمة الخلية التي أدخلتها باستخدام كود VBA

 

تصفية البيانات بناءً على معايير متعددة أو ظروف محددة أخرى، مثل حسب طول النص، أو الحساسية لحالة الأحرف، وما إلى ذلك.

عندما تحتاج إلى إجراء عمليات تصفية متقدمة - مثل الجمع بين عدة معايير تصفية، أو التصفية حسب طول النص، أو الحساسية لحالة الأحرف، أو التصفية بناءً على فترات زمنية محددة - قد تفتقر مرشحات Excel المدمجة إلى القدرة. في مثل هذه السيناريوهات، توفر ميزة Super Filter من Kutools for Excel طريقة عملية لإدارة متطلبات التصفية المعقدة بسهولة وكفاءة. تساعدك هذه الميزة على:

  • تطبيق معايير متعددة عبر أعمدة متعددة؛ تصفية البيانات حسب عدد الأحرف في الخلية؛
  • تصفية حسب النص بأحرف كبيرة أو صغيرة؛ تصفية البيانات بناءً على السنة، الشهر، اليوم، الأسبوع، أو ربع السنة

a screenshot of using Kutools for Excel to filter date by multiple criteria

Kutools لـ Excel: مزودة بأكثر من 300 إضافة Excel عملية، مع فترة تجريبية مجانية لمدة 30 يومًا تمامًا. قم بتنزيل وتجربة الآن مجانًا!


أفضل أدوات الإنتاجية لمكتب العمل

🤖 Kutools AI Aide: أحدث ثورة في تحليل البيانات من خلال: التنفيذ الذكي |توليد الشيفرة |إنشاء الصيغ المخصصة |تحليل البيانات وتوليد الرسوم البيانية |استدعاء الوظائف المحسنة
الميزات الشائعة: البحث، تمييز أو وضع علامة على المكررات | حذف الصفوف الفارغة | دمج الأعمدة أو العنوان دون فقدان البيانات | تقريب ...
بحث متقدم: بحث V متعدد المعايير | بحث V متعدد القيم | بحث في عدة ورقات | مطابقة غامضة ....
قائمة منسدلة متقدمة: إنشاء قائمة منسدلة بسرعة | قائمة منسدلة تابعة | قائمة منسدلة متعددة الاختيار ....
إدارة الأعمدة: إضافة عدد محدد من الأعمدة | نقل الأعمدة | تبديل حالة إظهار الأعمدة المخفية | مقارنة النطاق والأعمدة ...
ميزات مميزة: التركيز على الشبكة | عرض التصميم | شريط الصيغ المحسن | أدوات المصنف & أدوات الورقة العمل | مكتبة النص التلقائي (Auto Text) | منتقي التاريخ | دمج البيانات | تشفير/فك تشفير الخلايا | إرسال البريد الإلكتروني حسب القائمة | مرشح متقدم | تصفية خاصة (تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...) ...
أفضل15 مجموعة أدوات:12 أداة نصية (إضافة نص، حذف الأحرف المحددة، ...) | أكثر من50 نوع من الرسوم البيانية (مخطط جانت، ...) | أكثر من40 صيغة عملية (حساب العمر بناءً على تاريخ الميلاد، ...) |19 أداة إدراج (إدراج رمز الاستجابة السريعة، إدراج صورة من المسار، ...) |12 أداة تحويل (تحويل إلى كلمات، تحويل العملة، ...) |7 أدوات دمج وتقسيم (دمج متقدم للصفوف، تقسيم الخلايا، ...) | ... والمزيد

عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...


Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير

  • تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
  • افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
  • يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!