Skip to main content

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

Author: Xiaoyang Last Modified: 2025-08-06

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

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 يومًا. تحميل وتجربة مجانية الآن!


أفضل أدوات زيادة الإنتاجية لمجموعة Office

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

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


Office Tab يجلب تجربة التبويبات إلى Office، ويجعل عملك أسهل بكثير

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