=IF(B2>=50,"Pass","Fail") mengecek apakah nilai di B2 adalah 50 atau lebih. Kalau ya, selnya menampilkan Pass; kalau tidak, selnya menampilkan Fail.
| A | B | C | |
|---|---|---|---|
| 1 | Student | Score | Result |
| 2 | Ana | 72 | Pass |
| 3 | Ben | 45 | Fail |
| 4 | Chloe | 50 | Pass |
| 5 | Dan | 38 | Fail |
| 6 | Eve | 91 | Pass |
Klik C2 untuk melihat rumusnya, lalu ubah nilai Ben di B3 menjadi 60: hasilnya berubah menjadi Pass. Chloe mendapat tepat 50, dan >= berarti "50 atau lebih", jadi ia lulus. Dengan >, ia akan gagal.
Sintaks IF
=IF(logical_test, value_if_true, value_if_false)
logical_testadalah perbandingan atau rumus apa pun yang menghasilkan TRUE atau FALSE:B2>=50,C2="Paid",D2<TODAY().value_if_trueadalah apa yang ditampilkan sel saat ujinya TRUE.value_if_falseadalah apa yang ditampilkan dalam kasus lainnya. Argumen ini opsional: kalau dihilangkan, sel menampilkan FALSE saat ujinya gagal. Kalau komanya tetap ditulis tetapi argumennya dikosongkan,=IF(B2>=50,"Pass",), selnya menampilkan 0.
Setiap hasil bisa berupa teks di dalam tanda kutip ganda ("Pass"), angka (0), referensi sel (C2), atau rumus lain. Teks tanpa tanda kutip dibaca sebagai nama, jadi =IF(B2>=50,Pass,Fail) menghasilkan #NAME?.
Operator perbandingannya adalah = (sama dengan), <> (tidak sama dengan), >, <, >=, dan <=. Di Excel yang diatur ke bahasa yang memakai koma sebagai pemisah desimal, argumennya dipisahkan dengan titik koma: =IF(B2>=50;"Pass";"Fail"). Google Sheets memakai IF yang sama dengan argumen yang sama.
IF dengan teks
Sebuah uji bisa membandingkan sel dengan teks. Teksnya ditulis di dalam tanda kutip ganda, dan perbandingannya mengabaikan huruf besar kecil.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Order | Region | Free delivery | Exact case |
| 2 | 1001 | North | Yes | Yes |
| 3 | 1002 | South | No | No |
| 4 | 1003 | north | Yes | No |
| 5 | 1004 | East | No | No |
| 6 | 1005 | NORTH | Yes | No |
Kolom C menampilkan Yes untuk North, north, dan NORTH, karena = tidak peduli huruf besar kecil. Kalau huruf besar kecil itu penting (kode produk, kata sandi), uji dengan EXACT, seperti di kolom D: hanya baris yang isinya persis North yang mendapat Yes.
Untuk menguji apa saja kecuali sebuah nilai, pakai <>: =IF(B2<>"North","Standard","Free"). Untuk menguji apakah sebuah sel mengandung suatu kata di bagian mana pun, IF butuh SEARCH, yang dibahas di halaman fungsi IS.
IF dengan perhitungan
Hasil IF tidak harus berupa teks. Di sini setiap sales mendapat bonus 5% untuk penjualan di atas 1.000, dan tidak mendapat apa pun di bawah angka itu:
| A | B | C | |
|---|---|---|---|
| 1 | Rep | Sales | Bonus |
| 2 | Ana | $1,400 | $70 |
| 3 | Ben | $800 | $0 |
| 4 | Chloe | $1,000 | $0 |
| 5 | Dan | $2,600 | $130 |
| 6 | Eve | $1,150 | $58 |
Ana mendapat 0. Chloe menjual tepat 1.000, sedangkan ujinya adalah "lebih besar dari 1.000", jadi ia juga mendapat 50.
Ujinya juga bisa membandingkan dua sel, =IF(B2>C2,"Over target","Under target"), atau sebuah sel dengan hasil perhitungan, =IF(B2>AVERAGE($B$2:$B$6),"Above average","").
IF untuk sel kosong
B2="" bernilai TRUE saat B2 kosong. Pakai uji ini untuk melewati baris yang belum punya data, supaya kolom rumusnya tidak penuh dengan angka nol:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Item | Qty | Price | Total | Status |
| 2 | Pens | 10 | $1.50 | $15.00 | Ordered |
| 3 | Paper | $4.20 | Not ordered | ||
| 4 | Ink | 2 | $18.00 | $36.00 | Ordered |
| 5 | Tape | $2.80 | Not ordered | ||
| 6 | Clips | 5 | $0.90 | $4.50 | Ordered |
"" (dua tanda kutip ganda tanpa apa pun di antaranya) adalah teks kosong, jadi Paper dan Tape tidak menampilkan apa pun di kolom D. Ketik sebuah jumlah di B3 dan totalnya muncul. Kolom E menguji kebalikannya dengan <>"", "tidak kosong".
Sel yang berisi ="" terlihat kosong tetapi tidak dianggap kosong oleh ISBLANK. Perbedaan ini penting saat rumus lain membaca kolom itu, misalnya COUNTA ikut menghitungnya.
IF dengan dua kondisi
IF menerima satu uji. Untuk mensyaratkan dua hal sekaligus, taruh AND di dalam ujinya; untuk menerima salah satu dari dua hal, pakai OR:
=IF(AND(B2>=50,C2>=50),"Pass","Fail")
=IF(OR(B2="North",B2="South"),"Zone 1","Zone 2")
Keduanya dijelaskan dengan contoh interaktif di halaman AND dan OR. Untuk tiga hasil atau lebih (A, B, C, F), susun satu IF di dalam IF lain (IF bertingkat) atau pakai IFS.
Latihan: pesan ulang atau tidak
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Item | Stock | Minimum | Status |
| 2 | Pens | 12 | 20 | |
| 3 | Paper | 30 | 25 | |
| 4 | Tape | 15 | 12 | |
| 5 | Ink | 8 | 10 |
Giliranmu: Di D2, tampilkan "Reorder" saat stok di B2 di bawah batas minimum di C2, selain itu tampilkan "OK". Rumusnya disalin ke bawah sampai D5.
| A | B | C | |
|---|---|---|---|
| 1 | Rep | Sales | Bonus |
| 2 | Ana | $1,250 | |
| 3 | Ben | $600 | |
| 4 | Chloe | $2,300 |
Giliranmu: Di C2, hasilkan bonus sebesar 10% dari penjualan di B2 saat penjualannya di atas 1000, dan 0 kalau tidak. Rumusnya disalin ke bawah sampai C4.
Kesalahan umum saat memakai IF
Tanda kutip di sekitar angka. =IF(B2>"50","High","Low") membandingkan B2 dengan teks "50", bukan angka 50. Excel menempatkan setiap angka di bawah setiap teks, jadi ujinya FALSE untuk angka berapa pun di B2 dan rumusnya selalu menghasilkan Low. Tulis angka tanpa tanda kutip: B2>50.
Memakai ==. Uji kesamaan di Excel adalah satu tanda =. Mengetik =IF(B2=="Paid","Yes","No") membuat Excel menolak rumusnya dengan pesan "There's a problem with this formula".
Angka yang tersimpan sebagai teks. Kalau B2 berisi '12 (teks yang terlihat seperti angka, sering kali hasil impor), B2>=50 membandingkan teks dengan angka. Teks selalu dianggap lebih besar, jadi ujinya TRUE dan 12 dinyatakan lulus. Ubah dulu kolomnya; halaman teks menjadi angka menunjukkan caranya.
Mengharapkan TRUE sebagai teks. =IF(B2>=50,"TRUE","FALSE") menghasilkan kata-kata itu sebagai teks, yang tidak bisa dipakai rumus lain sebagai nilai logika. Kalau yang kamu mau adalah TRUE dan FALSE, kamu sama sekali tidak butuh IF: =B2>=50 langsung menghasilkannya.
Kurung tutup yang terlupa. Setiap IF membuka satu kurung dan butuh ) miliknya sendiri. Saat kamu mengedit, Excel menampilkan setiap pasangan kurung dengan warnanya sendiri, sehingga kurung yang terlupa mudah dikenali.
Pertanyaan yang sering diajukan
Bagaimana cara menulis rumus IF THEN di Excel?
Tulis =IF(test, value_if_true, value_if_false). Misalnya, =IF(B2>=50,"Pass","Fail") menampilkan Pass saat B2 bernilai 50 atau lebih dan Fail kalau tidak. Hasil berupa teks ditulis di dalam tanda kutip ganda, sedangkan angka dan referensi sel tidak.
Kenapa rumus IF-ku menghasilkan FALSE?
Kamu tidak menulis argumen ketiganya. =IF(B2>=50,"Pass") menghasilkan FALSE saat ujinya gagal. Tambahkan nilai untuk kasus itu, misalnya "" untuk menampilkan sel kosong: =IF(B2>=50,"Pass","").
Apakah fungsi IF membedakan huruf besar dan kecil?
Tidak. =IF(B2="North","Yes","No") menghasilkan Yes untuk North, north, dan NORTH. Untuk mencocokkan huruf besar kecil yang persis, pakai EXACT sebagai ujinya: =IF(EXACT(B2,"North"),"Yes","No").
Bagaimana cara membuat IF mengosongkan sebuah sel?
Hasilkan string teks kosong, yaitu dua tanda kutip ganda: =IF(B2="","",B2*C2) tidak menampilkan apa pun saat B2 kosong dan menampilkan hasil kalinya kalau tidak. Sel itu tetap berisi rumus, jadi ISBLANK untuk sel itu menghasilkan FALSE.
Bisakah IF mengecek lebih dari satu kondisi?
Bisa. Taruh AND atau OR di dalam ujinya, =IF(AND(B2>=50,C2>=50),"Pass","Fail"), atau susun satu IF di dalam IF lain untuk lebih dari dua hasil. Di Excel 2019 dan sesudahnya, IFS menangani beberapa hasil tanpa perlu IF bertingkat.