Giảm một mảng thành một giá trị tích lũy bằng cách áp dụng LAMBDAcho từng giá trị và trả về tổng giá trị trong bộ tích lũy.
Cú pháp
=REDUCE([initial_value], array, lambda(accumulator, value))
Cú pháp hàm REDUCE có các đối số và tham số sau đây:
-
[Initial_value] Đặt giá trị bắt đầu cho bộ tích lũy.
-
array Một mảng cần giảm.
-
lambda MỘT LAMBDA được gọi là giảm mảng. LAMBDA có hai tham số:
-
bộ tích lũy Giá trị đã tính tổng và trả về kết quả cuối cùng.
-
giá trị Phép tính áp dụng cho mỗi thành phần trong mảng.
-
Chú thích
Dùng đối initial_value để đặt giá trị bắt đầu cho tham số tích lũy. Trong Ví dụ 2, nơi bạn nhân bộ tích lũy, hãy đặt giá trị thành 1 để tránh nhân với 0.
Lỗi
Việc cung cấp hàm LAMBDA không hợp lệ hoặc số tham số không chính xác sẽ trả về #VALUE! gọi là "Tham số Không chính xác".
Ví dụ
Ví dụ 1: Tính tổng các giá trị bình phương
Nhập dữ liệu mẫu vào các ô A1:C2, rồi sao chép công thức vào ô D4:
=REDUCE(, A1:C2, LAMBDA(a,b,a+b^2))
Ví dụ 2: Tạo hàm "PRODUCTIF" tùy chỉnh để chỉ nhân các giá trị lớn hơn 50
Tạo bảng có tên "Bảng2" với một cột có tên là "Số" bắt đầu từ ô E1. Sao chép công thức sau đây vào ô G2:
=REDUCE(1,Table2[Nums],LAMBDA(a,b,IF(b>50,a+b,a)))
Ví dụ 3: Chỉ đếm các giá trị đều
Tạo bảng có tên là "Bảng4" với một cột có tên là "Số" bắt đầu tại ô D1. Sao chép công thức sau đây vào ô F2:
=REDUCE(0,Table4[Nums],LAMBDA(a,n,IF(ISEVEN(n),1+a, a)))