دالة SORTBY في إكسيل: المفهوم، الصيغة، وخطوات التطبيق
تُعد دالة SORTBY واحدة من الإضافات القوية التي أعلنت عنها شركة "مايكروسوفت" في سبتمبر 2018، لتشكل نقلة نوعية في كيفية معالجة البيانات داخل "إكسيل". تكمن أهمية هذه الدالة في قدرتها على فرز نطاق من الخلايا أو المصفوفات استناداً إلى قيم موجودة في نطاق أو مصفوفة أخرى مقابلة، وذلك دون الحاجة إلى تغيير ترتيب البيانات الأصلية يدوياً.
تتوفر هذه الدالة في الإصدارات الحديثة من البرنامج (مثل Office 365 و Excel 2021 وما بعدها)، وهي جزء من عائلة "الدوال الديناميكية" التي تتيح للمستخدمين مرونة عالية في عرض البيانات وتحليلها.
صيغة دالة SORTBY وكيفية استخدامها
تعتمد دالة SORTBY على فرز البيانات بناءً على معايير محددة (تصاعدياً أو تنازلياً) بالاعتماد على مصفوفة خارجية. وتُكتب الصيغة العامة للدالة بالشكل التالي:
=SORTBY(array, by_array, [sort_order], [array/order],...)
شرح وسائط (Arguments) الدالة:
-
array (المصفوفة): النطاق أو مجموعة الخلايا التي تريد فرزها وإظهارها كنتيجة.
-
by_array (حسب المصفوفة): النطاق أو العمود الذي سيتم الاعتماد على قيمه لترتيب المصفوفة الأولى.
-
[sort_order] (ترتيب الفرز): وسيط اختياري يحدد طريقة الترتيب:
-
(1): للترتيب التصاعدي (من الأصغر للأكبر / من A إلى Z). وهو الخيار الافتراضي.
-
(-1): للترتيب التنازلي (من الأكبر للأصغر / من Z إلى A).
-
-
[array/order] (مصفوفة/ترتيب إضافي): وسيط اختياري لإضافة مستويات فرز أخرى (مثلاً: الفرز حسب العمر أولاً، ثم حسب الاسم).
ملاحظات هامة عند الاستخدام:
-
يجب أن تكون أبعاد المصفوفة المراد فرزها (array) مساوية تماماً لأبعاد مصفوفة المعيار (by_array)؛ وإلا ستُرجع الدالة خطأ (#VALUE!).
-
هذه الدالة ديناميكية، أي أن النتائج تتحدث تلقائياً عند تغيير البيانات الأصلية.
مثال عملي: فرز الأسماء بناءً على العمر
لنفترض أن لدينا جدولاً يحتوي على أسماء موظفين وأعمارهم، ونريد الحصول على قائمة بالأسماء مرتبة تنازلياً حسب العمر (من الأكبر للأصغر)، دون تغيير الجدول الأصلي.
البيانات الأصلية:
| الصف | العمود A (الاسم) | العمود B (العمر) |
| 2 | باسل | 12 |
| 3 | محمد | 25 |
| 4 | رامي | 14 |
الهدف: ترتيب الأسماء في عمود جديد بناءً على الأعمار في العمود B ترتيباً تنازلياً.
صيغة المعادلة:=SORTBY(A2:A4, B2:B4, -1)
شرح المعادلة:
-
A2:A4: هي الأسماء التي نريد عرضها مرتبة.
-
B2:B4: هي الأعمار التي سنستند إليها في عملية الترتيب.
-
-1: تعني أننا نريد الترتيب تنازلياً (الأكبر عمراً أولاً).
النتيجة التي ستظهر في الجدول الجديد:
| الترتيب | الاسم (النتيجة) | العمر (المرجع) |
| 1 | محمد | 25 |
| 2 | رامي | 14 |
| 3 | باسل | 12 |
بهذه الطريقة، حصلنا على قائمة أسماء مرتبة بذكاء، ويمكن تطبيق نفس المبدأ لفرز البيانات بناءً على التواريخ، الأشهر، أو أي قيم رقمية ونصية أخرى.