دالة MAP في Excel: ما هي، وكيفية استخدامها، وأمثلة عملية

  • يتكرر MAP عبر مصفوفة واحدة أو أكثر ويطبق LAMBDA لكل عنصر لإرجاع مصفوفة جديدة.
  • ينبغي أن يذهب LAMBDA إلى النهاية ويعلن عن معلمة واحدة لكل مجموعة إدخال.
  • الأخطاء الشائعة: #VALUE! للمعلمات غير الصحيحة و #NAME؟ في الإصدارات غير المدعومة.
  • أمثلة رئيسية: التحويل الشرطي، والتحقق المنطقي، والترشيح المركب.

دالة MAP في Excel

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

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

ما هو MAP في Excel بالضبط؟

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

فكر في MAP باعتباره حزام ناقل: على جانب واحد تدخل المصفوفات الأصلية (عمود واحد أو أكثر أو صفوف أو نطاقات) وعلى الجانب الآخر تخرج مصفوفة جديدة بالقيم المعالجة. قلب الوظيفة هو LAMBDAلأنه هناك يمكنك تحديد الحساب الذي سيتم تطبيقه على كل قيمة (أو على كل مجموعة من القيم إذا كان هناك أكثر من مصفوفة).

توفر طريقة العمل هذه الوضوح وتقلل الأخطاء: حيث تقوم بتغليف المنطق في تعبير LAMBDA واحد ويقوم Excel بتكراره بسهولة عبر جميع العناصر. لا مزيد من تكرار الصيغ خلية بخلية أو الجدال مع المراجع النسبية عندما يكون النمط هو نفسه.

استخدام MAP في Excel

بناء جملة MAP والحجج

الشكل العام للوظيفة واضح للغاية ويتبع نمطًا واضحًا. هذا هو بناء الجملة الأساسي في البيئات الإقليمية مع الفواصل المنقوطة.:

=MAP(matriz1; ; ; ...; LAMBDA(parámetro1; ; ; ...; cálculo))

حيث ينطبق ما يلي: matrix1 إلزامي (هذه هي المصفوفة التي تريد تكرارها على الأقل) ويمكنك إضافة المزيد من المصفوفات إذا تطلب منطقك ذلك. يجب أن تكون الحجة الأخيرة دائمًا عبارة عن جملة LAMBDA، ويجب أن تُعلن هذه الجملة عن مُعامل واحد لكل مصفوفة يتم تمريرها.

  • المصفوفة 1: نطاق أو مصفوفة ديناميكية أو ثابت مصفوفة سيتم عبوره عنصرًا تلو الآخر.
  • matrix2، matrix3، … (اختياري): نطاقات إضافية سيتم معالجتها بالتوازي، ومحاذاتها حسب الموضع.
  • LAMBDA: مُعرَّف كآخر وسيطة. يجب أن يكون الكثير من المعلمات كمصفوفات قمت بتوفيرها وإرجاع القيمة المحولة لكل موضع.

تفصيل مهم: في التكوينات حيث يكون فاصل القائمة هو الفاصلة، سترى الصيغة مع الفواصل بدلاً من الفواصل المنقوطة. كلا التنسيقين متكافئانإنهم يستجيبون فقط للإعدادات الإقليمية لبرنامج Excel.

المتطلبات والمبادئ التوجيهية الرئيسية لاستخدام MAP

لكي يعمل كل شيء كما هو متوقع، من المهم احترام المراسلات بين المصفوفات والمعلمات. إذا قمت بتمرير مصفوفتين إلى MAP، فيجب على LAMBDA الخاص بك إعلان معامِلَين.إذا قمت بتمرير ثلاث مصفوفات وثلاث معلمات وما إلى ذلك، فإن هذا التعيين واحد لواحد هو ما يسمح لبرنامج Excel بمطابقة العناصر بشكل صحيح في كل تكرار.

تأكد أيضًا من محاذاة نطاقات الإدخال في الحجم والاتجاه (نفس عدد الخلايا التي يجب عبورها لكل صف/عمود). العمل مع الترتيبات المتسقة يقلل من النتائج غير المتوقعة ويسهل صيانة الأوراق.

يمكن أن تحتوي وظيفة LAMBDA التي تكتبها على كل المنطق الذي تحتاجه: الدوال الشرطية، والحسابات، والتحقق من الصحة، والمكالمات إلى وظائف النص، والوظائف المنطقية، وما إلى ذلك. إذا أرجعت دالة LAMBDA الخاصة بك قيمة واحدة لكل تكرارسيقوم MAP بتأليفها كمصفوفة نهائية بنفس النمط الأبعادي.

إكسل ويب

الأخطاء والتشخيص: الحالات التي يجب الانتباه إليها

إذا كنت تقدم دالة LAMBDA سيئة البناء أو تعلن عن عدد غير صحيح من المعلمات فيما يتعلق بمصفوفات الإدخال، ستعيد MAP الخطأ #VALUE! مع العلامة "معلمات غير صحيحة"هذه الحالة نموذجية عندما يتم نسيان معلمة أو إدخال معلمة إضافية.

تحقق أيضًا من الفواصل والأقواس: في بعض الأحيان يتم إخفاء خطأ في بناء الجملة على أنه مشكلة في المعلمات. تأكد من أن LAMBDA هي الحجة الأخيرة وأن يتم استخدام اسم كل معلمة بشكل صحيح ضمن الحساب.

بالإضافة إلى ذلك، إذا كنت تستخدم إصدارًا أقدم من Excel لا يدعم المصفوفات الديناميكية (أو لا يدعم وظائف LAMBDA وMAP)، فقد ترى رسالة الخطأ التالية: #NAME؟ يشير إلى أن الوظيفة غير موجودةفي هذه الحالة، ستحتاج إلى Microsoft 365 أو Excel للويب مع الميزات المحدثة.

متى تستخدم MAP ومتى تستخدم وظيفة أخرى

استخدم MAP عندما تحتاج إلى تطبيق نفس المنطق على كل عنصر من عناصر مصفوفة واحدة أو أكثر وجمع النتيجة في مصفوفة جديدة. إنه مثالي للتحولات الأولية والتحققات والتركيبات من نقطة إلى نقطة. (حسب الصفوف أو الأعمدة) دون الحاجة إلى حلقات يدوية.

إذا كانت عمليتك محددة بشكل أفضل من خلال الصفوف أو الأعمدة بالكامل، فقد يكون BYROW أو BYCOL أكثر ملاءمة، حيث يطبقان LAMBDA على كل صف/عمود ويعيدان نتيجة لكل منهما. تعمل MAP على مستوى العنصر، بينما يقوم BYROW/BYCOL بذلك على مستوى تجميع الصف/العمود.

لتوليد مجموعة من الصفر باستخدام نمط الصفوف والأعمدة المحسوبة، يعد MAKEARRAY أكثر ملاءمة. سواء كنت بحاجة إلى مبلغ تراكمي أو تخفيض على المصفوفة، هذا هو المكان الذي يلعب فيه SCAN (التراكم المتوسط) أو REDUCE (التراكم النهائي) دورًا.

التوافق والتوافر والفواصل

يعد MAP جزءًا من مجموعة وظائف Excel الحديثة المتوفرة في Microsoft 365 وExcel للويب. إذا لم تتمكن من رؤية ذلك في الإصدار الخاص بك، فمن المحتمل أنك بحاجة إلى التحديث. إلى إصدار متوافق مع المصفوفات الديناميكية وLAMBDA والمراجعة كيفية استيراد وتصدير البيانات في Excel.

اعتمادًا على إعداداتك الإقليمية، قد يكون فاصل القائمة عبارة عن فاصلة منقوطة أو فاصلة. في إسبانيا عادة ما تكون عبارة عن فاصلة منقوطة. (;)، بينما في الإعدادات الإنجليزية، الفاصلة (,) شائعة. عدّل الصيغ في الأمثلة لتناسب بيئتك.

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

أنماط مفيدة مع MAP

التحويل الشرطي: يطبق LAMBDA الذي يعدل القيم وفقًا للقواعد (العتبات والنطاقات والفئات) ويعيد الأصل بخلاف ذلك. إنه بديل أنيق للأعمدة المساعدة مع عبارات IF المتداخلة أو التحويلات المتكررة.

التحقق المتوازي: يجتاز عمودين أو أكثر ويعيد TRUE/FALSE حسب الموضع وفقًا لمعاييرك (على سبيل المثال، التحقق من أن علامتين هما TRUE في نفس الوقت). يتوافق هذا النمط بشكل جيد للغاية مع FILTER. لعزل السجلات الصالحة.

الدمج من نقطة إلى نقطة: يجمع القيم من عدة مصفوفات في إخراج واحد عن طريق حساب، على سبيل المثال، الاختلافات أو المتوسطات المرجحة أو التسلسلات مع الفواصل. تتيح لك مرونة LAMBDA ابتكار "وظيفة مخصصة" خاصة بك بدون وحدات ماكرو أو VBA.

الإشارة إلى الأمثلة المُعاد إنتاجها

يتم بعد ذلك إعادة صياغة دراسات الحالة الثلاث الرئيسية باستخدام نفس المفاهيم حتى تتمكن من نسخها وتكييفها بسهولة. احترم عدد معلمات LAMBDA وفقًا للمصفوفات التي تستخدمها:

  • المربعات فوق القيمة: البيانات في A1:C2 والصيغة التي تحول القيم الأكبر من 4.
=MAP(A1:C2; LAMBDA(a; SI(a>4; a*a; a)))
  • كلا العمودين صحيح: تم تقييم العمودين TableA وTableA بالتوازي.
=MAP(TablaA; TablaA; LAMBDA(a; b; Y(a; b)))
  • تصفية حسب الحجم واللونقناع منطقي مع MAP والتصفية اللاحقة.
=FILTRAR(D2:E11; MAP(D2:D11; E2:E11; LAMBDA(s; c; Y(s="Grande"; c="Rojo"))))

في جميع الأحوال، تذكر أن تقوم بتكييف الفواصل وأسماء الأعمدة/الجداول مع كتابك. الآلية المركزية هي نفسها دائمًايتكرر MAP ويقرر LAMBDA ما سيتم إرجاعه.

العلاقة مع وظائف Excel الحديثة الأخرى

تتألق MAP بشكل أكثر إشراقًا عند دمجها مع الميزات الأخرى المقدمة في نظام المصفوفة الديناميكية. هذه بعض القطع التي تتناسب معها بشكل مثالي.:

  • دالة لامدا: يُعرّف منطقًا قابلاً لإعادة الاستخدام بدون VBA. إنه الجزء الذي تكتبه في نهاية MAP لتحديد كيفية التعامل مع كل عنصر.
  • دالة التخفيض:يمر عبر مصفوفة تجمع نتيجة واحدة، وهو مثالي للتلخيصات المخصصة.
  • وظيفة المسح الضوئي: مشابه لـ REDUCE، لكنه يعيد جميع القيم التراكمية الوسيطة، وهو مثالي لسلسلة النتائج خطوة بخطوة.
  • وظيفة MAKEARRAY: يقوم بإنشاء مصفوفة من الصفر عن طريق تحديد الصفوف والأعمدة وLAMBDA التي تملأ كل موضع.
  • دالة BYCOL: يتم تطبيق دالة LAMBDA لكل عمود وإرجاع النتيجة لكل عمود.
  • دالة BYROW: يعادل BYCOL ولكنه يعمل صفًا تلو الآخر.
  • دالة ISOMITTEDداخل LAMBDA، يسمح لك باكتشاف ما إذا تم حذف وسيطة اختيارية، وهو أمر مفيد لبناء منطق مرن.

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

الأسئلة الشائعة

  • هل يقوم MAP بتعديل البيانات الأصلية؟ لا. تترك MAP مجموعات الإدخال سليمة وتعيد مجموعة جديدة بالنتائج، والتي تتدفق من الخلية التي تدخل فيها الصيغة.
  • ماذا يحدث إذا كانت المصفوفات ذات أحجام مختلفة؟ من الأفضل أن تكون متناسقة في الحجم والشكل لتجنب أي تناقضات. إذا لم تكن متطابقة، راجع تصميم مجموعتك أو فكّر في ميزات أخرى تناسب نمطك.
  • هل يمكنني تعشيش MAP داخل وظائف أخرى؟ نعم. من الشائع استخدام MAP لبناء أقنعة منطقية وربطها مع FILTER، أو لتحضير البيانات قبل تجميعها مع وظائف أخرى.
  • كيف أعرف إذا كانت المشكلة في مستشعر LAMBDA أم في المعلمات؟ إذا ظهرت #VALUE! مع الرسالة "معلمات غير صحيحة"، فتأكد من أن عدد معلمات LAMBDA يتطابق مع عدد المصفوفات وأن LAMBDA موجودة في نهاية الصيغة.

تتناسب وظيفة MAP، من خلال نهجها "عنصرًا تلو الآخر"، بشكل مثالي مع عمليات تنظيف البيانات وسير العمل الخاصة بالتطبيع، والتحليل باستخدام قواعد واضحة، وإنشاء مخرجات مخصصة. إن إتقان بناء الجملة ودمجها مع LAMBDA يفتح مجموعة كبيرة من الاحتمالات. في برنامج Excel الحديث.

البيانات المكررة في Excel
المادة ذات الصلة:
البيانات المكررة في Excel: كيفية العثور عليها وإزالتها