=SWITCH(B2,"N","North","S","South","E","East","Unknown") membandingkan B2 dengan "N", "S" dan "E" secara berurutan dan mengembalikan nama yang dipasangkan dengan kecocokan persis pertama. Jika B2 tidak cocok dengan satu pun, rumusnya mengembalikan argumen terakhir, Unknown.
| A | B | C | |
|---|---|---|---|
| 1 | Store | Code | Region |
| 2 | 101 | N | North |
| 3 | 102 | S | South |
| 4 | 103 | W | Unknown |
| 5 | 104 | E | East |
| 6 | 105 | n | North |
Klik C2 untuk melihat rumusnya. Toko 103 punya kode W, yang tidak ada di daftar, jadi hasilnya Unknown. Toko 105 punya huruf kecil n dan tetap mendapat North: pencocokan teks di SWITCH tidak membedakan huruf besar dan kecil. Ubah B4 menjadi S, wilayahnya langsung diperbarui.
Sintaks SWITCH
=SWITCH(expression, value1, result1, [value2, result2], ..., [default])
expressiondihitung sekali: sebuah sel, atau rumus sepertiWEEKDAY(A2)atauMONTH(A2).- Setelah itu ada pasangan-pasangan berupa nilai dan hasil yang dikembalikan jika
expressionsama dengan nilai itu. Jumlahnya bisa sampai 126 pasang. defaultbersifat opsional: satu argumen tambahan setelah pasangan terakhir. SWITCH tahu itu nilai default karena argumen tersebut tidak punya pasangan.- Pencocokannya persis. SWITCH tidak bisa menguji "lebih dari" sendirian (lihat SWITCH(TRUE) di bawah).
SWITCH butuh Excel 2019 atau yang lebih baru, atau Microsoft 365. Di Excel 2016 versi lisensi permanen atau yang lebih lama, rumus dengan SWITCH menampilkan #NAME?. Google Sheets juga punya SWITCH.
Nilai default, dan #N/A jika tidak ada
Tanpa nilai default, nilai yang tidak cocok dengan apa pun menghasilkan #N/A. Di sini nomor hari dari WEEKDAY (1 adalah Minggu, 7 adalah Sabtu) diubah menjadi label; kolom C tidak punya nilai default, kolom D memakai "Weekday" sebagai nilai default-nya:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Date | Day number | No default | With default |
| 2 | 2026-03-14 | 7 | Saturday | Saturday |
| 3 | 2026-03-15 | 1 | Sunday | Sunday |
| 4 | 2026-03-16 | 2 | #N/A | Weekday |
| 5 | 2026-03-17 | 3 | #N/A | Weekday |
| 6 | 2026-03-21 | 7 | Saturday | Saturday |
14 dan 21 Maret 2026 adalah hari Sabtu dan 15 Maret adalah hari Minggu, jadi kedua kolom menamai hari-hari itu. Senin dan Selasa tidak cocok dengan 1 maupun 7: kolom C menampilkan #N/A, kolom D menampilkan Weekday. Kolom D juga menunjukkan bahwa ekspresinya bisa berupa rumus: WEEKDAY dijalankan sekali dan SWITCH membandingkan hasilnya dengan setiap nilai.
SWITCH(TRUE, ...) untuk rentang nilai
SWITCH hanya memeriksa kesamaan, tetapi ekspresinya bisa berupa TRUE. Setiap nilai lalu menjadi sebuah perbandingan, dan SWITCH mengembalikan hasil dari perbandingan pertama yang sama dengan TRUE. Dengan begitu SWITCH bekerja seperti IFS, dengan nilai default di akhir:
| A | B | C | |
|---|---|---|---|
| 1 | Student | Score | Grade |
| 2 | Ana | 94 | A |
| 3 | Ben | 81 | B |
| 4 | Chloe | 70 | C |
| 5 | Dan | 65 | F |
| 6 | Eve | 88 | B |
Perbandingannya dibaca berurutan, jadi batas tertinggi ditulis paling awal, aturan yang sama seperti untuk IF bertingkat dan IFS. "F" di akhir tidak punya pasangan, jadi itulah nilai default untuk setiap skor di bawah 70. IFS bisa menulis aturan yang sama dengan sama jelasnya; bedanya hanya di mana TRUE ditulis: sekali di awal pada SWITCH, sebagai uji terakhir pada IFS.
Memetakan angka ke nama
Pemakaian yang sering adalah mengubah kode berupa angka menjadi kata, misalnya posisi finis menjadi medali:
| A | B | C | |
|---|---|---|---|
| 1 | Runner | Rank | Medal |
| 2 | Ana | 2 | Silver |
| 3 | Ben | 1 | Gold |
| 4 | Chloe | 4 | |
| 5 | Dan | 3 | Bronze |
| 6 | Eve | 7 |
Chloe dan Eve finis di luar tiga besar, jadi mereka mendapat nilai default, yaitu teks kosong. Jika kodenya 1, 2, 3 dan seterusnya tanpa lompatan, CHOOSE lebih pendek, =CHOOSE(B2,"Gold","Silver","Bronze"), tetapi tidak punya nilai default dan menghasilkan #VALUE! untuk 4 ke atas.
Latihan: kode status
| A | B | C | |
|---|---|---|---|
| 1 | Invoice | Code | Status |
| 2 | INV-01 | P | |
| 3 | INV-02 | U | |
| 4 | INV-03 | X | |
| 5 | INV-04 | P |
Giliranmu: Di C2, ubah kode di B2 menjadi kata dengan SWITCH: P berarti "Paid", U berarti "Unpaid", dan selain itu "Check". Rumusnya disalin ke bawah sampai C5.
SWITCH vs IFS vs IF bertingkat
Ketiganya mengembalikan salah satu dari beberapa hasil; bedanya ada pada apa yang diuji.
| SWITCH | IFS | IF bertingkat | |
|---|---|---|---|
| Menguji | Satu ekspresi untuk kesamaan | Kondisi apa pun per pasangan | Kondisi apa pun per tingkat |
| Nilai default | Argumen terakhir, opsional | Pasangan TRUE di akhir | Nilai salah dari IF terakhir |
| Tidak cocok, tanpa nilai default | #N/A | #N/A | FALSE, jika IF terakhir tidak punya value_if_false |
| Mengulang selnya | Tidak: B2 ditulis sekali | Ya: B2="N", B2="S"... | Ya |
| Excel 2016 dan sebelumnya | #NAME? | #NAME? | Bisa |
Pakai SWITCH jika satu sel atau satu rumus dibandingkan dengan daftar nilai tetap (kode, nomor hari, bulan); rumusnya paling pendek dan ekspresinya hanya dijalankan sekali. Pakai IFS jika setiap uji adalah perbandingan yang berbeda atau membaca sel yang berbeda. Pakai IF bertingkat jika file-nya harus bisa dibuka di Excel 2016 atau yang lebih lama. Jika daftar kodenya panjang atau sering berubah, taruh di tabel dua kolom dan cari dengan XLOOKUP, supaya menambah kode cukup dengan menambah baris, bukan mengedit setiap rumus.
Pertanyaan yang sering diajukan
Apa fungsi SWITCH di Excel?
SWITCH membandingkan satu ekspresi dengan daftar nilai dan mengembalikan hasil yang dipasangkan dengan nilai pertama yang cocok persis. =SWITCH(B2,1,"Gold",2,"Silver",3,"Bronze","") mengubah peringkat menjadi nama medali dan mengembalikan teks kosong untuk peringkat lainnya.
Kenapa SWITCH menghasilkan #N/A?
Ekspresinya tidak cocok dengan satu pun nilai dan tidak ada nilai default. Tambahkan satu argumen lagi setelah pasangan terakhir, misalnya "Other", dan SWITCH akan mengembalikannya sebagai ganti #N/A.
Apakah SWITCH bisa menguji rentang seperti lebih dari?
Tidak secara langsung, karena SWITCH hanya menguji kesamaan. Pakai TRUE sebagai ekspresi dan perbandingan sebagai nilainya: =SWITCH(TRUE,B2>=90,"A",B2>=80,"B","F") mengembalikan hasil dari perbandingan pertama yang bernilai TRUE.
Apakah ada fungsi SWITCH di Excel 2016?
Hanya di Excel 2016 versi Microsoft 365. SWITCH ada di Excel 2019, Excel 2021, Excel 2024 dan Microsoft 365; Excel 2016 versi lisensi permanen atau yang lebih lama menampilkan #NAME?, jadi di sana pakai IF bertingkat atau CHOOSE.