Saat berkutat dengan rumus Excel di mana kita harus memilih salah satu dari beberapa kemungkinan nilai, kita dapat menggunakan rumus CHOOSE.
Artikel ini mengurai fungsi CHOOSE pada Excel, bentuk sintaks, serta beberapa contoh penggunaannya.
File: fungsi-choose-excel.xlsx.
Apakah Fungsi CHOOSE Pada Excel Itu?
Fungsi CHOOSE Excel adalah fungsi yang mengembalikan nilai dari suatu daftar berdasarkan indeks yang menyatakan posisi nilai tersebut di dalamnya.
Sebagai contoh, di dalam daftar nama bulan dari Januari sampai Desember, indeks 6 akan mengembalikan Juni.
Sintaks
CHOOSE(index_num; value1; [value2]; …)
- index_num (wajib) adalah indeks, baik berupa angka dari 1 sampai 254 atau fungsi yang mengembalikan angka dari rentang nilai yang sama. index_num menentukan posisi nilai mana di dalam daftar yang harus diambil.
- Bila index_num lebih kecil dari 1 atau lebih besar dari 254, CHOOSE akan mengembalikan pesan error #VALUE!.
- Bila index_num bernilai desimal, CHOOSE akan memotong nilai desimalnya dan mengambil bilangan bulat yang tersisa.
- value1 (wajib), serta value2 sampai value254 (opsional) adalah nilai pertama, kedua, sampai ke-254 di dalam daftar.
- value1 akan dikembalikan bila index_num bernilai 1.
- value1, value2, dan seterusnya dapat berupa nilai, referensi, array, atau fungsi dengan tipe data apa pun.
Cara Menggunakan Fungsi CHOOSE Pada Excel
Dalam bentuk paling sederhana, rumus CHOOSE Excel hanya menuntut angka indeks dan daftar dengan satu nilai.
=CHOOSE(1; "Januari")
Pada rumus di atas:
- 1 adalah index_num.
- Januari adalah value1.
Keduanya adalah parameter wajib fungsi CHOOSE.
Rumus di atas mengembalikan Januari, yaitu nilai di urutan kesatu dalam daftar.
Kita dapat memperluas rumus dengan menambahkan nilai-nilai lain ke dalam daftar.
=CHOOSE(3; "Januari"; "Februari"; "Maret"; "April"; "Mei"; "Juni")
Februari sampai Juni merupakan value2 sampai value6.
Rumus mengembalikan Maret, yang merupakan nilai ketiga dalam daftar.
Bila mau, kita dapat menggunakan referensi cell sebagai pengganti nilai hardcode.
=CHOOSE(D1; A2; A3; A4; A5; A6; A7; A8)

Rumus CHOOSE Excel Beberapa Baris atau Kolom
Rumus CHOOSE bisa menghasilkan beberapa baris atau kolom nilai dengan menggunakan array sebagai indeks atau sebagai daftar.
Rumus dengan Indeks Array
CHOOSE akan mengembalikan nilai-nilai pada posisi yang sesuai dengan angka-angka indeks yang di dalam array.
Array dapat berupa array constant atau range.
=CHOOSE({1,6}; A2; A3; A4; A5; A6; A7)
=CHOOSE(D1:E1; A2; A3; A4; A5; A6; A7)
Kedua rumus di atas mengembalikan hasil yang sama, yaitu array horisontal dengan nilai-nilai Januari dan Juni.
Pertanyaan: Teman-teman tau apa bedanya array {1, 6} dan {1; 6}?

Rumus dengan Daftar Array
Tidak hanya sebagai indeks, array juga bisa berfungsi sebagai parameter daftar seperti yang ditunjukkan oleh rumus berikut.
Daftar dalam bentuk array bisa berupa array constant.
=CHOOSE(2; {"Nasi";"Tempe";"Sayur Asem"}; {"Nasi";"Ayam";"Kacang Panjang"})
Atau, berupa array range.
=CHOOSE(1; A2:A5; A5:A8)
Rumus di atas akan mengembalikan array berupa nilai-nilai yang berada pada range A2:A5.
Lebih jauh lagi, kita dapat menggabungkan daftar array dengan indeks array.
=CHOOSE(D1:E1, A2:A5, A5:A8)
Rumus di atas menggabungkan kedua array A2:A5 dan A5:A8 menjadi satu.

Contoh lain penggabungan array bisa dilihat pada kombinasi CHOOSE dan VLOOKUP.
Fungsi CHOOSE Mengambil Nama Hari di Excel
Kadang kita mau menampilkan nama hari berdasarkan tanggal tertentu.
Kita dapat melakukannya dengan memformat tanggal bersangkutan agar hanya menampilkan hari.
Alternatif lainnya adalah menggunakan fungsi CHOOSE.
=CHOOSE(WEEKDAY(A2; 11); "Senin"; "Selasa"; "Rabu"; "Kamis"; "Jumat"; "Sabtu"; "Minggu")
Memahami rumus di atas cukup mudah.
WEEKDAY mengambil angka urutan hari dari suatu tanggal (dengan Senin sebagai hari pertama). Angka ini digunakan oleh CHOOSE untuk menentukan nama hari berdasarkan daftar yang ada.

Dengan konsep yang sama, kita dapat menggunakan CHOOSE untuk menampilkan nama bulan suatu tanggal.
Fungsi CHOOSE Excel Sebagai Alternatif Rumus IF Bertingkat
Di bawah ini adalah tabel rentang nilai dan tingkat nilai.
Skala Nilai | Grade |
---|---|
0-59 | E |
60-69 | D |
70-79 | C |
80-89 | B |
90-100 | A |
Rumus berikut adalah contoh rumus IF bertingkat atau bersarang. Rumus mencari nilai kualitatif berdasarkan nilai kuantitatif, seperti diperlihatkan pada tabel di atas.
=IF(D1>=90; "A"; IF(D1>=80; "B"; IF(D1>=70; "C"; IF(D1>=60; "D"; "E"))))
IF bertingkat bisa menambah kompleksitas rumus, menjadikan rumus sulit dibaca dan dimodifikasi.
Alih-alih menggunakan IF bertingkat, ada beberapa alternatif yang lebih baik. Fungsi CHOOSE adalah salah satunya.
=CHOOSE((E2>=90)+(E2>=80)+(E2>=70)+(E2>=60)+(E2>=0); "E"; "D"; "C"; "B"; "A")
Walau pun kelihatannya lebih kompleks, rumus CHOOSE di atas sebenarnya lebih sederhana dan memberikan hasil yang sama dengan IF bertingkat.
Berikut penjelasannya:
- Rumus CHOOSE membandingkan nilai E2 dengan batas bawah setiap rentang (
(E2>=90)+(E2>=80)+(E2>=70)+(E2>=60)+(E2>=0)
). - Setiap perbandingan akan menghasilkan nilai Boolean. TRUE bila benar, FALSE bila salah.
- Contohnya, bila nilai E2=88, maka
(88>=90)+(88>=80)+(88>=70)+(88>=60)+(88>=0)=FALSE+TRUE+TRUE+TRUE+TRUE
. - Bila anggota operasi aritmetika adalah Boolean, Excel akan mengubah setiap nilai Boolean menjadi 1 bila TRUE atau 0 bila FALSE.
- Karenanya, hasil dari operasi penjumlahan menjadi
FALSE+TRUE+TRUE+TRUE+TRUE
=>0+1+1+1+1=4
. - 4 menjadi indeks yang menentukan bahwa posisi nilai kualitatif bagi 88, yaitu B, ada di posisi keempat dalam daftar.

Lihat Gambar 05. Bila mengikuti peraturan pembulatan, nilai-nilai pada cell E5, E8, dan E9 seharusnya memiliki predikat D, B, dan C. Tapi, sesuai spesifikasi, CHOOSE membuang nilai desimal dan hanya mengambil bilangan bulatnya saja.
Rumus VLOOKUP dan CHOOSE
Teman-teman mungkin tau bahwa salah satu kekurangan fungsi VLOOKUP adalah tidak bisa melihat ke kiri.
Ada fungsi XLOOKUP atau kombinasi MATCH dan INDEX yang bisa menjawab masalah VLOOKUP. Tapi bila teman-teman ngotot mau pakai VLOOKUP, maka kombinasikan fungsi ini dengan CHOOSE.
Perhatikan data pada Gambar 06.
Kami ingin mengambil kode karyawan berdasarkan kode sales. Tapi, berhubung kolom kode karyawan ada di sebelah kiri kode sales, maka hal tersebut tidak dimungkinkan.
=VLOOKUP(F1; CHOOSE({1,2}; B2:B11; A2:A11); 2; FALSE)
Berikut penjelasan rumus:
- Dengan CHOOSE kita mengambil data kolom kode sales dan kode karyawan.
- Indeks 1 diberikan pada data kode sales dan 2 bagi data kode karyawan.
- Dengan pemberian indeks seperti ini, CHOOSE mengubah penempatan kedua kolom.
- Pada kelanjutannya, CHOOSE menggabungkan kedua kolom data berdasarkan urutan indeks, yaitu kolom kode sales di kiri dan kode karyawan di kanan.
- Kolom hasil gabungan ini digunakan oleh VLOOKUP untuk mencari kode karyawan yang diinginkan berdasarkan kode sales.

Fungsi CHOOSE dan WEEKDAYS
Pada contoh sebelumnya, kita melihat kombinasi CHOOSE dan WEEKDAY untuk mengambil nama hari.
Pada contoh kali ini, kita menggunakan kombinasi fungsi yang sama untuk melihat kapan tanggal hari kerja terdekat setelah tanggal tertentu.
=A2+CHOOSE(WEEKDAY(A2; 11); 1; 1; 1; 1; 3; 2; 1)
Berikut penjelasan rumus:
- Cell A2 adalah nilai tanggal.
- Fungsi WEEKDAY mencari angka posisi hari tanggal tersebut, dengan Senin sebagai hari kesatu.
- CHOOSE akan mengembalikan angka berdasarkan posisi hari.
- Misalkan hari Senin (WEEKDAY=1), maka CHOOSE mengembalikan 1 (karena hari kerja berikut, yaitu Selasa, adalah satu hari setelah Senin).
- Bila Jumat, (WEEKDAY=5), maka CHOOSE mengembalikan 3 (karena hari kerja berikutnya, yaitu Senin, adalah tiga hari setelah Jumat).
- Angka kembalian CHOOSE kemudian ditambahkan ke A2 (bagian awal rumus).
- Misalkan A2 adalah 17 Maret 2024 (hari Jumat), dengan menambahkan 3 pada tanggal tersebut, kita mendapatkan 20 Maret 2024 (hari Senin).
