لا يقتصر استخدام Microsoft Excel على الجداول والحسابات وإدخال البيانات، إذ يمكن تحويله إلى أداة قادرة على بناء برامج وأدوات تفاعلية تؤدي مهامًا عملية كاملة. وباستخدام الدوال والصيغ والجداول والنماذج وأدوات الأتمتة المتاحة في Excel، يمكن إنشاء حلول تتجاوز بكثير فكرة جدول البيانات التقليدي.
![]()
يمكنك مثلًا بناء أدوات لإدارة البيانات أو متابعة المهام أو إجراء الحسابات المتخصصة، مع واجهات تفاعلية تجعل استخدامها أقرب إلى البرامج المستقلة. وتزداد إمكانات Excel عندما تجمع بين الدوال المتقدمة والتنسيق الشرطي والقوائم المنسدلة ووحدات الماكرو عند الحاجة.
في هذا المقال، نستعرض 3 برامج حقيقية يمكن بناؤها بالكامل داخل Excel، مع توضيح نوع المهام التي يمكن تنفيذها وكيف يمكن تحويل ملف Excel عادي إلى أداة عملية قابلة للاستخدام اليومي.
عادةً ما يُصنَّف برنامج Excel ضمن فئة برامج الجداول الحسابية، إلا أن صيغه ووحدات الماكرو (Macros) الخاصة به تتيح بناء برمجيات تتجاوز بكثير مجرد إعداد الميزانيات وجداول البيانات المحورية (Pivot Tables). وسواء تعلق الأمر بأدوات الجدولة أو الألعاب أو لوحات المعلومات المالية، فإن هذه الأنواع الثلاثة من البرامج تُظهر مدى الإمكانات التي يمكن أن يوفرها “مصنف العمل” (Workbook) قبل الحاجة إلى تطبيق مستقل.
محركات جدولة المشاريع
يمكن لبرنامج Excel حساب الجداول الزمنية، وليس مجرد رسمها.
![]()
عادةً ما يكون مخطط “غانت” (Gantt chart) في Excel مجرد جدول تواريخ مُنسّق بخلايا ملونة؛ وهذا يعني أن أي تأخير في مهمة ما يضطر شخصاً ما لتعديل تواريخ المهام اللاحقة يدوياً. في المقابل، تعكس محركات الجدولة هذا الأسلوب، إذ تتيح للمصنف (workbook) استنتاج التواريخ بناءً على المنطق الذي يربط بين المهام. ولا تتطلب النسخة البسيطة من هذه المحركات أكثر من استخدام دالة `WORKDAY`. يعتمد الدرس التعليمي المؤرشف من مايكروسوفت حول بناء الجداول الزمنية على تحديد تاريخ الانتهاء انطلاقاً من تاريخ البدء وعدد أيام العمل، ثم ترحيل تاريخ الانتهاء هذا إلى الصف التالي؛ وبذلك تتغير الخطة تلقائياً عند تعديل أي خطوة مبكرة، بينما تشترك الخطوات المتوازية في تاريخ بدء واحد.
وعلى الطرف الآخر من هذا الطيف، نجد مشروع “ProjectEngine”، وهو مشروع مفتوح المصدر لبرنامج Excel وVBA صادر بموجب رخصة GPL-3.0. يدعم هذا المشروع أنواعاً متعددة من العلاقات بين المهام (مثل: من الانتهاء إلى البدء، ومن البدء إلى البدء، ومن الانتهاء إلى الانتهاء)، وفترات التأخير (سواء كانت موجبة أو سالبة)، والمهام السابقة المتعددة، وجداول العمل المكونة من خمسة أو ستة أيام. وبناءً على هذه المدخلات، يقوم النظام بحساب المسار الحرج، والمسار الأطول، وهامش السماحية (سواء الكلي أو الحر)، بينما تقوم وحدة تشخيص المشكلات بتصنيف الأخطاء – مثل حلقات الاعتماد الدائري – إلى رسائل معلوماتية، أو تحذيرية، أو رسائل توقف. يمكن للمستخدمين سحب مهمة ما عبر مخطط “غانت” ومراقبة تأثير التغيير على الخطة بأكملها، أو بناء سيناريوهات افتراضية شاملة (ماذا لو…) واعتماد السيناريو الأنسب. ونظراً لأن لوحة المعلومات ومنحنى “S-curve” يستمدان بياناتهما من نفس النتائج المحسوبة، فلا يمكن للتقارير أن تختلف – دون ملاحظة – عن الجدول الزمني الفعلي.
يأتي هذا المشروع مع حدود واقعية؛ إذ يوضح مطوره أنه لا يهدف إلى استبدال برامج مثل Microsoft Project أو Primavera P6 – التي تلبي احتياجات أوسع تتعلق بالمؤسسات والموارد وإدارة المحافظ – بل يستهدف الفرق التي تحتاج إلى البقاء ضمن بيئة Excel. كما أنه يُطرح بصيغة مصنف Excel يدعم وحدات الماكرو (.xlsm)، مما يتطلب السماح بتشغيل هذه الوحدات البرمجية. ومع ذلك، يثبت المشروع حقيقة أوسع: وهي أنه باستخدام منطق الاعتماد بين المهام، وجداول العمل، وطبقة حسابية دقيقة ومنظمة، يمكن لجدول البيانات أن يعمل كبرنامج تخطيط حقيقي ومتكامل.
ألعاب متكاملة الميزات
يمكن للمعادلات وحدها تشغيل لعبة قابلة للعب


يحتوي برنامج Excel بالفعل على معظم العناصر التي تحتاجها اللعبة البسيطة: شبكة تعمل كلوحة لعب، وخلايا تخزن حالة اللعبة، وصيغ تطبق القواعد، ولغة برمجة (Macros) تستجيب للمدخلات. يمكنك ضبط أحجام الأعمدة والصفوف لتظهر الخلايا مربعة الشكل، فتصبح كل خلية بمثابة مربع أو قطعة لعب؛ كما تتيح لك ألوان التعبئة أو التنسيق الشرطي تلوين لوحة اللعب. وتتولى الصيغ مهام الحسابات والمتابعة، مثل استخدام دالة COUNTIF عبر الصف للتحقق من الفوز أو دالة SUM لتسجيل النقاط، بينما يمكن تخصيص ورقة عمل مخفية لتخزين مستوى اللعبة وجدول أعلى النتائج بحيث تظل هذه البيانات محفوظة عند حفظ ملف العمل.
يعتمد حجم استخدام لغة VBA على نوع اللعبة؛ فالألعاب التي تعتمد على تبادل الأدوار -مثل Minesweeper أو Sudoku أو Tic-tac-toe أو Battleship- تتوافق بشكل طبيعي مع أحداث ورقة العمل (worksheet events)؛ إذ يمكن لبرنامج Excel تشغيل ماكرو (macro) عند تحديد خلية أو النقر المزدوج عليها أو تغيير محتواها، كما يمكن التحقق من القواعد باستخدام الصيغ أو إجراء برمجي (روتين) قصير. أما الألعاب التي تعمل في الوقت الفعلي -مثل لعبة Snake- فتتطلب “حلقة تشغيل للعبة” (game loop)، وعادةً ما يبنيها المطورون باستخدام إجراء توقيت مثل `Application.OnTime` أو حلقة تكرارية تتيح للنظام استعادة التحكم مؤقتاً باستخدام الأمر `DoEvents`.
يمكن استخدام `Application.OnKey` لربط مفاتيح لوحة المفاتيح بإجراءات الماكرو للتحكم في الحركة، بينما توفر دالة `RANDBETWEEN` أو دالة `Rnd` في VBA عنصر العشوائية اللازم لظهور الطعام، أو خلط أوراق اللعب، أو توزيع الألغام.
يتطلب الجانب المتعلق بالأداء وجودة المظهر قدراً كبيراً من الاهتمام؛ فإيقاف تحديث الشاشة أثناء إعادة رسم لوحة اللعب يمنع حدوث وميض مزعج، كما أن كتابة مصفوفة كاملة من القيم في نطاق معين دفعة واحدة يُعد أسرع بكثير من تحديث الخلايا واحدة تلو الأخرى. ومع ذلك، هناك بعض الاعتبارات والمقايضات؛ إذ يجب حفظ ملف العمل بصيغة تدعم الماكرو (`.xlsm`)، ويجب السماح بتشغيل الماكرو، كما أن إصدار Excel المخصص للويب لا يدعم تشغيل ماكرو VBA. ورغم أن اللعبة المعتمدة على الخلايا لن تبدو أبداً بمستوى الألعاب التجارية الاحترافية، إلا أنه من الممكن تماماً إنشاء لعبة فعالة وقابلة لإعادة اللعب تتضمن نظاماً لتسجيل النقاط ومستويات متعددة، كما أنها تمثل وسيلة ممتازة وغير تقليدية لتعلم لغة VBA. وبشكل عام، إنها تجربة رائعة وممتعة.
أدوات تتبع البيانات المالية
تحويل سجل البيانات المالية إلى لوحة معلومات (Dashboard) باستخدام بيانات السوق
![]()
يُعد برنامج تتبع الشؤون المالية الشخصية أسهل البرامج التي يمكنك إنشاؤها في Excel، ولا يتطلب استخدام وحدات الماكرو (Macros). يمكنك تنزيل نموذج جاهز —وهذا ما فعلته أنا— ولكن حتى لو لم تفعل ذلك، فمن السهل جداً إعداد واحد بنفسك. يكمن الأساس في سجل للمعاملات يُحفظ كجدول في Excel، حيث يخصص صف واحد لكل عملية شراء أو دفع، مع أعمدة مخصصة للتاريخ والوصف والفئة والمبلغ. ونظراً لأن الجداول تتوسع تلقائياً عند إضافة صفوف جديدة، فإن جميع الصيغ والمخططات المرتبطة بها تتحدث تلقائياً. وتساعد القائمة المنسدلة للفئات —التي يتم إنشاؤها باستخدام ميزة “التحقق من صحة البيانات” (Data Validation)— في الحفاظ على اتساق المدخلات؛ وهو أمر بالغ الأهمية لأن أي خطأ مطبعي (مثل كتابة “Grocery” بدلاً من “Groceries”) قد يؤدي إلى تقسيم فئة إنفاق واحدة إلى فئتين منفصلتين.
وتعمل ورقة عمل ثانية على تحويل هذا السجل إلى ميزانية؛ حيث يتم إدراج كل فئة مع تحديد حد أقصى للإنفاق الشهري، ثم استخدام دالة SUMIFS لجمع المعاملات التي تطابق الفئة والشهر، وطرح الناتج من الحد الأقصى لمعرفة المبلغ المتبقي. ويمكن استخدام “التنسيق الشرطي” (Conditional Formatting) لتلوين الصف باللون الأحمر بمجرد تجاوز الإنفاق للحد المسموح به، مما يجعل المشكلات واضحة بمجرد النظر. كما يوفر “الجدول المحوري” (PivotTable) وسيلة أسرع للحصول على الملخص ذاته، إذ يجمع بيانات الإنفاق حسب الفئة والشهر، وإن كان يتطلب التحديث يدوياً بعد إضافة مدخلات جديدة. وتكتمل لوحة المعلومات بإضافة مخططات في ورقة الملخص، مثل المخطط العمودي للإنفاق الشهري أو المخطط الدائري الذي يوضح حصة كل فئة من إجمالي الإنفاق.
ويمكن تطوير ملف العمل نفسه في اتجاهات مفيدة أخرى؛ إذ يمكنك استيراد بيانات البنك بتنسيق CSV عبر أداة Power Query، التي تتيح تنظيف البيانات وإضافة كشوفات جديدة دون الحاجة لإعادة كتابتها يدوياً. وفيما يتعلق بأهداف الادخار، يمكن حساب المبلغ المستهدف بقسمته على عدد الأشهر المتبقية، كما تتيح دالة PMT حساب قيمة الدفعات الدورية للقروض بناءً على سعر الفائدة ومدة القرض والرصيد المتبقي، مما يساعد في المقارنة بين خطط السداد المختلفة. وتظل القيود هنا عملية وليست تقنية؛ فإدخال البيانات يتطلب انضباطاً، وقواعد تصنيف الفئات تحتاج إلى مراجعة دورية، كما أن الملف الذي يحتوي على سجلات مالية يستحق الحماية بكلمة مرور والاحتفاظ بنسخ احتياطية منه. ومع ذلك، فإن الحفاظ على بساطة النظام يضمن الحصول على صورة واضحة للتدفق النقدي الشهري.
يمكن لبرنامج Excel استضافة تطبيقات عملية وفعالة
تُظهر نماذج مثل جداول المواعيد والألعاب وأدوات تتبع الشؤون المالية قدرة Excel على أداء مهام عادةً ما تُوكل إلى برمجيات متخصصة. ورغم أن لكل منها قيوداً تتعلق بالسرعة أو النطاق أو التراخيص، إلا أنها جميعاً تعمل داخل بيئة مألوفة (ملف العمل). ويمكن لأي شخص لديه فضول لاستكشاف الإمكانات القصوى لهذه المنصة أن يبدأ بأي من هذه النماذج ويتعلم بسرعة.
يثبت Excel أنه قادر على تقديم أكثر بكثير من الجداول والحسابات التقليدية، إذ يمكن باستخدام أدواته المختلفة إنشاء برامج وأدوات تفاعلية تلبي احتياجات حقيقية. وقد يكون الحل الذي تحتاج إليه موجودًا داخل Excel بالفعل دون الحاجة إلى تطوير تطبيق مستقل من الصفر.
إذا كانت لديك مهمة متكررة تعتمد على البيانات أو الحسابات أو إدخال المعلومات، فجرّب التفكير في إمكانية تحويلها إلى أداة داخل Excel. ابدأ بنموذج بسيط، ثم أضف الدوال والأتمتة والواجهة التفاعلية تدريجيًا حتى تصل إلى حل عملي يناسب احتياجاتك.





