📊 شرح دالة SMALL في الإكسيل

فيما يلي دليل عملي ومتكامل لدالة SMALL في الإكسيل: ماذا تفعل، كيف تتعامل مع التكرارات والأخطاء، أنماط الاستخدام الشائعة (بما في ذلك شرطية وإيجاد عناصر مرتبطة)، صيغ حديثة (Excel 365) وصيغ قديمة، ونصائح إنتاجية.

ما وظيفة دالة SMALL (تعريف مختصر)

SMALL(array, k) تعيد العنصر رقم k من الأصغر في array.

  • k = 1 → أصغر قيمة.
  • k = 2 → ثاني أصغر قيمة، وهكذا.

الخلايا غير الرقمية داخل النطاق تُتجاهل. إذا كان k أكبر من عدد القيم الرقمية، سترجع الدالة #NUM!.

الصيغة

SMALL(array, k)
  • array — نطاق أو مصفوفة تحتوي أرقاماً (قد تتضمن فراغات أو نص؛ النص يُتجاهَل).
  • k — عدد صحيح موجب يحدد أي أصغر قيمة تريد إرجاعها.

ملاحظات:

  • يجب أن يكون k ≥ 1 وبصيغة عدد صحيح. إذا كان k غير صحيح عشري، Excel يقتطع (truncates) إلى عدد صحيح.
  • SMALL ليست دالة متقلبة (non-volatile) وتعمل في نسخ Excel الحديثة والقديمة.

أمثلة رقمية بسيطة

بافتراض النطاق A1:A5 يحتوي {4, 7, 2, 9, 2}:

  • =SMALL(A1:A5, 1)2 (الأصغر)
  • =SMALL(A1:A5, 2)2 (الثاني الأصغر — لاحظ التكرار)
  • =SMALL(A1:A5, 3)4
  • =SMALL(A1:A5, 6)#NUM! (لدينا 5 أرقام فقط)

مثال عملي مع جدول صغير

جدول نموذجي (A2:B7):

A (الاسم)B (النتيجة)
Omar87
Salma72
Hani91
Rana72
Karim65
Dina78

أ) إيجاد ثاني أصغر نتيجة

=SMALL(B2:B7, 2)72 (لأن ترتيب القيم تصاعدياً: 65,72,72,78,87,91)

ب) إعادة الاسم المرتبط بالثاني أصغر نتيجة

الطريقة البسيطة (تعيد أول اسم يطابق النتيجة):

=INDEX(A2:A7, MATCH(SMALL(B2:B7,2), B2:B7, 0))

النتيجة → Salma (أول صف حاصل على 72).
تنبيه: عند وجود أكثر من شخص بنفس النتيجة، MATCH(...,0) يعيد أول مطابق فقط.

الحصول على كل الأسماء المرتبطة بقيمة معينة (Excel 365 / 2021)

لإرجاع كل الأسماء التي تساوي ثاني أصغر نتيجة (مصفوفة ديناميكية):

=FILTER(A2:A7, B2:B7 = SMALL(B2:B7, 2))

سيُعيد {"Salma"; "Rana"} (ينتشر Spill). في إصدارات أقدم استعمل صيغة مصفوفة أو عمود مساعد.

دالة SMALL شرطية (مع معيار)

Excel القديم (قبل 365) — صيغة مصفوفة

لإيجاد أصغر نتيجة حيث تكون النتيجة > 70:

=SMALL(IF(B2:B7>70, B2:B7), 1)

أدخلها بضغط Ctrl+Shift+Enter في الإصدارات القديمة.

Excel 365 — صيغة ديناميكية (بدون CSE)

=SMALL(FILTER(B2:B7, B2:B7>70), 1)

القيمة k-الأصغر الفريدة (تجاهل التكرارات)

لو تحتاج k-الأصغر من بين القيم الفريدة (تجاهل التكرارات):

  • Excel 365:=SMALL(UNIQUE(B2:B7), k)
  • Excel القديم:
    • استخدم عمود مساعد لاستخراج القيم الفريدة، أو صيغة مصفوفة مع FREQUENCY/MATCH (أكثر تعقيداً).

مثال: القيم {65,72,72,78,87,91}
SMALL(UNIQUE(...),2)72 (قائمة فريدة مرتبة: 65,72,78,87,91)

إرجاع السطر المرتبط بالقيمة k-الأصغر عند وجود تكرارات

إذا كانت القيم متكررة وتريد الحصول على الاسم بالترتيب (مثلاً: الحصول على ثاني شخص يملك القيمة k-الأصغر)، استخدم تقنيات فهرسة مرتبة.

Excel 365 (واضح وقوي)

للحصول على الأسماء مرتبة حسب النتائج تصاعدياً:

=SORTBY(A2:A7, B2:B7, 1)

ثم خذ الصف الـn من النتيجة المنقولة، مثلاً الاسم الثاني:

=INDEX(SORTBY(A2:A7, B2:B7, 1), 2)

Excel القديم (صيغة خلوية مصفوفية تعيد الاسم الذي يطابق k-الأصغر، ويمكن تكييفها لاسترجاع المطابق n-الأول)

لإيجاد الاسم الذي يساوي k-الأصغر وإرجاع المطابق الأول:

=INDEX(A2:A7, SMALL(IF(B2:B7=SMALL(B2:B7,k), ROW(B2:B7)-ROW(B2)+1), 1))

غير الرقم الأخير (1) إلى 2 أو 3 للحصول على المطابق الثاني أو الثالث. أدخل بصيغة مصفوفة (Ctrl+Shift+Enter).

(في السيناريوهات القديمة، أعمدة المساعدة غالباً أبسط وأسرع.)

استخدام SMALL لإنتاج قائمة بأصغر N قيم (انتشار عمودي)

Excel 365

للحصول على أصغر 3 قيم من B2:B7:

=SMALL(B2:B7, SEQUENCE(3))

هذا ينتج نطاقاً منشوراً (spill) بثلاث قيم.

أو استخدم:

=TAKE(SORT(B2:B7), 3)

أو =SORT(B2:B7,1,1) ثم TAKE.

Excel القديم

صيغة مصفوفة عبر ثلاث خلايا:

=SMALL(B2:B7, ROW(1:3))

أدخلها كصيغة مصفوفة (Ctrl+Shift+Enter) عبر ثلاث خلايا عمودية.

معالجة الأخطاء والصيغ الدفاعية

  • إذا كان k > عدد القيم الرقمية → تظهر #NUM!. تجنب ذلك باستخدام:=IFERROR(SMALL(range,k), "N/A") أو=IF(k>COUNT(range),"N/A", SMALL(range,k))
  • SMALL تتجاهل النص، لكن إذا كان النطاق يحتوي على خلايا نصية وتتوقع أرقاماً، تحقق باستخدام COUNT(range) أو ISNUMBER ونظف البيانات.

نصائح الأداء والتصميم

  • حوّل النطاقات إلى Excel Tables (جداول) واستخدم المراجع المهيكلة — الصيغ تصبح أوضح وتتوسع تلقائياً.
  • تجنب استخدام نطاقات كبيرة جداً مثل A:A بدون داعٍ — استخدم A2:A1000 أو عمود جدول.
  • للحسابات المتكررة (مثلاً: top N عبر معايير متعددة)، استخدم أعمدة مساعدة لحساب العلامات أو القيم المستخرجة لتقليل عبء الصيغ المصفوفية.
  • في Excel 365، فضّل استخدام FILTER, SORT, UNIQUE, TAKE, SEQUENCE, LET, وXLOOKUP لأنها تبسط المنطق وتتجنب احتياج صيغ المصفوفة التقليدية.
  • استخدم LET لتسمية مصفوفات وسيطة لتحسين قراءة الصيغ وربما أداء طفيف:=LET(scores, B2:B7, k, 3, SMALL(scores,k))

الأخطاء الشائعة (وكيف تتجنبها)

  • مشكلة: MATCH(SMALL(...),range,0) يعيد أول سطر فقط عند وجود تكرارات.
    الحل: استخدم FILTER أو SORTBY في Excel 365، أو عمود مساعد/منطق مصفوفة في النسخ القديمة.
  • مشكلة: نسيان إدخال صيغ المصفوفة بـ Ctrl+Shift+Enter في Excel القديم.
    الحل: استخدم أعمدة مساعدة أو ترقية إلى Excel 365.
  • مشكلة: تمرير خلايا غير رقمية عن غير قصد.
    الحل: تحقق بـ COUNT أو ISNUMBER ونظف/حول البيانات حسب الحاجة.

وصفات مفيدة — مرجع سريع

  1. القيمة k-الأصغر=SMALL(range, k)
  2. k-الأصغر مع شرط (Excel 365)=SMALL(FILTER(value_range, condition_range = condition), k)
  3. k-الأصغر الفريدة (Excel 365)=SMALL(UNIQUE(value_range), k)
  4. إرجاع الاسم للقيمة k-الأصغر (بسيط)=INDEX(name_range, MATCH(SMALL(score_range, k), score_range, 0))
  5. قائمة N أصغر قيمة (Excel 365)=SMALL(range, SEQUENCE(N))
  6. حماية من #NUM!=IF(COUNT(range) < k, "N/A", SMALL(range,k))

مثال عملي مختصر خطوة بخطوة

البيانات B2:B6 = {5, 3, 8, 1, 6}

  • =SMALL(B2:B6,1) = 1
  • =SMALL(B2:B6,2) = 3
  • =SMALL(B2:B6,5) = 8
  • =SMALL(B2:B6,6)#NUM! (لدينا 5 قيَم فقط)

إذا أردت أصغر 3 قيم مرتبة:

  • =SMALL(B2:B6, ROW(1:3)) (صيغة مصفوفة في الإصدارات القديمة) → {1;3;5}

شاهد فيديو استخدام دالة SMALLعلي قناتنا أوفيس إيدج

المراجع

شرح دالة SMALL من موقع مايكروسوفت أفيس

خاتمة — متى تستخدم دالة SMALL

استخدم دالة SMALL عندما تحتاج إلى استخراج القيم ذات الترتيب k-الأصغر من مجموعة بيانات. هي مناسبة للمهام البسيطة. لمهام شرطية أو متعددة النتائج أو عندما تحتاج القيم الفريدة اجمع SMALL مع FILTER, UNIQUE, SORTBY, INDEX/MATCH أو استخدم أعمدة مساعدة — خصوصاً في الإصدارات القديمة من Excel.

إينار ليرنhttp://inarlearn.com
إنار ليرن منصة تعليمية مجانية تُعنى بتبسيط المعرفة وتمكين المتعلمين من جميع المستويات. توفر المنصة دروسًا تعليمية عالية الجودة، وأدلة عملية، ودورات تدريبية تركز على المهارات في مجموعة واسعة من المواضيع، بما في ذلك التكنولوجيا، والبرمجيات، وأدوات الإنتاجية، والمهارات الرقمية.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Exit mobile version