بحث
استخدم دالة MAP في Excel لأتمتة مهام البيانات
البرمجة #دالة_MAP #Excel

استخدم دالة MAP في Excel لأتمتة مهام البيانات

تاريخ النشر: آخر تحديث: 34 مشاهدة 0 تعليق 4 دقائق قراءة
34 مشاهدة
0 إعجاب
0 تعليق
موثوق 95%

إن مقبض التعبئة في Excel جيد لعدد قليل من الصفوف، ولكن في مجموعة بيانات كبيرة، يكون خطأً ينتظر الحدوث. لماذا تسحب وتترك بينما يمكنك الأتمتة؟ تتيح لك دالة MAP كتابة صيغة واحدة تنشر المنطق عبر ورقتك بالكامل، مما يحافظ على بياناتك نظيفة وسير العمل لديك سلسًا.

يعتمد الكثير من الناس على جداول Excel التي تملأ الصيغ تلقائيًا أثناء الكتابة أو إضافة الصفوف. على الرغم من كونها مفيدة، فإن هذه الطريقة تخلق آلاف الصفوف من النسخ الفردية لمنطقتك، مما يجعل بياناتك عرضة للتعديلات غير المقصودة. علاوة على ذلك، غالبًا ما تفشل الصيغ التقليدية عندما تحتاج إلى منطق معقد - يتشتت Excel ويحاول تجميع بيانات عمود كامل بدلاً من معالجتها صفًا بصف. تحل دالة MAP كلا هذين المشكلتين من خلال تركيز منطقتك في خلية واحدة وإجبار Excel على النظر إلى بياناتك صفًا واحدًا في كل مرة.

دالة MAP متاحة لأولئك الذين يستخدمون Excel لـ Microsoft 365، وExcel على الويب، وآخر إصدارات تطبيقات Excel المحمولة واللوحية.

كيف تعمل دالة MAP

على عكس الصيغ القياسية في Excel التي تعيش في كل خلية من عمود، تجلس دالة MAP في خلية واحدة وتعرض المنطق للأسفل، تمرر كل عنصر من خلال دالة LAMBDA مساعدة لمعالجته بشكل فردي.

صيغة MAP

تحتوي دالة MAP على الحجج التالية:

=MAP(array,LAMBDA(param,logic))

حيث:

  • array هو نطاق البيانات الذي تريد معالجته. يمكنك تضمين مصفوفات متعددة إذا كان منطقك يحتاج إلى مقارنة الأعمدة.
  • LAMBDA هو التعليمات. بدونها، لا تعرف MAP ماذا تفعل بالبيانات.
  • param هو لقب مؤقت تنشئه داخل LAMBDA.
  • logic هو التعليمات المحددة التي تريد تنفيذها على ذلك اللقب.

مثال بسيط: إضافة 10% إلى الأسعار

لرؤية هذه الحجج في العمل، دعني أريك مثالاً بسيطًا. تخيل أنك تريد زيادة كل سعر في العمود A بنسبة 10%.

الصيغة في الخلية C2 تبدو كما يلي:

=MAP(A2:A4,LAMBDA(price,price*1.1))

نقاط مهمة يجب ملاحظتها قبل أن تبدأ

قبل أن تبدأ في بناء أتمتة أكثر تعقيدًا، احتفظ بهذه القواعد الهيكلية الثلاثة في ذهنك:

  • قاعدة عدم وجود جدول: لا يمكنك وضع صيغة MAP داخل جداول Excel لأنها مصممة للاحتفاظ بصيغة واحدة لكل صف. نظرًا لأن دالة MAP تنشر النتيجة عبر نطاق من الخلايا، إذا حاولت استخدامها داخل جدول، سترى خطأ #SPILL! .
  • تجنب فخ الجدول: تأكد من ترك عمود فارغ واحد على الأقل بين جدولك وصيغة MAP الخاصة بك لضمان عدم قيام الجدول بالتقاط عمود الحساب.

السيناريو 1: تنظيف البيانات بشكل آلي

يمكن أن تجبر دالة MAP دوال التجميع - الأدوات التي عادةً ما تحاول تجميع أعمدة كاملة - على العمل صفًا واحدًا في كل مرة.

افترض أن لديك قائمة مكونة من 700 صف من إدخالات Product_ID الفوضوية في جدول يسمى T_Inventory. هدفك هو تقليم المسافات، وإصلاح الحالة، وإضافة علامة "(VALID)" إلى كل إدخال.

يمكنك استخدام عمود محسوب قياسي لتنفيذ ذلك داخل الجدول:

=CONCAT(PROPER(TRIM([@[Product_ID]]))," (VALID)")

ومع ذلك، يعتمد هذا على وجود 700 نسخة من الصيغة. إذا قام شخص ما بتحرير الصف 450، فإن عملية التنظيف الخاصة بك ستتعرض للخطر.

أفضل طريقة لتنظيف بياناتك هي استخدام دالة MAP خارج الجدول:

=MAP(T_Inventory[Product_ID],

LAMBDA(id,
CONCAT(PROPER(TRIM(id))," (VALID)")
))

إليك كيف تعمل هذه الصيغة:

  • الحلقة: تقوم MAP بالتكرار على عمود Product_ID في جدول T_Inventory.
  • المتغير: تخزن LAMBDA القيمة من الصف الحالي باستخدام اللقب id.
  • التنفيذ: تقوم PROPER وTRIM بتنظيف النص، وCONCAT تضيف العلامة إلى السلسلة النظيفة.
  • الإخراج: تتدفق النتيجة للأسفل من الخلية التي تم إدخال الصيغة فيها.

الميزة: سلامة البيانات الديناميكية

هناك ثلاث فوائد رئيسية لاستخدام هذه الدالة في Excel:

  • التحديثات الحية مقابل التنظيف الثابت: بينما يمكن لأدوات مثل التعبئة السريعة أو البحث والاستبدال اليدوي تنظيف البيانات مرة واحدة، فإنها تعتبر لقطات ثابتة. تقوم دالة MAP بإنشاء مزامنة حية - إذا تم تصحيح خطأ مطبعي في البيانات المصدر، يتم تحديث النتيجة على الفور عبر النطاق بالكامل.
  • المنطق المركزي مقابل التعبئة التلقائية للجداول: تقوم التعبئة التلقائية للجداول بإنشاء 700 نسخة مستقلة من صيغة معينة، لذا إذا قام شخص ما بالكتابة فوق الصف 450، فإن منطق ذلك الصف يتعطل إلى الأبد. منطق MAP مركزي في خلية واحدة، مما يعني أنه لا توجد صيغة في الصفوف أدناه يمكن أن تتعطل.
  • التحكم على مستوى الصف مقابل أخطاء التجميع: بينما تقوم العديد من دوال Excel بالتدفق تلقائيًا، تحاول دوال التجميع دمج نطاقك بالكامل في خلية واحدة. تعتبر دالة MAP الطريقة الأكثر فعالية لإجبار هذه الدوال على البقاء في مسارها ومعالجة بياناتك صفًا بصف بينما لا تزال تمنحك فائدة صيغة متدفقة في خلية واحدة.

السيناريو 2: منطق متعدد الأعمدة

يمكن لدالة MAP في Excel تنفيذ المنطق عبر عدة أعمدة في وقت واحد دون معالجة الجدول بالكامل ككتلة واحدة ضخمة.

تخيل أنك بحاجة إلى وضع علامة على إعادة التخزين "العاجلة" لمخزونك الذي يتكون من 700 صف، ولكن فقط للعناصر التي تحتوي فيها عمود الفئة على كلمة "قابلة للتلف" وعمود مستوى المخزون أقل من 300.

قد تتوقع أن تتعامل صيغة IF واحدة مع العمود بالكامل داخل الجدول. ومع ذلك، إذا كتبت:

=IF(AND([Category]="Perishable",[Stock_Level]<300),"Urgent","OK")

فإنها لن تنجح في وضع علامة على العناصر القابلة للتلف التي تحتوي على عدد مخزون أقل من 300 لأن دالة AND تنظر إلى كل خلية في أعمدة الفئة ومستوى المخزون في وقت واحد. إذا وجدت حتى صفًا واحدًا لا يفي بالمعايير، فإنها تعيد "OK" للكتلة بالكامل المكونة من 700 صف.

يمكنك حل هذه المشكلة باستخدام صيغة على مستوى الصف، مثل:

=IF(AND([@Category]="Perishable",[@[Stock_Level]]<300),"Urgent","OK")

ومع ذلك، تعتمد هذه الطريقة على التقاطع الضمني (رموز @)، مما يخبر Excel بالنظر فقط إلى الصف الحالي. هذا يقفل المنطق داخل الجدول، مما يجبرك على الحفاظ على 700 نسخة من نفس الصيغة. إذا أردت يومًا ما نقل هذا المنطق إلى مكان آخر، ستتصرف رموز @ بشكل غير متوقع.

باستخدام MAP، يمكنك تغذية البيانات إلى دالة AND صفًا واحدًا في كل مرة دون الحاجة إلى رمز @ أو صيغة مرتبطة بالجدول. وهذا يؤدي إلى قائمة متدفقة تمامًا من الحالات الفردية الدقيقة:

=MAP(T_Inventory[Category],T_Inventory[Stock_Level],

LAMBDA(cat,qty,
IF(AND(cat="Perishable",qty<300),"Urgent","OK")
)
)

إليك كيف تعمل هذه الصيغة:

  • مصفوفات متعددة: تصل دالة MAP إلى كل من أعمدة الفئة ومستوى المخزون في وقت واحد.
  • ألقاب LAMBDA: تعطي اللقب cat لفئة الصف الحالي وqty لمستوى المخزون في الصف الحالي.
  • التحقق على مستوى الصف: يقوم منطق IF(AND(...)) بتقييم هذين القيمتين المحددتين لذلك الصف فقط.
  • النتيجة: تقوم دالة MAP بتفريغ الحساب أسفل العمود، مما يخلق نطاق تنبيه تلقائي لجميع 700 صف.

استكشاف أخطاء MAP: الأخطاء الثلاثة التي قد تواجهها

إليك ثلاثة من أكثر عقبات MAP شيوعًا وكيفية إصلاحها:

خطأ

الأسباب المحتملة

الإصلاحات

#VALUE!

1. تم تضمين رؤوس الجدول في اختيارك.

2. هناك عدد غير متطابق من الألقاب في LAMBDA الخاصة بك.

1. تأكد من أن الصيغة تشير فقط إلى صفوف البيانات، حيث لا يمكن لـ Excel تنفيذ المنطق على نص الرأس.

2. تأكد من أن لديك لقبًا واحدًا لكل مصفوفة.

#SPILL!

1. هناك شيء ما في طريق النتيجة.

2. أدخلت الصيغة داخل جدول Excel.

3. أدخلت الصيغة مباشرة بجوار جدول Excel، مما جذب النتيجة المتدفقة.

1. تأكد من أن المسار خالٍ.

2. اكتب الصيغة في خلية عادية.

3. احتفظ بفجوة عمود واحد بين الجدول والصيغة.

#NAME?

من المحتمل أنك تستخدم إصدارًا قديمًا من Excel لا يتعرف على دوال MAP أو LAMBDA.

انتقل إلى Excel على الويب أو اشترك في Microsoft 365.

من خلال الانتقال من حسابات الخلايا إلى بناء الأنظمة، تقلل بشكل كبير من مخاطر الأخطاء البشرية وتحول جداول البيانات الخاصة بك إلى أدوات احترافية. الآن بعد أن أتقنت هذا المنطق صفًا بصف، ارتقِ بأتمتتك إلى المستوى التالي من خلال تنظيف صيغك المعقدة باستخدام دالة LET في Excel.

التعليقات 0

سجل دخولك لإضافة تعليق

لا توجد تعليقات بعد. كن أول من يعلق!