تعريف دوال مخصصة باستخدام LAMBDA
تحويل عملية حسابية إلى دالة مسماة قابلة لإعادة الاستخدام
تعريف دوال مخصصة باستخدام LAMBDA درس مجاني في Excel Formulas Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Excel Formulas Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Excel Formulas Academy 4 دروس في المجموع.
إنشاء دالتك الخاصة
يأتي Excel مزودًا بمئات الدوال مثل SUM وXLOOKUP. لكن ماذا لو احتجت إلى دالة غير موجودة، مثل تحويل الدرجة المئوية إلى فهرنهايت؟
تتيح لك الدالة LAMBDA تعريف دالتك القابلة لإعادة الاستخدام باستخدام الصيغ فقط، من دون الحاجة إلى البرمجة. فأنت تحدد المدخلات (وتسمى المعاملات) والحساب، ويتعامل Excel معها كأنها دالة مضمّنة.
تتوفر LAMBDA في Microsoft 365 وGoogle Sheets. ستتعلم في هذا الدرس تغليف عملية حسابية داخل دالة مسمّاة قابلة لإعادة الاستخدام.
بنية LAMBDA
تتكوّن LAMBDA من جزأين: قائمة بأسماء المعلمات وحساب نهائي يستخدمها.
يشبه النمط LET تمامًا: كل وسيطة باستثناء الأخيرة هي اسم معلمة، والوسيطة الأخيرة هي الصيغة التي تنفّذ العمل.
لا تنفّذ LAMBDA أي شيء بمفردها حتى تزوّدها بقيم، تمامًا كما لا تفيد الوصفة حتى تطهوها باستخدام المكونات.
=LAMBDA(parameter1, parameter2, calculation)استدعاء LAMBDA مباشرةً
لاختبار LAMBDA فورًا، ضعها بين قوسين ومرّر القيم بعدها مباشرةً. يُسمّى ذلك استدعاءً مضمنًا.
نعرّف هنا LAMBDA تأخذ x وتُرجع x*2، ثم نستدعيها فورًا باستخدام 5. والنتيجة هي 10. توفّر (5) اللاحقة قيمة x.
هذه أسرع طريقة للتأكد من أن منطق LAMBDA يعمل قبل تسميتها.
=LAMBDA(x, x*2)(5)مثال عملي: من الدرجة المئوية إلى فهرنهايت
لنبنِ شيئًا مفيدًا. لتحويل الدرجة المئوية إلى فهرنهايت، نضرب في 1.8 ثم نضيف 32.
نعرّف LAMBDA بمعلمة واحدة هي c، ثم نستدعيها باستخدام القيمة الموجودة في الخلية A2. إذا كانت A2 تحتوي على 20، فستكون النتيجة 68.
تعمل هذه بالفعل مثل دالة مخصصة، لكن كتابة LAMBDA كاملة في كل مرة أمر شاق. وسرعان ما سنمنحها اسمًا.
=LAMBDA(c, c*1.8 + 32)(A2)معلمات متعددة
يمكن لـ LAMBDA استقبال عدة مدخلات. ما عليك سوى إدراج اسم كل معلمة قبل الحساب النهائي.
إليك دالة تحسب مساحة مستطيل من width وheight. نستدعيها مضمنة باستخدام 4 و5 لنحصل على 20.
تُطابق المعلمات حسب الموضع: تذهب القيمة الأولى إلى المعلمة الأولى، والثانية إلى المعلمة الثانية، وهكذا.
=LAMBDA(width, height, width*height)(4, 5)تسمية LAMBDA في مدير الأسماء
تظهر القوة الحقيقية عند تسمية LAMBDA، بحيث يمكنك استدعاءها مثل دالة مضمنة.
في Excel انتقل إلى Formulas, Name Manager, New. اكتب اسمًا مثل ToFahrenheit والصق LAMBDA (من دون القيم المضمنة) في مربع Refers to.
بعد ذلك يمكنك استخدام =ToFahrenheit(A2) في أي مكان في المصنف، تمامًا مثل SUM. وسنتناول LAMBDA المسماة بالتفصيل في درس لاحق.
=LAMBDA(c, c*1.8 + 32)دمج LAMBDA مع LET
يمكنك استخدام LET داخل LAMBDA لتسمية الخطوات الوسيطة، مما يحافظ على ترتيب المنطق المعقد.
تأخذ هذه الدالة price وrate، وتحسب tax كخطوة مسماة، ثم تُرجع الإجمالي. وتصبح صيغة جسم الدالة واضحة بفضل LET.
=LAMBDA(price, rate, LET(tax, price*rate, price + tax))(100, 0.2)LAMBDA في جداول بيانات Google
تدعم جداول بيانات Google LAMBDA باستخدام البنية نفسها. يمكنك تعريف المعلمات والحساب، كما يمكنك استدعاءها مضمنة بالطريقة نفسها.
لا تحتوي جداول بيانات Google على مدير أسماء، لكنها توفّر الدوال المسماة ضمن Data, Named functions، وتؤدي الغرض نفسه. فجسم LAMBDA الذي تكتبه مطابق لجسمها في Excel.
=LAMBDA(c, c*1.8 + 32)(A2)لماذا تُعد LAMBDA مهمة
تتيح لك LAMBDA حفظ منطق العمل مرة واحدة وإعادة استخدامه في كل مكان:
- لا مزيد من نسخ الصيغة المعقدة نفسها ولصقها
- أصلح المنطق في مكان واحد، وسيُحدَّث كل استخدام
- توضح الأسماء التي تصف نفسها، مثل
ToFahrenheit، الغرض من الدالة
وهي تحوّل جدول البيانات إلى مساحة يمكنك فيها إنشاء مكتبة صغيرة من دوالك الخاصة، المصممة بما يلائم عملك.
مشكلة شائعة
إذا كتبت LAMBDA في خلية من دون استدعائها، فسيُرجع Excel الخطأ #CALC! أو يعرض نص الدالة. وهذا أمر متوقع.
تحتاج LAMBDA إلى قيم لكي تعمل. أضف استدعاءً مضمنًا مثل (A2) في النهاية، أو احفظها كدالة مسماة واستدعِ الاسم باستخدام الوسيطات. أما LAMBDA المجردة فهي مجرد تعريف ينتظر الاستخدام.
=LAMBDA(x, x*2)(5)مراجعة ما سبق
أصبحت تعرف الآن أن LAMBDA تعرّف المعلمات والحساب، وتعمل مثل دالة مخصصة بمجرد أن تتلقى القيم.
- اختبر المنطق باستخدام استدعاء مضمن:
=LAMBDA(x, x*2)(5) - دعم عدة معلمات تُطابق حسب الموضع
- الدمج مع LET لتنظيم الخطوات الداخلية
- تسميتها في مدير الأسماء لإعادة استخدامها في المصنف
بعد ذلك ستتعلّم كيفية تطبيق LAMBDA على مصفوفات كاملة باستخدام MAP وREDUCE.
تحقق سريع
اختبر فهمك لكيفية استدعاء LAMBDA.
مراجعة: الدوال المخصصة باستخدام LAMBDA
تتيح لك LAMBDA إنشاء دوالك الخاصة باستخدام الصيغ وحدها.
- البنية: أسماء المعلمات متبوعة بحساب نهائي
- استدعاؤها مضمنة باستخدام قيم للاختبار، أو تسميتها لإعادة الاستخدام
- تُطابق المعلمات الوسيطات حسب الموضع
- تعمل بالطريقة نفسها في Excel وجداول بيانات Google
- تحتاج LAMBDA المجردة إلى قيم، وإلا فستُرجع #CALC!
يمكنك الآن تحويل المنطق المتكرر إلى أداة واضحة ومسمّاة. والدرس التالي: تطبيق LAMBDA على المصفوفات باستخدام MAP وREDUCE.
=LAMBDA(c, c*1.8 + 32)(A2)الأسئلة الشائعة
هل درس «تعريف دوال مخصصة باستخدام LAMBDA» مجاني؟
نعم — نص درس «تعريف دوال مخصصة باستخدام LAMBDA» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Excel Formulas Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Excel Formulas Academy 4 دروس في المجموع.
ماذا ستتعلم في «تعريف دوال مخصصة باستخدام LAMBDA»؟
تحويل عملية حسابية إلى دالة مسماة قابلة لإعادة الاستخدام تتمرن على Excel Formulas Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Excel Formulas Academy؟
لا تُشترط خبرة سابقة. Excel Formulas Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «تعريف دوال مخصصة باستخدام LAMBDA»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Excel Formulas Academy هذا؟
نعم. كل درس في Excel Formulas Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تسمية الخطوات باستخدام LET
- تعريف دوال مخصصة باستخدام LAMBDA
- التكرار باستخدام MAP وREDUCE
- صيغ أوضح باستخدام LAMBDA مسماة