Mengurangi array ke nilai akumulasi dengan menerapkan LAMBDAke setiap nilai dan mengembalikan nilai total dalam akumulator.
Sintaks
=REDUCE([initial_value], array, lambda(accumulator, value, body))
Sintaks fungsi REDUCE memiliki argumen dan parameter berikut:
-
[initial_value] Mengatur nilai awal untuk akumulator.
-
larik Array yang akan dikurangi.
-
Lambda LAMBDA yang disebut untuk mengurangi array. LAMBDA mengambil tiga parameter:
-
akumulator Nilai dijumlahkan dan dikembalikan sebagai hasil akhir.
-
nilai Nilai saat ini dari array.
-
badan Penghitungan yang diterapkan ke setiap elemen dalam array.
-
Keterangan
Gunakan argumen initial_value untuk mengatur nilai awal parameter akumulator. Dalam Contoh 2, di mana Anda mengalikan akumulator, atur nilai ke 1 untuk menghindari mengalikan dengan 0.
Kesalahan
Menyediakan fungsi LAMBDA yang tidak valid atau jumlah parameter yang salah mengembalikan #VALUE! kesalahan yang disebut "Parameter Salah".
Contoh
Contoh 1: Menjumlahkan nilai kuadrat
Masukkan data sampel ke dalam sel A1:C2, lalu salin rumus ke dalam sel D4:
=REDUCE(, A1:C2, LAMBDA(a,b,a+b^2))
Contoh 2: Membuat fungsi "PRODUCTIF" yang dikustomisasi untuk mengalikan hanya nilai yang lebih besar dari 50
Buat tabel bernama "Table3" dengan satu kolom bernama "nums" dimulai dari sel E1. Salin rumus berikut ke dalam sel G2:
=REDUCE(1,Table3[nums],LAMBDA(a,b,IF(b>50,a*b,a)))
Contoh 3: Menghitung nilai genset saja
Buat tabel bernama "Table4" dengan satu kolom bernama "Nums" dimulai dari sel D1. Salin rumus berikut ke dalam sel F2:
=REDUCE(0,Table4[Nums],LAMBDA(a,n,IF(ISEVEN(n),1+a, a)))