مقدّمة
تُعَدّ الدوال في Microsoft Excel العمودَ الفقري لأيّ عمل تحليلي أو مالي أو إحصائي يُجرى داخل جداول البيانات؛ فهي الأدوات التي تسمح بتحويل الأرقام الخامّ إلى معلومات ذات معنى يمكن الاعتماد عليها في اتخاذ القرار. منذ الإصدار الأوّل للبرنامج في منتصف ثمانينيّات القرن الماضي، تطوّرت مكتبة الدوال بشكلٍ هائل، حتّى تجاوزت اليوم خمس مئة دالّة موزَّعة على فئات متنوّعة تشمل الرياضيات والإحصاء، التحليل المنطقي، إدارة النصوص، البحث والاسترجاع، تحليل البيانات الديناميكي، الزمن والتقويم، المالية، الهندسة، المعلومات، قواعد البيانات، بل وتمتدّ إلى إمكانيّة إنشاء دوالّ مخصَّصة عبر VBA أو LAMBDA.
يستهدف هذا المقال التقني الموسَّع المهنيّين والباحثين والطلبة الذين يطمحون إلى فهمٍ معمَّق للدوال الأهمّ، مع التركيز على التطبيقات العملية، ونصائح الأداء، وأفضل الممارسات في التكامل بين الدوال. يأتي ترتيب الأقسام وفق منطق تصاعدي يبدأ بالأساسيات ثم ينتقل إلى المستويات المتقدّمة، متبوعاً بدليل لتحسين الأداء، وقسم خاصّ بالدوال المخصَّصة، ثم خاتمة وخريطة بالمراجع.
-
شرح كورس CCNP SP: دليل شامل ومفصل16/11/2024
-
مراحل TCP / IP15/11/2023
-
مجال التصادم (Collision Domain)11/11/2024
بنية الدوال في إكسل
- المعاملات (Arguments)
- يمكن أن تكون قيماً ثابتة، مراجع خلايا، أو نطاقات.
- يُفصل بين المعاملات بفواصل (،) في الإصدارات العربية أو فواصل عليا (,) في الواجهة الإنجليزية.
- قيمة الإرجاع (Return Value)
- قد تكون رقمية، نصّية، منطقية، مصفوفة، أو خطأً.
- تقييم داخل الآلة الافتراضية لإكسل
- تُقيَّم الدالة من اليمين إلى اليسار بحسب الأولوية، وتُخزَّن نتائجها مؤقتاً في الذاكرة الداخليّة لوحدة الحساب.
جدول مختصر لأبرز الدوال حسب الفئة
الفئة | الدالة | الاستخدام الأساسي | ملاحظات الأداء |
---|---|---|---|
رياضية | SUM |
جمع نطاق أو قيم متفرقة | أسرع من الجمع اليدويّ بوسيط الجمع + |
إحصائية | AVERAGE |
المتوسط الحسابي | استخدِم AVERAGEIFS للتصفية المشروطة |
منطقية | IF |
اختبار شرط وإرجاع نتيجتين | بدِّل إلى IFS لقراءة أوضح في الشروط المتعدّدة |
بحث | XLOOKUP |
بحث عمودي أو أفقي ديناميكي | يحلّ محلّ VLOOKUP وHLOOKUP بمرونة أعلى |
نصوص | TEXTSPLIT |
تقسيم السلسلة وفق محدِّد | متوفر في Microsoft 365 |
تاريخ | DATEDIF |
فارق زمني بين تاريخين | مخفية من الواجهة لكنها مدعومة |
ديناميكية | FILTER |
تصفية نطاق وفق شرط | تُرجِع مصفوفة متدفّقة تحتاج مساحة خالية |
مالية | XIRR |
العائد الداخلي غير الدوري | يتطلّب تقديراً أولياً لتحسين سرعة التقارب |
تنويه: سيُناقَش كلٍّ من هذه الدوال مع أمثلة مفصّلة في الأقسام اللاحقة.
القسم الأوّل: الدوال الرياضيّة والحسابية
1. SUM
, SUMIF
, SUMIFS
- الاستخدام التقليدي:
=SUM(B2:B1000)
- التجميع المشروط المتعدّد:
=SUMIFS(C2:C1000, A2:A1000, ">2025-01-01", B2:B1000, "مشروع أ")
- التحسين: اجعل النطاقات متطابقة الطول لتجنّب إعادة الحساب الجزئي التي تؤخّر الأداء.
2. SUBTOTAL
وAGGREGATE
- مفيدة لتجاهل الصفوف المُخفاة أو القيم الخطأ.
- مثال لحساب المتوسط مع استثناء الأخطاء والخلايا المصفّاة:
=AGGREGATE(1, 6, D2:D500)
3. الدوال الهندسية المدمجة (SIN
, COS
, TAN
, …)، مع استخدام زائد في النمذجة الهندسية والفيزياء.
القسم الثاني: الدوال الإحصائيّة المتقدّمة
MEDIAN
, MODE.MULT
, PERCENTILE.EXC
- يمنح
MODE.MULT
جميع القيم الأكثر تكراراً كمصفوفة متدفّقة. - احذر من اختلاط النطاقات غير العددية؛ استعمل
IFERROR
لعزل السلاسل النصيّة.
COUNTIFS
, COUNTUNIQUE
, UNIQUE
- عدّ فريد مشروط:
=COUNTA(UNIQUE(FILTER(B2:B1000, C2:C1000="قيد التنفيذ")))
القسم الثالث: الدوال المنطقيّة وبناء القرارات
IF
, IFS
, SWITCH
- تُفضَّل
IFS
على التعشيش المتكرر لـIF
لسهولة القراءة. SWITCH
مثالية حين تكون المقارنة بقيمة واحدة تتفرّع عنها نتائج عدّة.
الدوال المنطقية القصيرة (AND
, OR
, NOT
)
- تُستخدم مع الدوال الشرطيّة لتبسيط قواعد التحقق.
=IF(AND(G2>=0, G2<=100), "نطاق مقبول", "خارج النطاق")
القسم الرابع: دوال البحث والاسترجاع
1. VLOOKUP
وHLOOKUP
(تقليدية)
- قيودها تشمل ضرورة وضع مفتاح البحث في العمود الأيسر للنطاق واسترجاع قيمة إلى اليمين فقط.
2. INDEX
+ MATCH
- تركيبة مرنة تسمح بالبحث يميناً ويساراً.
=INDEX(D2:D1000, MATCH("منتج س", B2:B1000, 0))
3. XLOOKUP
(الأحدث)
- بنية أسهل، تدعم الإرجاع المتعدّد، والقيم الافتراضية عند عدم التطابق.
=XLOOKUP(E2, A2:A1000, C2:C1000, "غير موجود", 0)
4. XMATCH
- يُرجع موقع العنصر بدقة، ويدعم أنماط مطابقة معظمها لمطابقة البدل.
القسم الخامس: دوال النصوص وإدارة السلاسل
1. الأساسيات (LEFT
, RIGHT
, MID
, LEN
, FIND
)
- تصلح لمعالجة رموز المنتجات أو الأكواد المجمّعة.
2. الدوال الديناميكية الجديدة (TEXTSPLIT
, TEXTAFTER
, TEXTBEFORE
)
- تقسيم مفصَّل دون الحاجة إلى مصفوفة خطوات مساعدة.
=TEXTSPLIT(A2, ",")
3. صياغة النصّ (TEXT
, CONCAT
, TEXTJOIN
)
- مثال لتجميع أسمـاء موظفين مفصولة بفاصلة منقوطة:
=TEXTJOIN("؛ ", TRUE, FILTER(B2:B100, C2:C100="عَمّان"))
القسم السادس: دوال التاريخ والوقت
1. التحويل وصياغة التواريخ
DATE
,TIME
,DATEVALUE
,TIMEVALUE
لإعادة بناء القيم من نصوص.
2. حساب الفروق الزمنية
DATEDIF
(غير موثّقة في الشريط):=DATEDIF(A2, B2, "y") & " سنة " & DATEDIF(A2, B2, "ym") & " شهر"
3. دوال الجداول الزمنية (EOMONTH
, WORKDAY.INTL
, NETWORKDAYS
)
- مثالية لتوقّع تواريخ الاستحقاق مع استبعاد العطل الأسبوعية أو قائمة عُطل مخصَّصة.
القسم السابع: الدوال الماليّة
1. تقييم الاستثمار
NPV
,XNPV
,IRR
,XIRR
.- التفضيل لنسخ
X
في حال كانت التدفقات النقديّة غير منتظمة.
2. حسابات القروض والإقساط
PMT
,IPMT
,PPMT
,CUMIPMT
.- مثال لحساب القسط الشهري:
=PMT(5%/12, 60, -150000)
3. تحليل الحساسيّة باستخدام جداول البيانات (Data Tables) المرتبطة بالدوال الماليّة لقياس تأثير تغيّر الفائدة أو مدّة السداد.
القسم الثامن: الدوال الديناميكيّة ومصفوفات التدفق
1. SEQUENCE
, RANDARRAY
- إنشاء مصفوفات تلقائية لعمليات المحاكاة.
2. FILTER
, SORT
, UNIQUE
, SORTBY
- محرك ديناميكي للبيانات الحيّة، يتكيّف مع التغييرات الفوريّة في المصدر.
3. LET
, LAMBDA
LET
يحسّن الأداء بتخزين النتائج الوسيطة.=LET(x, FILTER(A2:A100, B2:B100="فعال"), AVERAGE(x))
LAMBDA
يفتح الباب لبناء دوال مخصَّصة بدون VBA، قابلة لإعادة الاستخدام عبر الأسماء المعرّفة (Name Manager).
القسم التاسع: دوال قواعد البيانات
1. مجموعة DSUM
, DAVERAGE
, DCOUNT
- تعتمد على نطاق معرَّف كجدول بيانات، ومعايير مفصولة في نطاق آخر.
2. المقارنة مع دوال SUMIFS
الحديثة
- رغم أنّ
DSUM
أقدم، فإنّSUMIFS
أكثر وضوحاً وأسهل صيانة، لكنها لا تقبل معايير مرنة بحجم نصّ مخصص متعدد الصفوف كما في الدوال القاعديّة.
القسم العاشر: نصائح لدمج الدوال وتحسين الأداء
- تجنّب المراجع المتعرّجة: استبدل
A:A
بنطاق محدّد مثلA2:A10000
. - استخدام معادلات صفائف فعليّة باعتدال: الدوال الديناميكية الجديد أخفّ عبئاً على المعالج من صفائف Ctrl + Shift + Enter القديمة.
- تقليل تكرار الحساب باستخدام
LET
. - تفعيل وضع الحساب اليدوي عند العمل على نماذج ضخمة ثم إعادة الحساب Ctrl + Alt + F9.
القسم الحادي عشر: إنشاء دوال مخصَّصة
VBA UDF
- مثال لدالة تحويل الرقم إلى حروف عربية (تفقيط):
Function ToArabicText(Value As Double) As String ' كود مختصر للتوضيح End Function
دوال LAMBDA
- تحويل الدالة أعلاه إلى صيغة LAMBDA مع متغيّرات مساعدة باستخدام
LET
.
خاتمة
إنّ إتقان الدوال المحوريّة في Excel يمثّل نقطة تحوّل لأي مستخدم يسعى إلى ترقية مهاراته من مستوى استعمالٍ سطحيّ إلى مستوى تحليليّ احترافيّ. لقد استعرض هذا المقال بعمق البنية الأساسية للدوال، الفئات الرئيسة، الأمثلة التطبيقية، إضافةً إلى نصائح للأداء والتطوير الذاتي عبر الدوال المخصّصة. ومع توالي تحديثات Microsoft 365 التي أطلقت موجة الدوال الديناميكية، أصبح بإمكان المستخدم دمج التحليل الفوريّ مع بنية بيانات حيّة دون الحاجة إلى أدوات خارجية.
المراجع
- Microsoft Docs – Excel Functions (2025 Edition)
- Walkenbach, J. Excel Bible (Wiley, 2022).
- Bolstad, P. Financial Modeling and Valuation with Excel (O’Reilly, 2023).
- Hamilton, S. Advanced Excel for Data Analysis (Apress, 2024).