=IFS(B2>=90,"A",B2>=80,"B",B2>=70,"C",TRUE,"F") menguji kondisinya dari yang pertama sampai yang terakhir dan menghasilkan nilai yang dipasangkan dengan kondisi pertama yang bernilai TRUE. Fungsi ini melakukan apa yang dilakukan IF bertingkat, tanpa menaruh satu IF di dalam IF lainnya. IFS butuh Excel 2019 atau yang lebih baru, atau Microsoft 365.
| 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 |
| 7 | Finn | 90 | A |
Klik C2: empat pasangan uji dan hasil, dan satu kurung tutup. Ubah nilai Chloe di B4 menjadi 69 dan nilai hurufnya turun menjadi F.
Sintaks IFS
=IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], ...)
- Argumennya berpasangan: sebuah uji yang menghasilkan TRUE atau FALSE, lalu nilai yang dikembalikan saat uji itu TRUE.
- Excel mengecek ujinya secara berurutan dan mengembalikan nilai dari uji pertama yang bernilai TRUE. Uji-uji sesudahnya tidak dicek, jadi untuk uji
>=, taruh batas tertinggi di urutan pertama. - Maksimal 127 pasangan.
- Tidak ada argumen "else" tersendiri. Pasangan terakhir dengan
TRUEsebagai ujinya yang melakukan tugas itu.
Uji tanpa nilainya (jumlah argumen ganjil) membuat Excel menolak rumusnya dengan pesan "You've entered too few arguments for this function".
TRUE sebagai nilai bawaan, dan #N/A saat tidak ada yang cocok
Kalau tidak ada uji yang bernilai TRUE, IFS menghasilkan #N/A. Kolom C di bawah tidak punya nilai bawaan dan gagal di dua nilai yang rendah; kolom D diakhiri dengan TRUE,"F" dan menangkap keduanya:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Student | Score | No default | TRUE default |
| 2 | Ana | 94 | A | A |
| 3 | Ben | 81 | B | B |
| 4 | Dan | 65 | #N/A | F |
| 5 | Eve | 88 | B | B |
| 6 | Gus | 52 | #N/A | F |
#N/A Nilai yang kamu cari tidak ada di rentang pencarian.TRUE adalah uji yang selalu benar, jadi uji itu hanya dicapai saat setiap uji sebelumnya bernilai FALSE, dan harus menjadi pasangan terakhir: apa pun yang ada sesudahnya tidak pernah dicek. Nilai bawaannya bisa berupa nilai apa saja: TRUE,"" untuk sel kosong, TRUE,"Check" untuk menandai barisnya. Kalau kamu ingin menyembunyikan #N/A tanpa nilai bawaan, =IFNA(IFS(...),"No grade") juga bisa; halaman IFERROR menjelaskan IFNA.
IFS dengan teks dan dengan AND atau OR
Ujinya adalah ekspresi logika biasa, jadi bisa membandingkan teks dan memakai AND dan OR. Di sini pilihan pengiriman bergantung pada wilayah dan total pesanannya:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Order | Region | Total | Delivery |
| 2 | 1001 | North | $120 | Free |
| 3 | 1002 | North | $60 | Standard |
| 4 | 1003 | South | $150 | Express |
| 5 | 1004 | East | $40 | Post |
| 6 | 1005 | north | $300 | Free |
Pesanan 1001 berasal dari North dan di atas 100, jadi mendapat Free. Pesanan 1002 berasal dari North tetapi di bawah 100, jadi uji pertama gagal dan uji kedua, B2="North", menghasilkan Standard. Perbandingan teks mengabaikan huruf besar kecil, jadi 1005, yang ditulis north, juga mendapat Free.
Kalau setiap uji membandingkan sel yang sama dengan nilai tetap (B2="N", B2="S", B2="E"), SWITCH menuliskan setiap nilai satu kali dan lebih singkat: =SWITCH(B2,"N","North","S","South","Other").
Latihan: kecepatan pengiriman
| A | B | C | |
|---|---|---|---|
| 1 | Order | Days | Speed |
| 2 | 1001 | 3 | |
| 3 | 1002 | 1 | |
| 4 | 1003 | 7 | |
| 5 | 1004 | 2 | |
| 6 | 1005 | 5 |
Giliranmu: Di C2, hasilkan "Express" saat jumlah hari di B2 adalah 1 atau kurang, "Standard" saat 3 atau kurang, dan "Slow" selain itu. Pakai IFS. Rumusnya disalin ke bawah sampai C6.
IFS vs IF bertingkat
Kedua rumus di bawah menghasilkan nilai huruf yang sama untuk setiap nilai:
=IF(B2>=90,"A",IF(B2>=80,"B",IF(B2>=70,"C","F")))
=IFS(B2>=90,"A",B2>=80,"B",B2>=70,"C",TRUE,"F")
| IFS | IF bertingkat | |
|---|---|---|
| Kurung | Satu pasang | Satu pasang per IF |
| Nilai bawaan | Pasangan TRUE terakhir | value_if_false dari IF terakhir |
| Tidak ada uji yang cocok | #N/A kecuali kamu menambahkan TRUE | value_if_false dari IF terakhir (FALSE kalau kamu menghilangkannya) |
| Batas | 127 pasangan | 64 IF bertingkat |
| Excel 2016 dan sebelumnya | #NAME? | Berfungsi |
Pilih IFS kalau semua orang yang membuka file-nya memakai Excel 2019 atau yang lebih baru, dan IF bertingkat kalau file-nya dikirim ke seseorang dengan Excel versi lama. Kalau hanya ada dua hasil, IF biasa lebih sederhana daripada keduanya. Untuk banyak rentang angka (golongan pajak, berat kiriman), keduanya bukan alat terbaik: tabel pencarian dengan pencocokan perkiraan menyimpan batas-batasnya di sel, seperti ditunjukkan di halaman IF bertingkat.
Pertanyaan yang sering diajukan
Bagaimana cara menambahkan nilai else ke IFS?
Jadikan uji terakhirnya TRUE, yang selalu benar: =IFS(B2>=90,"A",B2>=80,"B",TRUE,"F"). Nilai apa pun yang tidak cocok dengan uji-uji sebelumnya mendapat F.
Kenapa IFS menghasilkan #N/A?
Tidak ada uji yang bernilai TRUE dan tidak ada pasangan TRUE di akhir. =IFS(B2>=90,"A",B2>=80,"B") menghasilkan #N/A untuk nilai 75. Tambahkan TRUE,"F" di akhir, atau bungkus rumusnya dengan IFNA.
Versi Excel mana yang punya IFS?
Excel 2019, Excel 2021, Excel 2024, dan Microsoft 365, juga Excel untuk web. Di Excel 2016 dan sebelumnya, rumus dengan IFS menampilkan #NAME?, jadi pakai IF bertingkat di sana. Google Sheets juga punya IFS.
Apakah IFS lebih baik daripada IF bertingkat?
IFS lebih mudah dibaca dan hanya punya satu kurung tutup, tetapi cara kerjanya sama: uji pertama yang bernilai TRUE yang menang. IF bertingkat tetap menjadi pilihan kalau file-nya harus bisa dibuka di Excel 2016 atau sebelumnya.