MAP: Mengolah Setiap Nilai dalam Array Menggunakan LAMBDA
1. Mengenal Fungsi MAP
Fungsi MAP di Microsoft Excel digunakan untuk menerapkan perhitungan atau logika terhadap setiap nilai dalam satu atau beberapa array. Fungsi ini bekerja bersama fungsi LAMBDA, yang memungkinkan kita mendefinisikan perhitungan tanpa harus membuat formula secara terpisah untuk setiap baris atau kolom.
Dengan MAP, kita dapat mengolah seluruh kumpulan data menggunakan satu formula. Hasilnya berupa array baru yang berisi hasil perhitungan untuk setiap elemen yang diproses.
Sebagai contoh, jika kita memiliki daftar harga produk dan ingin memberikan diskon 10% untuk setiap harga, kita dapat menggunakan MAP bersama LAMBDA tanpa perlu menyalin formula ke setiap baris.
Mengapa fungsi MAP penting?
- Mengolah banyak nilai dengan satu formula.
- Mengurangi kebutuhan menyalin formula ke bawah atau ke samping.
- Menggabungkan perhitungan dengan logika khusus menggunakan
LAMBDA. - Mempermudah pengolahan array dinamis dan otomatisasi laporan.
2. Sintaks Fungsi MAP
=MAP(array1; [array2]; ...; LAMBDA(parameter1; [parameter2]; ...; perhitungan))
Sintaks di atas menggunakan titik koma (;) sebagai pemisah argumen, sesuai pengaturan regional Excel yang umum digunakan di Indonesia.
Penjelasan argumen:
array1: array atau rentang data pertama yang akan diproses.array2dan seterusnya: array tambahan yang nilainya akan diproses bersama array pertama.LAMBDA(...): menentukan parameter dan perhitungan atau logika yang diterapkan pada setiap elemen array.
Nama parameter di dalam LAMBDA dapat ditentukan sendiri. Setiap parameter menerima nilai dari elemen array yang bersesuaian.
3. Contoh 1 — Menghitung Harga Setelah Diskon
Misalnya, kita memiliki daftar harga produk berikut.
| Produk | Harga |
|---|---|
| Produk A | 100.000 |
| Produk B | 150.000 |
| Produk C | 200.000 |
| Produk D | 250.000 |
Kita ingin memberikan diskon sebesar 10% untuk setiap produk. Jika harga berada pada sel B2:B5, gunakan formula berikut:
=MAP(B2:B5;LAMBDA(harga;harga*90%))
Penjelasan formula:
B2:B5adalah rentang harga yang akan diproses.LAMBDA(harga;...)menetapkan parameter bernamahargauntuk setiap nilai.harga*90%menghitung harga setelah diskon 10%.MAPmengembalikan seluruh hasil sebagai array dinamis.
Hasil perhitungan:
| Produk | Harga Setelah Diskon |
|---|---|
| Produk A | 90.000 |
| Produk B | 135.000 |
| Produk C | 180.000 |
| Produk D | 225.000 |
Cukup masukkan satu formula pada satu sel. Excel akan menampilkan hasil untuk seluruh produk secara otomatis, selama sel-sel hasil di bawahnya tidak terhalang data lain.
4. Contoh 2 — Menghitung Bonus Berdasarkan Penjualan
Fungsi MAP juga dapat digunakan untuk menerapkan logika berbeda berdasarkan nilai setiap elemen.
Misalnya, perusahaan memberikan bonus penjualan dengan ketentuan:
- Penjualan minimal Rp10.000.000 mendapatkan bonus 5%.
- Penjualan di bawah Rp10.000.000 tidak mendapatkan bonus.
Data penjualan:
| Sales | Penjualan |
|---|---|
| Andi | 12.000.000 |
| Budi | 8.000.000 |
| Citra | 15.000.000 |
| Dedi | 6.000.000 |
Jika nilai penjualan berada pada sel B2:B5, gunakan formula berikut:
=MAP(B2:B5;LAMBDA(jual;IF(jual>=10000000;jual*5%;0)))
Hasil perhitungan:
| Sales | Bonus |
|---|---|
| Andi | 600.000 |
| Budi | 0 |
| Citra | 750.000 |
| Dedi | 0 |
Logika bonus hanya ditulis satu kali. Jika data penjualan berubah, hasil perhitungan akan diperbarui secara otomatis.
5. Contoh 3 — Mengolah Dua Array Sekaligus
Salah satu kemampuan penting MAP adalah memproses beberapa array secara bersamaan berdasarkan posisi elemennya.
Misalnya, perusahaan ingin menghitung nilai penjualan dari jumlah unit terjual dikalikan harga per unit.
| Produk | Unit Terjual | Harga per Unit |
|---|---|---|
| Buku | 10 | 50.000 |
| Pulpen | 20 | 5.000 |
| Tas | 5 | 200.000 |
| Kalkulator | 3 | 150.000 |
Misalkan jumlah unit berada pada B2:B5 dan harga per unit berada pada C2:C5. Gunakan formula berikut:
=MAP(B2:B5;C2:C5;LAMBDA(unit;harga;unit*harga))
Hasil perhitungan:
| Produk | Nilai Penjualan |
|---|---|
| Buku | 500.000 |
| Pulpen | 100.000 |
| Tas | 1.000.000 |
| Kalkulator | 450.000 |
Pada formula tersebut:
B2:B5adalah array jumlah unit.C2:C5adalah array harga per unit.LAMBDA(unit;harga;unit*harga)menerima dua nilai sekaligus dan mengalikannya.
Jumlah parameter pada LAMBDA harus sesuai dengan jumlah array yang diproses. Karena ada dua array, kita menggunakan dua parameter, yaitu unit dan harga.
6. Contoh 4 — Mengubah Nilai Negatif Menjadi Nol
Dalam laporan keuangan, terkadang kita ingin mempertahankan nilai positif dan mengubah nilai negatif menjadi nol.
Data awal:
| Nilai Awal |
|---|
| 150.000 |
| -50.000 |
| 200.000 |
| -25.000 |
| 75.000 |
Jika data berada pada rentang A2:A6, gunakan formula berikut:
=MAP(A2:A6;LAMBDA(nilai;MAX(0;nilai)))
Hasil perhitungan:
| Nilai Awal | Hasil |
|---|---|
| 150.000 | 150.000 |
| -50.000 | 0 |
| 200.000 | 200.000 |
| -25.000 | 0 |
| 75.000 | 75.000 |
Fungsi MAX menentukan nilai terbesar antara nol dan nilai yang sedang diproses. MAP mengulangi perhitungan tersebut untuk setiap elemen array.
7. Perbedaan MAP dengan Formula Biasa
| Aspek | Formula Biasa | MAP |
|---|---|---|
| Cara kerja | Dapat disalin ke setiap baris | Satu formula memproses seluruh array |
| Perhitungan khusus | Menggunakan formula per sel | Menggunakan LAMBDA per elemen |
| Beberapa array | Bisa menggunakan referensi sel | Dapat memproses nilai dari beberapa array sekaligus |
| Hasil | Umumnya satu hasil per formula | Array hasil yang ditampilkan secara dinamis |
Formula biasa juga dapat menggunakan operasi array dinamis. Jadi, MAP tidak selalu lebih baik atau lebih singkat. Keunggulan utamanya adalah ketika setiap elemen membutuhkan logika atau perhitungan khusus yang diterapkan secara konsisten.
8. Kesalahan yang Perlu Dihindari
Beberapa hal yang perlu diperhatikan saat menggunakan MAP:
- Jumlah parameter tidak sesuai. Jika memproses dua array,
LAMBDAharus menerima dua parameter. - Ukuran array tidak cocok. Array yang dipasangkan sebaiknya memiliki dimensi yang sama agar nilai diproses sesuai posisinya.
- Hasil LAMBDA berupa array bersarang. Setiap elemen yang diproses oleh
MAPharus menghasilkan satu nilai, bukan array hasil bertingkat. - Versi Excel tidak mendukung. Fungsi ini tersedia di Microsoft 365 dan Excel 2024, tetapi tidak tersedia pada semua versi Excel lama.
Jika formula menghasilkan #VALUE! atau #N/A, periksa jumlah parameter, susunan argumen, dan hasil yang dikembalikan oleh LAMBDA.
9. Kapan Sebaiknya Menggunakan MAP?
Gunakan MAP ketika Anda perlu:
- Menghitung komisi, bonus, atau diskon dengan ketentuan khusus.
- Mengolah dua atau lebih kolom secara bersamaan.
- Menerapkan logika
IF,AND, atauORuntuk setiap elemen secara terpisah. - Membuat formula array dinamis tanpa harus menyalin formula ke banyak baris.
- Menggabungkan transformasi data dengan fungsi
LAMBDA.
Untuk kebutuhan lain, BYROW cocok ketika perhitungan dilakukan per baris, sedangkan BYCOL digunakan untuk perhitungan per kolom. MAKEARRAY digunakan ketika kita ingin membentuk array baru berdasarkan jumlah baris dan kolom tertentu.
10. Kesimpulan
Fungsi MAP merupakan salah satu fungsi penting dalam keluarga Dynamic Array Excel. Dengan menggabungkannya bersama LAMBDA, kita dapat menerapkan perhitungan dan logika khusus pada setiap nilai dalam satu atau beberapa array menggunakan satu formula.
Memahami MAP akan membantu Anda menyusun formula yang lebih ringkas, konsisten, dan mudah dikembangkan, khususnya untuk pengolahan data dan pembuatan laporan bisnis.
