=LAMBDA(price,price*1.2)(B2) membuat fungsi kecil dengan satu input, price, lalu langsung memanggilnya pada B2: harga pulpen 2.5 menjadi 3. Kalau hanya begitu, rumus ini cuma versi panjang dari =B2*1.2. Gunanya LAMBDA adalah memberi nama pada fungsi itu di Name Manager, sehingga rumus panjang menjadi =ADDVAT(B2), dan memberikannya ke MAP, BYROW dan fungsi lain di bawah.
| A | B | C | |
|---|---|---|---|
| 1 | Item | Price | With VAT |
| 2 | Pen | 2.5 | 3 |
| 3 | Bag | 120 | 144 |
| 4 | Lamp | 35 | 42 |
| 5 | Mug | 8 | 9.6 |
| 6 | Desk | 150 | 180 |
Sintaks LAMBDA
=LAMBDA([parameter1, parameter2, ...], calculation)
- Setiap
parameteradalah nama untuk sebuah input, seperti nama di LET. Maksimal 253 parameter. - Argumen terakhir adalah
calculation, yaitu perhitungan yang memakai parameter tersebut. - Nilai untuk parameter ditulis di dalam kurung tepat setelah kurung tutup:
=LAMBDA(x,y,x*y)(3,4)mengembalikan 12.
LAMBDA, MAP, BYROW, BYCOL, SCAN, REDUCE dan MAKEARRAY membutuhkan Microsoft 365, Excel 2024 atau Excel untuk web. Excel 2021 punya LET, tapi tidak punya fungsi-fungsi ini. Google Sheets juga punya LAMBDA, dan menyimpannya dengan sebuah nama lewat Data > Named functions.
Simpan LAMBDA sebagai fungsi kustom
LAMBDA bisa dipakai berulang kali setelah kamu memberinya nama. Excel tidak butuh VBA atau add-in untuk ini:
- Buka Formulas > Name Manager lalu klik New (atau Formulas > Define Name).
- Di Name, ketik nama fungsinya, misalnya
ADDVAT. - Di Refers to, masukkan LAMBDA tanpa input:
=LAMBDA(price,price*1.2). - Klik OK. Sekarang ketik
=ADDVAT(B2)di sel mana pun dalam workbook.
Name: ADDVAT
Refers to: =LAMBDA(price,price*1.2)
In a cell: =ADDVAT(B2) returns 3 when B2 is 2.5
Fungsi itu hanya ada di workbook tersebut. Salin sheet yang memakainya ke workbook lain, dan namanya ikut terbawa. Ubah LAMBDA sekali di Name Manager, dan setiap sel yang memanggilnya ikut diperbarui. Uji LAMBDA di sebuah sel dengan input di dalam kurung sebelum kamu menyimpannya; kesalahan lebih mudah terlihat di sana.
MAP: terapkan LAMBDA ke setiap sel
MAP memanggil LAMBDA satu kali untuk setiap sel dalam rentang dan mengembalikan rentang dengan bentuk yang sama. Di sini setiap harga di atas 100 mendapat diskon 10%:
| A | B | C | |
|---|---|---|---|
| 1 | Item | Price | Price to pay |
| 2 | Pen | 2.5 | 2.5 |
| 3 | Bag | 120 | 108 |
| 4 | Lamp | 35 | 35 |
| 5 | Mug | 8 | 8 |
| 6 | Desk | 150 | 135 |
Tas (120) menjadi 108 dan meja (150) menjadi 135; harga lainnya tetap. Satu rumus di C2 mencakup seluruh kolom. MAP juga bisa menelusuri dua rentang berukuran sama secara berdampingan: dengan jumlah barang di D2:D6, =MAP(B2:B6,D2:D6,LAMBDA(p,q,p*q)) mengalikan setiap harga dengan jumlahnya.
BYROW: satu hasil per baris
BYROW memberikan satu baris utuh sekaligus ke LAMBDA, sehingga LAMBDA bisa memakai MAX, SUM atau AVERAGE pada baris itu. Nilai terbaik dan rata-rata setiap siswa:
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Student | Test 1 | Test 2 | Test 3 | Best | Average |
| 2 | Ann | 72 | 85 | 90 | 90 | 82.3 |
| 3 | Ben | 64 | 70 | 58 | 70 | 64 |
| 4 | Cara | 88 | 92 | 95 | 95 | 91.7 |
| 5 | Dan | 75 | 60 | 81 | 81 | 72 |
E2 mengembalikan 90, 70, 95 dan 81; F2 mengembalikan 82.3, 64, 91.7 dan 72. =MAX(B2:D5) biasa hanya memberi satu angka untuk seluruh tabel; BYROW-lah yang memisahkan tiap baris dalam satu rumus. BYCOL melakukan hal yang sama per kolom: =BYCOL(B2:D5,LAMBDA(c,AVERAGE(c))) mengembalikan rata-rata setiap tes.
SCAN dan REDUCE: total kumulatif
REDUCE menelusuri sebuah rentang sambil membawa satu nilai, lalu hanya mengembalikan hasil akhirnya. SCAN melakukan hal yang sama tapi mengembalikan setiap langkahnya, jadi kamu mendapat total kumulatif dengan satu rumus:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Item | Price | Running total | Total |
| 2 | Pen | 2.5 | 2.5 | 315.5 |
| 3 | Bag | 120 | 122.5 | |
| 4 | Lamp | 35 | 157.5 | |
| 5 | Mug | 8 | 165.5 | |
| 6 | Desk | 150 | 315.5 |
Argumen pertama, 0, adalah nilai awal. Untuk setiap harga, LAMBDA menerima total sejauh ini dan harga tersebut, lalu mengembalikan total yang baru. C2 berisi 2.5, 122.5, 157.5, 165.5, 315.5, dan D2 hanya menampilkan hasil akhirnya, 315.5. Untuk total biasa, SUM lebih sederhana, tapi REDUCE bisa membawa apa saja, misalnya teks yang terus bertambah atau hitungan yang hanya naik di baris tertentu.
Beri nama LAMBDA di dalam satu rumus dengan LET
LAMBDA tidak perlu Name Manager kalau hanya dipakai oleh satu rumus. Beri nama dengan LET, lalu berikan nama itu ke MAP atau BYROW:
| A | B | C | |
|---|---|---|---|
| 1 | Item | Price | Sale price |
| 2 | Pen | 2.5 | 2.25 |
| 3 | Bag | 120 | 108 |
| 4 | Lamp | 35 | 31.5 |
| 5 | Mug | 8 | 7.2 |
| 6 | Desk | 150 | 135 |
Setiap harga mendapat diskon 10%: 2.25, 108, 31.5, 7.2 dan 135. Di Excel, kamu juga bisa memanggil LAMBDA bernama itu langsung di dalam LET, =LET(f,LAMBDA(x,x*2),f(5)), yang mengembalikan 10.
Latihan: total per baris dengan BYROW
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Student | Test 1 | Test 2 | Test 3 | Total |
| 2 | Ann | 72 | 85 | 90 | |
| 3 | Ben | 64 | 70 | 58 | |
| 4 | Cara | 88 | 92 | 95 | |
| 5 | Dan | 75 | 60 | 81 |
Giliranmu: Di E2, kembalikan total tiga tes untuk setiap siswa, satu angka per baris, dengan satu rumus saja.
Error LAMBDA yang umum
=LAMBDA(x,x*2) #CALC! defined but never called
=LAMBDA(x,x*2)(5) 10
=LAMBDA(x,y,x*y)(3) #VALUE! two parameters, one value
=LAMBDA(x,x*2)(3,4) #VALUE! one parameter, two values
- #CALC! berarti ada LAMBDA di sebuah sel yang tidak dipanggil. Tambahkan input di dalam kurung, atau simpan di Name Manager lalu panggil dengan namanya.
- #VALUE! berarti jumlah nilai tidak sama dengan jumlah parameter. Hitung keduanya.
- #NAME? berarti versi Excel-mu tidak punya LAMBDA, atau nama yang disimpan salah ketik. Nama parameter mengikuti aturan LET: tanpa spasi, dan tidak boleh mirip alamat sel.
- LAMBDA di BYROW yang mengembalikan beberapa nilai per baris menghasilkan #CALC!. Setiap baris harus menghasilkan satu nilai; untuk mengembalikan satu baris hasil, pakai MAKEARRAY atau rumus array biasa.
Pertanyaan yang sering diajukan
Apa itu fungsi LAMBDA di Excel?
LAMBDA mengubah rumus menjadi fungsi dengan input yang diberi nama. =LAMBDA(price,price*1.2) menerima satu input bernama price dan mengembalikan price dikali 1.2. Panggil dengan menambahkan input di dalam kurung, =LAMBDA(price,price*1.2)(B2), atau simpan dengan sebuah nama di Name Manager.
Bagaimana cara membuat fungsi sendiri di Excel tanpa VBA?
Buka Formulas > Name Manager > New, ketik nama seperti ADDVAT, lalu di Refers to masukkan =LAMBDA(price,price*1.2). Klik OK, dan =ADDVAT(B2) bisa dipakai di sel mana pun dalam workbook itu.
Kenapa LAMBDA saya menghasilkan #CALC!?
LAMBDA yang diketik di sel tanpa input, seperti =LAMBDA(x,x*2), adalah fungsi yang tidak pernah dipanggil, jadi Excel menampilkan #CALC!. Tambahkan input di dalam kurung setelahnya, =LAMBDA(x,x*2)(5), atau simpan di Name Manager.
Versi Excel mana yang punya LAMBDA?
Microsoft 365, Excel 2024 dan Excel untuk web, bersama MAP, BYROW, BYCOL, SCAN, REDUCE dan MAKEARRAY. Excel 2021 punya LET, tapi tidak punya LAMBDA.
Apa fungsi BYROW di Excel?
BYROW menjalankan LAMBDA satu kali untuk setiap baris rentang dan mengembalikan satu hasil per baris: =BYROW(B2:D5,LAMBDA(r,MAX(r))) mengembalikan nilai terbesar setiap baris, yang spill ke bawah.