تُصغّر مصفوفة إلى قيمة متراكمة عن طريق تطبيق الدالة LAMBDA على كل قيمة وإرجاع القيمة الإجمالية في المُجمع.
بناء الجملة
=REDUCE([initial_value], array, lambda(accumulator, value, body))
يتضمن بناء جملة الدالة REDUCE الوسيطات والمعلمات التالية:
-
[initial_value] تعين قيمة البداية للمُجمع.
-
الصفيف صفيف ليتم تصغيره.
-
lambda LAMBDA التي يتم استدعاؤها لتصغير الصفيف. تأخذ LAMBDA ثلاث معلمات:
-
المُجمع تم تجميع القيمة وتم إرجاعها كنتيجة نهائية.
-
القيمة القيمة الحالية من الصفيف.
-
الجسم العملية الحسابية المطبقة على كل عنصر في الصفيف.
-
ملاحظات
استخدم الوسيطة initial_value لتعيين قيمة البداية للمعلمة المُجمعة. في المثال 2، عندما تقوم بضرب المُجمع، قم بتعيين القيمة إلى 1 لتجنب الضرب في 0.
الأخطاء
يؤدي توفير دالة LAMBDA غير صالحة أو عدد غير صحيح من المعلمات إلى إرجاع #VALUE! خطأ يسمى "معلمات غير صحيحة".
الأمثلة
المثال 1: جمع القيم التربيعية
أدخل البيانات النموذجية في الخلايا A1: C2، ثم انسخ الصيغة في الخلية D4:
=REDUCE(, A1:C2, LAMBDA(a,b,a+b^2))
المثال 2: إنشاء دالة "PRODUCTIF" مخصصة لضرب القيم الأكبر من 50 فقط
الإنشاء جدول يسمى "Table3" بعمود واحد يسمى "nums" يبدأ من الخلية E1. انسخ الصيغة التالية في الخلية G2:
=REDUCE(1,Table3[nums],LAMBDA(a,b,IF(b>50,a*b,a)))
المثال 3: حساب القيم الزوجية فقط
إنشاء جدول باسم "Table4" بعمود واحد يسمى "Nums" بدءا من الخلية D1. انسخ الصيغة التالية في الخلية F2:
=REDUCE(0,Table4[Nums],LAMBDA(a,n,IF(ISEVEN(n),1+a, a)))