لسلام عليكم و رحمة الله و بركاته
هذه التدوينة بناء على طلب أحد الأخوة بشرح آلية عمل الدالة:
=SUMPRODUCT(–MID(A2,ROW(INDIRECT(1&LEN(A2))),1))
هدفنا من هذه الدالة هو معرفة حاصل جمع الأرقام الموجودة في الخلية A2
فعلى سبيل المثال لو كان الرقم في الخلية هو 667337
فالمطلوب إذاً هو6+6+7+3+3+7
و لعمل ذلك يجب تجزئة الرقم حسب الخانات و أفضل دالة لعمل هذه التجزية هي الدالة MIDبحيث يكون متغيراتها الاول و الأخير ثابت و المتغير الثاني يزداد من 1 إلى 6 و هو عدد الأحرف في الخلية
فعليه ستكون المعادلة بالشكل التالي
=MID(A2,1,1)
=MID(A2,2,1)
=MID(A2,3,1)
=MID(A2,4,1)
=MID(A2,5,1)
=MID(A2,6,1)
و ستكون النتيجة على التوالي
6
6
7
3
3
7
و من ثم نجمعها
بمعنى أن الدالة يجب أن تكون بهذا الشكل
=SUM(MID(A2,1,1),MID(A2,2,1),MID(A2,3,1),MID(A2,4,1),MID(A2,5,1),MID(A2,6,1))
و بما أن المتغير الثاني يتغير من معادلة إلى أخرى و بزيادة ثابته نستخدم المعادلة التالية
ROW(INDIRECT(1&LEN(A2))
و هذا الجزء من المعادلة يقوم ببناء تسلسل رقمي بدايته 1 و نهايته عدد الأحرف الموجودة في الخلية و التي نحصل عليها من خلال المعادلة
LEN
و التي سيكون ناتجها
6
و هو عدد الأحرف أو الأرقام في الخلية
و يكون ناتج هذا الجزء من المعادلة كالتالي
{1;2;3;4;5;6}
و بذلك يصبح شكل معادلة
MID
MID(A2,{1;2;3;4;5;6},1)
و لأنها من ضمن صفيف فستقوم بتجزء الرقم الموجود في الخلية A2رقم برقم إبتداء من أول رقم و حتى آخر رقم فتصبح بشكلها التالي
=SUMPRODUCT(–{6;6;7;3;3;7})
و بذلك يسهل على المعادلة
SUMPRODUCT
جمع الأرقم بعد تحويلها إلى أرقام حقيقة بواسطة –
============
يمكن إستخدام نفس المعادلة السابقة و إستبدال علامتي — بضربها بالرقم 1 او جمعها للرقم 0
أيضاً يمكن إستخدام نمط معادلات الصفيف مع نفس المعادلة أعلاه بدلاً من إستخدام
SUMPRODUCT
نستخدم الدالة
ٍSUM
=SUM(MID(A2,ROW(INDIRECT(1&LEN(A2))),1)+0)
و لكن يجب الضغط على
Ctrl+Shift+Enter