تقليل صفيف إلى قيمة متراكمة عن طريق تطبيق LAMBDA على كل قيمة وإرجاع القيمة الإجمالية في المجمع.
بناء الجملة
=REDUCE([initial_value], array, lambda(accumulator, value, body))
يتضمن بناء جملة الدالة REDUCE الوسيطات والمعلمات التالية:
[initial_value] تعيين قيمة البداية للمتراكم.
الصفيف صفيف سيتم تقليله.
امدا LAMBDA الذي يتم استدعاؤه لتقليل الصفيف. تأخذ LAMBDA ثلاث معلمات:
- مراكم تم إجمالي القيمة وإرجاعها كنتيجة نهائية.
- قيمه القيمة الحالية من الصفيف.
- الجسم يتم تطبيق الحساب على كل عنصر في الصفيف.
ملاحظات
استخدم الوسيطة initial_value لتعيين قيمة البداية للمعلمة المُجمعة. في المثال 2، عندما تقوم بضرب المُجمع، قم بتعيين القيمة إلى 1 لتجنب الضرب في 0.
ملاحظة: إذا لم يتم توفير قيمة initial_value، فسيتم استخدام القيمة الأولى في الصفيف كقيمة بداية.
أخطاء
يؤدي توفير دالة 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)))