دالة FILTER في Excel: تصفية البيانات بمعادلة تتحدث وحدها

زر التصفية العادي يخفي الصفوف في نفس الجدول، وعليك أن تعيده كل مرة. دالة FILTER تنسخ الصفوف التي تريدها إلى مكان آخر، وتتحدث فورًا كلما تغيّرت البيانات أو الشرط.

EExcel✍️ علي سليم
⚠️ الإصدارFILTER متوفرة في Microsoft 365 وExcel 2021 وما بعدها، وفي Excel على الويب مجانًا. إذا ظهر #NAME? فإصدارك أقدم.

البيانات من A1 إلى D7:

ABCD
1الطالبالصفالمادةالدرجة
2عليالأولرياضيات85
3مريمالثانيرياضيات92
4يوسفالأولعلوم47
5نورالثانيعلوم78
6حسنالأولرياضيات63
7زينبالأولعلوم95

الصيغة

=FILTER(البيانات, الشرط, إذا لم توجد نتائج)

  • البيانات: الصفوف التي تريد أن تُعرض (بدون العناوين): A2:D7.
  • الشرط: مقارنة على عمود واحد بنفس الطول: B2:B7="الأول".
  • إذا لم توجد نتائج: اختياري، لكن اكتبه دائمًا وإلا يظهر #CALC!.

اكتب المعادلة في خلية واحدة فقط، والنتائج «تنسكب» (Spill) وحدها في الخلايا تحتها وبجانبها. لا تكتب شيئًا في تلك الخلايا، وإلا يظهر خطأ #SPILL!.

شرط واحد

كل طلاب الصف الأول:

=FILTER(A2:D7,B2:B7="الأول","لا يوجد") ← علي، يوسف، حسن، زينب

الطلاب الراسبون (أقل من 50):

=FILTER(A2:D7,D2:D7<50,"لا يوجد راسبون") ← يوسف

دالة FILTER في الإكسل | شرح شامل + أمثلة توضيحية لكل الخيارات
🎬 الدرس بالفيديو: دالة FILTER في الإكسل | شرح شامل + أمثلة توضيحية لكل الخيارات📄 صفحة الدرس الكاملة

عدة شروط: «و» و«أو»

في FILTER لا نستخدم AND وOR، بل نضع كل شرط بين قوسين ونستخدم:

الرمزالمعنىمثال
*و (الشرطان معًا)الصف الأول و مادة العلوم
+أو (أحدهما يكفي)درجة فوق 90 أو تحت 50

الصف الأول ومادة العلوم:

=FILTER(A2:D7,(B2:B7="الأول")*(C2:C7="علوم"),"لا يوجد") ← يوسف، زينب

المتفوقون أو الراسبون:

=FILTER(A2:D7,(D2:D7>90)+(D2:D7<50),"لا يوجد") ← مريم، يوسف، زينب

الشرط من خلية: قائمة تفاعلية

اكتب اسم الصف في G1 واجعل المعادلة: =FILTER(A2:D7,B2:B7=G1,"لا يوجد"). والأفضل أن تجعل G1 قائمة منسدلة من بيانات ← التحقق من صحة البيانات ← قائمة، فيختار المستخدم الصف وتتغير النتائج فورًا.

دمجها مع دوال أخرى

  • ترتيب النتائج: =SORT(FILTER(A2:D7,B2:B7="الأول"),4,-1) — حسب العمود الرابع (الدرجة) من الأكبر للأصغر.
  • أعمدة محددة فقط: اجعل البيانات A2:A7 لتحصل على الأسماء فقط.
  • عدد النتائج: =ROWS(FILTER(A2:D7,B2:B7="الأول")) ← 4.
💡 مع الجداولإذا حوّلت البيانات إلى جدول (Ctrl+T) واستخدمت أسماء أعمدته في FILTER، فأي صف جديد تضيفه يدخل في النتائج تلقائيًا.
دروس جديدة كل أسبوع — مجانًا.▶ اشترك في القناة