Menu
flag Ar iconالعربيةdown icon

دالتا SORT وSORTBY في الاكسل: الفرز بصيغة

تعيد =SORT(A2:C7,3,-1) الجدول A2:C7 مرتبًا حسب عموده الثالث، الأكبر أولًا، وتواصل إعادة الفرز عندما تتغير البيانات. وتفرز SORTBY حسب أي نطاق، بما في ذلك عدة أعمدة وترتيب مخصص.

كل ورقة في هذه الصفحة تفاعلية: غيّر رقمًا أو صيغة وسيُعاد الحساب.

تعيد =SORT(A2:C7,3,-1) الجدول A2:C7 مرتبًا حسب عموده الثالث، المبيعات، من الأكبر إلى الأصغر. يبقى الجدول الأصلي كما هو؛ وتمتد النسخة المرتبة من خلية الصيغة وتعيد فرز نفسها عندما يتغير رقم. غيّر C7 إلى 300 فينتقل Finn إلى الأعلى.

المبيعات من الأعلى إلى الأدنى
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120CaraNorth200
3BenSouth80DanEast150
4CaraNorth200AnnNorth120
5DanEast150EveSouth95
6EveSouth95BenSouth80
7FinnNorth60FinnNorth60
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

صيغة دالة SORT

=SORT(array, [sort_index], [sort_order], [by_col])
  • array هو النطاق المراد فرزه وإرجاعه.
  • sort_index هو رقم العمود داخل array الذي يُفرز حسبه. القيمة الافتراضية 1.
  • sort_order قيمته 1 للترتيب التصاعدي (الافتراضي) أو -1 للتنازلي.
  • by_col قيمته FALSE (الافتراضية) لفرز الصفوف، وTRUE لفرز الأعمدة من اليسار إلى اليمين.

تحتاج SORT وSORTBY إلى Excel 2021 أو Excel 2024 أو Microsoft 365؛ وتعرض الإصدارات الأقدم #NAME?. وتحتوي Google Sheets على الدالتين، لكن SORT فيها تأخذ رقم عمود وTRUE أو FALSE على شكل أزواج.

يضع الترتيب التصاعدي الأرقام أولًا، ثم النص من A إلى Z، ثم FALSE وTRUE. ويُقارن النص دون اعتبار لحالة الأحرف. وتعود الخلايا الفارغة في array بالقيمة 0 في النتيجة.

الترتيب الأبجدي في الاكسل

لإعادة ترتيب قائمة في مكانها، انقر أي خلية فيها واختر بيانات > فرز من أ إلى ي (أو من ي إلى أ). وإذا كانت للقائمة أعمدة مجاورة، يفرز الاكسل الجدول كله حتى يبقى كل صف متماسكًا. واستخدم بيانات > فرز لأكثر من عمود أو لقائمة مخصصة.

للإبقاء على الترتيب الأصلي والحصول على نسخة أبجدية تتحدث بنفسها، استخدم SORT دون وسائط أخرى:

الأسماء من A إلى Z
C2
ABC
1NameA to Z
2MiaAnn
3BenBen
4ZoeCara
5AnnDan
6LeoLeo
7CaraMia
8DanZoe
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

اكتب Abe في A3 فيظهر أولًا. وتعطي =SORT(A2:A8,,-1) الترتيب من Z إلى A؛ وتتخطى الفاصلتان sort_index. ولترتيب قائمة أبجديًا دون تكرار، افرز نتيجة UNIQUE: =SORT(UNIQUE(A2:A8)) (راجع UNIQUE).

دالة SORTBY: الفرز حسب عمود لا تعيده

لا تستطيع SORT الفرز إلا حسب عمود من النطاق الذي تعيده. أما SORTBY فتأخذ مفتاح الفرز كنطاق مستقل، فيمكنك إرجاع الأسماء وحدها مرتبة حسب المبيعات:

الأسماء مرتبة حسب المبيعات
E2
ABCDE
1NameRegionSalesBy sales
2AnnNorth120Cara
3BenSouth80Dan
4CaraNorth200Ann
5DanEast150Eve
6EveSouth95Ben
7FinnNorth60Finn
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

النتيجة Cara وDan وAnn وEve وBen وFinn. والصيغة هي =SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2], ...). ويجب أن يكون لكل by_array عدد صفوف array نفسه، وإلا تعيد SORTBY الخطأ #VALUE!.

لأفضل ثلاثة، خذ الصفوف الأولى من النتيجة: تعيد =TAKE(SORTBY(A2:A7,C2:C7,-1),3) القيم Cara وDan وAnn. وتحتاج TAKE إلى Microsoft 365 أو Excel 2024؛ وفي Excel 2021 استخدم =INDEX(SORTBY(A2:A7,C2:C7,-1),SEQUENCE(3)).

الفرز حسب عدة أعمدة

أعطِ SORTBY زوجًا واحدًا من المفتاح والترتيب لكل مستوى. تفرز هذه الصيغة حسب المنطقة من A إلى Z، ثم داخل كل منطقة حسب المبيعات من الأعلى إلى الأدنى:

المنطقة من A إلى Z، ثم المبيعات من الأعلى إلى الأدنى
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120DanEast150
3BenSouth80CaraNorth200
4CaraNorth200AnnNorth120
5DanEast150FinnNorth60
6EveSouth95EveSouth95
7FinnNorth60BenSouth80
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

تأتي East أولًا، ثم صفوف North الثلاثة بالترتيب Cara (200) وAnn (120) وFinn (60)، ثم South. وتستطيع SORT فعل الشيء نفسه بمصفوفات من أرقام الأعمدة والترتيبات، وإن كانت SORTBY أسهل قراءة:

=SORT(A2:C7,{2,3},{1,-1})

الفرز بترتيب مخصص

الترتيب الأبجدي ليس دائمًا ما تريده. لفرز المناطق بالترتيب North ثم East ثم South، حوّل كل منطقة إلى موضعها في تلك القائمة بالدالة MATCH وافرز حسب المواضع:

North أولًا، ثم East، ثم South
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120AnnNorth120
3BenSouth80CaraNorth200
4CaraNorth200FinnNorth60
5DanEast150DanEast150
6EveSouth95BenSouth80
7FinnNorth60EveSouth95
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

تعيد MATCH القيمة 1 للمنطقة North، و2 للمنطقة East، و3 للمنطقة South، وتفرز SORTBY حسب هذه الأرقام. وتحافظ الصفوف ذات المفتاح نفسه على ترتيبها الأصلي، فتبقى صفوف North بالترتيب Ann وCara وFinn. والحيلة نفسها تفرز الأشهر أو أيام الأسبوع بأسمائها: اكتبها بترتيب التقويم داخل MATCH. والمنطقة غير الموجودة في القائمة تحصل على #N/A من MATCH؛ استخدم IFERROR(MATCH(B2:B7,{"North","East","South"},0),99) كمفتاح لوضع هذه الصفوف في النهاية.

تمرين: الأسماء مرتبة حسب المبيعات

دورك
E2
ABCDE
1NameRegionSalesBy sales
2AnnNorth120
3BenSouth80
4CaraNorth200
5DanEast150
6EveSouth95
7FinnNorth60
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

دورك: في E2، أعد الأسماء فقط، مرتبة حسب المبيعات من الأعلى إلى الأدنى.

دالة SORT أم زر فرز

كلاهما يفرز، لكنهما يؤديان مهمتين مختلفتين:

بيانات > فرزSORT وSORTBY
يغيّر الجدول الأصلينعملا، تذهب النتيجة إلى خلايا جديدة
يتحدث عندما تتغير البياناتلا، افرز من جديدنعم
يعمل في Excel 2019 وما قبلهنعملا
يمكن تعديل النتيجة خلية خليةنعملا، إنها صيغة واحدة
يمكن وضعه داخل صيغة أخرىلانعم، مثل =TAKE(SORT(A2:C7,3,-1),3)

استخدم الزر لترتيب جدول مرة واحدة. واستخدم الدالة لتقرير أو لوحة معلومات يجب أن تبقى مرتبة بينما تتغير البيانات. وإذا لم تكن الخلايا تحت الصيغة أو على يمينها فارغة، تعرض الدالة #SPILL! بدلًا من القائمة المرتبة؛ امسحها فتظهر (راجع خطأ #SPILL!).

الأسئلة الشائعة

كيف أفرز البيانات بصيغة في الاكسل؟

استخدم SORT: تعيد =SORT(A2:C7,3,-1) النطاق A2:C7 مرتبًا حسب عموده الثالث، الأكبر أولًا. واحذف الوسيطين الأخيرين، =SORT(A2:A8)، للفرز حسب العمود الأول من الأصغر إلى الأكبر، أو من A إلى Z للنص.

ما الفرق بين SORT وSORTBY؟

تفرز SORT حسب عمود من النطاق الذي تعيده، يُختار برقمه. وتفرز SORTBY حسب أي نطاق تعطيه لها، حتى لو لم تُعِده: تعيد =SORTBY(A2:A7,C2:C7,-1) الأسماء فقط، مرتبة حسب المبيعات. وتأخذ SORTBY أيضًا عدة مفاتيح فرز مباشرة.

كيف أرتب قائمة أبجديًا في الاكسل؟

حدد خلية في القائمة وانقر بيانات > فرز من أ إلى ي لإعادة ترتيبها في مكانها. وللإبقاء على الأصل والحصول على نسخة مرتبة تتحدث، اكتب =SORT(A2:A8) في خلية فارغة؛ واستخدم =SORT(A2:A8,,-1) للترتيب من Z إلى A.

كيف أفرز حسب عمودين بصيغة؟

أعطِ SORTBY زوجين من المفتاح والترتيب: تفرز =SORTBY(A2:C7,B2:B7,1,C2:C7,-1) حسب المنطقة من A إلى Z، وداخل كل منطقة حسب المبيعات من الأعلى إلى الأدنى.

ما إصدارات الاكسل التي تحتوي على SORT وSORTBY؟

Excel 2021 وExcel 2024 وMicrosoft 365. وفي Excel 2019 وما قبله تعرضان #NAME?، ويكون الفرز بزر فرز في علامة التبويب بيانات.

رسم توضيحي للغات البرمجة في Coddy

تعلّم البرمجة مع Coddy

ابدأ الآن