Rumus IF Excel: Tunggal, Bertingkat, AND/OR, dan IFS + Contoh
Rumus IF Excel dipakai untuk membuat keputusan otomatis: Excel memeriksa sebuah syarat, lalu menampilkan satu hasil kalau syaratnya benar dan hasil lain kalau salah. Bentuk dasarnya =IF(syarat;hasil_jika_benar;hasil_jika_salah), misalnya =IF(B2>=75;"Lulus";"Remedial"). Dari pola sederhana ini Anda bisa membuat predikat nilai, status pembayaran, bonus penjualan, sampai diskon bertingkat.
Ringkasan:
- Pola IF:
=IF(syarat;jika_benar;jika_salah). Teks hasil wajib diapit tanda kutip dua. - Lebih dari dua pilihan: pakai IF bertingkat atau IFS (Excel 2019 ke atas dan Microsoft 365). Urutkan syarat dari batas tertinggi.
- Dua syarat sekaligus: gabungkan dengan AND (semua harus benar) atau OR (cukup salah satu).
- Jebakan paling sering: sel kosong dianggap 0, angka yang tersimpan sebagai teks, dan 80 yang seharusnya ditulis 80%.
- Tabel diagnosis di bagian akhir membantu memperbaiki rumus IF yang hasilnya salah atau error.
Panduan ini memakai Excel untuk Microsoft 365 di Windows 11 dengan setelan regional Indonesia, jadi pemisah argumen rumus adalah titik koma (;). Kalau Excel Anda memakai setelan bahasa Inggris (Amerika Serikat), ganti titik koma dengan koma (,). Semua contoh IF juga berjalan di Excel 2016, kecuali IFS dan SWITCH yang baru tersedia sejak Excel 2019.
Cara Kerja Rumus IF di Excel
IF punya tiga bagian (argumen). Menurut dokumentasi resmi fungsi IF dari Microsoft, dua bagian pertama wajib diisi, sedangkan bagian ketiga boleh dikosongkan.
| Bagian | Isi | Contoh |
|---|---|---|
| logical_test (syarat) | Perbandingan yang hasilnya benar (TRUE) atau salah (FALSE) | B2>=75 |
| value_if_true | Hasil kalau syarat benar: teks, angka, rumus, atau sel lain | "Lulus" |
| value_if_false | Hasil kalau syarat salah | "Remedial" |
Syarat dibuat dengan operator perbandingan berikut. Simpan tabel ini, karena hampir semua kesalahan IF berawal dari operator yang keliru.
| Operator | Arti | Contoh syarat | Benar jika |
|---|---|---|---|
= |
Sama dengan | E2="Lunas" |
E2 berisi Lunas |
<> |
Tidak sama dengan | E2<>"Lunas" |
E2 berisi apa saja selain Lunas |
> |
Lebih dari | B2>75 |
76 ke atas (75 tidak termasuk) |
>= |
Lebih dari atau sama dengan | B2>=75 |
75 ke atas |
< |
Kurang dari | B2<75 |
74 ke bawah |
<= |
Kurang dari atau sama dengan | B2<=75 |
75 ke bawah |
Beda > dan >= terlihat sepele, tetapi menentukan nasib siswa yang nilainya tepat di batas KKM. Kalau aturannya “minimal 75 lulus”, pakai >=.
Contoh Rumus IF Tunggal (Dua Pilihan)
Kita pakai satu data contoh untuk hampir seluruh panduan ini, supaya Anda bisa mengetiknya sekali lalu mencoba semua rumus. Kolom A berisi nama, B nilai ujian, dan C persentase kehadiran.
| A (Nama) | B (Nilai) | C (Kehadiran) | |
|---|---|---|---|
| 2 | Andi | 88 | 95% |
| 3 | Bella | 74 | 90% |
| 4 | Candra | 81 | 70% |
| 5 | Dina | 92 | 78% |
| 6 | Eko | 57 | 85% |
Langkah membuat status kelulusan dengan KKM 75:
- Klik sel D2.
- Ketik
=IF(B2>=75;"Lulus";"Remedial")lalu tekan Enter. - Arahkan kursor ke pojok kanan bawah D2 sampai muncul tanda plus hitam, lalu klik dua kali untuk menyalin rumus sampai D6.
- Periksa hasilnya: Andi Lulus, Bella Remedial, Candra Lulus, Dina Lulus, Eko Remedial.
Agar KKM mudah diganti, simpan angkanya di sel tersendiri, misalnya H1, lalu kunci dengan tanda dolar: =IF(B2>=$H$1;"Lulus";"Remedial"). Fungsi tanda $ dijelaskan lebih rinci di panduan rumus Excel dasar.
IF dengan hasil berupa angka atau perhitungan
Hasil IF tidak harus teks. Misalnya sales mendapat bonus 5% kalau penjualannya (B2) mencapai target Rp10.000.000, dan 0 kalau tidak: =IF(B2>=10000000;B2*5%;0). Penjualan Rp12.500.000 menghasilkan bonus Rp625.000, sedangkan Rp9.800.000 menghasilkan 0. Angka dan rumus di dalam IF ditulis tanpa tanda kutip; kalau diberi kutip, Excel menganggapnya teks dan tidak bisa dijumlahkan.
IF dengan syarat berupa teks
Untuk membandingkan teks, apit kata kuncinya dengan tanda kutip. Contoh menghitung sisa tagihan: kalau status di E2 “Lunas”, sisa tagihan 0; kalau belum, ambil nominal di F2: =IF(E2="Lunas";0;F2). Perbandingan teks dengan tanda = tidak membedakan huruf besar dan kecil, jadi “lunas” dan “LUNAS” dianggap sama. Tetapi spasi berlebih (“Lunas “) membuat syaratnya salah, jadi rapikan data dulu dengan TRIM kalau hasilnya aneh.
Rumus IF Bertingkat untuk Lebih dari Dua Pilihan
IF tunggal hanya punya dua jalan keluar. Kalau pilihannya tiga atau lebih, letakkan IF baru di posisi value_if_false. Contoh predikat: A untuk nilai minimal 85, B minimal 75, C minimal 60, dan D di bawah 60. Tulis di E2 lalu salin ke bawah:
=IF(B2>=85;"A";IF(B2>=75;"B";IF(B2>=60;"C";"D")))
| Nama | Nilai | Jalan pemeriksaan Excel | Predikat |
|---|---|---|---|
| Andi | 88 | 88 ≥ 85 benar, berhenti | A |
| Bella | 74 | ≥85 salah, ≥75 salah, ≥60 benar | C |
| Candra | 81 | ≥85 salah, ≥75 benar | B |
| Dina | 92 | 92 ≥ 85 benar, berhenti | A |
| Eko | 57 | Semua syarat salah, ambil hasil terakhir | D |
Dua aturan agar IF bertingkat tidak salah:
- Urutkan syarat dari batas tertinggi ke terendah (untuk tanda
>=). Excel berhenti di syarat pertama yang benar. Kalau rumusnya dimulai dariB2>=60, nilai 88 milik Andi langsung berhenti di sana dan mendapat C. - Jumlah kurung tutup sama dengan jumlah IF. Tiga IF berarti tiga kurung tutup di akhir rumus. Excel mewarnai pasangan kurung saat Anda mengedit, jadi manfaatkan warna itu untuk mengecek.
Excel mengizinkan fungsi bertumpuk sampai 64 tingkat, sesuai batas spesifikasi Excel. Namun Microsoft sendiri tidak menyarankan IF bertingkat yang terlalu panjang karena sulit dibaca dan diperiksa. Lebih dari 4–5 tingkat, pertimbangkan IFS atau tabel acuan dengan VLOOKUP/XLOOKUP pencocokan mendekati.
Versi lebih rapi dengan IFS
IFS memeriksa pasangan syarat dan hasil secara berurutan, tanpa kurung bertumpuk. Rumus predikat yang sama menjadi:
=IFS(B2>=85;"A";B2>=75;"B";B2>=60;"C";TRUE;"D")
TRUE di pasangan terakhir berfungsi sebagai “selain itu”. Tanpanya, nilai di bawah 60 akan menghasilkan error #N/A, karena IFS tidak punya hasil bawaan. IFS hanya ada di Excel 2019, 2021, 2024, dan Microsoft 365. Kalau file akan dibuka di Excel 2016 atau lebih lama, tetap pakai IF bertingkat.
Rumus IF dengan AND, OR, dan NOT (Dua Syarat atau Lebih)
Sering kali keputusan bergantung pada lebih dari satu syarat. Bungkus syarat-syarat itu dengan AND, OR, atau NOT, lalu masukkan ke bagian pertama IF.
- AND: hasil benar jika semua syarat benar.
- OR: hasil benar jika minimal satu syarat benar.
- NOT: membalik hasil syarat (benar menjadi salah, dan sebaliknya).
Contoh dengan data di atas. Aturan sekolah: siswa lulus kalau nilainya minimal 75 dan kehadirannya minimal 80%. Siswa perlu bimbingan kalau nilainya di bawah 75 atau kehadirannya di bawah 80%.
- F2:
=IF(AND(B2>=75;C2>=80%);"Lulus";"Tidak Lulus") - G2:
=IF(OR(B2<75;C2<80%);"Perlu bimbingan";"Aman")
| Nama | Nilai | Hadir | IF + AND | IF + OR |
|---|---|---|---|---|
| Andi | 88 | 95% | Lulus | Aman |
| Bella | 74 | 90% | Tidak Lulus (nilai kurang) | Perlu bimbingan |
| Candra | 81 | 70% | Tidak Lulus (kehadiran kurang) | Perlu bimbingan |
| Dina | 92 | 78% | Tidak Lulus (kehadiran kurang) | Perlu bimbingan |
| Eko | 57 | 85% | Tidak Lulus (nilai kurang) | Perlu bimbingan |
Perhatikan Dina: nilainya tertinggi (92), tetapi tidak lulus karena kehadirannya 78%. Begitulah AND bekerja, satu syarat gagal membuat seluruhnya gagal.
Untuk NOT, contohnya =IF(NOT(E2="Lunas");"Kirim pengingat";""), yang hasilnya sama dengan =IF(E2<>"Lunas";"Kirim pengingat";""). Versi kedua biasanya lebih mudah dibaca. Pembahasan resmi kombinasi ini ada di panduan Microsoft tentang IF dengan AND, OR, dan NOT.
Syarat “di antara dua angka”
Excel tidak memahami penulisan matematika 60<=B2<75. Rumus seperti itu tidak error, tetapi hasilnya salah. Pecah menjadi dua syarat di dalam AND: =IF(AND(B2>=60;B2<75);"Remedial ringan";""). Dengan data contoh, hanya Bella (74) yang mendapat “Remedial ringan”.
Rumus IF untuk Sel Kosong, Tanggal, dan Teks Tertentu
IF sel kosong
Excel menganggap sel kosong bernilai 0 saat dibandingkan dengan angka. Akibatnya, siswa yang nilainya belum diinput langsung berstatus “Remedial”. Tambahkan pemeriksaan sel kosong di depan:
=IF(B2="";"Belum ada nilai";IF(B2>=75;"Lulus";"Remedial"))
Anda juga bisa memakai ISBLANK(B2), tetapi ada bedanya: ISBLANK menghasilkan FALSE kalau sel berisi rumus yang menampilkan teks kosong (""). Pemeriksaan B2="" menangkap kedua kondisi itu, jadi lebih aman untuk data yang terisi lewat rumus.
IF tanggal (jatuh tempo, terlambat)
Untuk menandai tagihan yang lewat jatuh tempo (tanggal di C2): =IF(C2<TODAY();"Terlambat";"Belum jatuh tempo"). TODAY() selalu mengikuti tanggal komputer, jadi statusnya berubah sendiri setiap hari.
Kalau batasnya tanggal tertentu, jangan menulis C2<"31/12/2026". Di dalam IF, tulisan berkutip itu dianggap teks, dan karena teks selalu dianggap lebih besar dari angka, syaratnya hampir pasti benar. Pakai fungsi DATE: =IF(C2<DATE(2026;12;31);"Sebelum akhir tahun";"Akhir tahun atau sesudahnya").
IF jika sel mengandung kata tertentu
Tanda bintang (*) sebagai wildcard tidak bekerja di perbandingan IF biasa. Rumus =IF(D2="*jakarta*";...) mencari teks yang benar-benar berbunyi “*jakarta*”. Ada dua cara yang benar:
=IF(ISNUMBER(SEARCH("jakarta";D2));"Jakarta";"Luar Jakarta"). SEARCH mencari posisi kata dan tidak membedakan huruf besar-kecil.=IF(COUNTIF(D2;"*jakarta*")>0;"Jakarta";"Luar Jakarta"). COUNTIF mendukung wildcard.
Alamat “Jl. Melati 5, Jakarta Selatan” akan menghasilkan “Jakarta” di kedua rumus.
IF dengan COUNTIF, SUMIF, dan IFERROR
IF memeriksa satu sel dalam satu waktu. Kalau yang Anda butuhkan adalah menghitung atau menjumlahkan banyak baris yang memenuhi syarat, fungsi berakhiran IF lebih tepat. Dengan data contoh:
| Kebutuhan | Rumus | Hasil |
|---|---|---|
| Berapa siswa bernilai minimal 75? | =COUNTIF(B2:B6;">=75") |
3 (Andi, Candra, Dina) |
| Berapa siswa nilai ≥75 dan hadir ≥80%? | =COUNTIFS(B2:B6;">=75";C2:C6;">=80%") |
1 (Andi) |
| Jumlah nilai siswa yang minimal 75 | =SUMIF(B2:B6;">=75") |
261 (88+81+92) |
| Rata-rata nilai siswa yang minimal 75 | =AVERAGEIF(B2:B6;">=75") |
87 (261÷3) |
| Tandai nama yang tercatat dua kali | =IF(COUNTIF($A$2:$A$6;A2)>1;"Duplikat";"") |
Kosong semua (tidak ada nama ganda) |
Pembahasan lengkap fungsi-fungsi ini ada di artikel rumus Excel menghitung jumlah data dengan COUNTIF, rumus penjumlahan dengan SUMIF dan SUMIFS, dan rumus rata-rata dengan AVERAGEIF.
IFERROR: IF khusus untuk menangani error
IFERROR menampilkan hasil pengganti kalau rumus di dalamnya error. Contoh menghitung harga per unit yang jumlah unitnya kadang kosong: =IFERROR(B2/C2;0). Kalau C2 kosong, hasilnya 0, bukan #DIV/0!. Pakai IFERROR setelah Anda tahu penyebab error-nya; membungkus semua rumus dengan IFERROR sejak awal justru menyembunyikan kesalahan data. Kasus pembagian seperti ini dibahas di rumus pembagian Excel.
Contoh Rumus IF untuk Pekerjaan Kantor
Berikut kasus nyata yang sering muncul di pekerjaan admin, keuangan, dan gudang. Semua hasil di tabel sudah dihitung ulang.
Diskon bertingkat berdasarkan total belanja
Aturan toko: belanja minimal Rp1.000.000 dapat diskon 10%, minimal Rp500.000 dapat 5%, di bawah itu tanpa diskon. Total belanja ada di B2.
- Nilai diskon (C2):
=B2*IF(B2>=1000000;10%;IF(B2>=500000;5%;0)) - Total bayar (D2):
=B2-C2
| Total belanja | Persen diskon | Nilai diskon | Total bayar |
|---|---|---|---|
| Rp1.250.000 | 10% | Rp125.000 | Rp1.125.000 |
| Rp1.000.000 | 10% | Rp100.000 | Rp900.000 |
| Rp750.000 | 5% | Rp37.500 | Rp712.500 |
| Rp300.000 | 0% | Rp0 | Rp300.000 |
Baris Rp1.000.000 membuktikan bahwa >= sudah tepat: belanja yang pas di batas tetap mendapat diskon. Cara menghitung persen lainnya ada di artikel rumus persen Excel.
Status stok gudang
Stok saat ini di B2, stok minimum di C2. Rumus =IF(B2=0;"Habis";IF(B2<=C2;"Pesan ulang";"Aman")) menghasilkan “Habis” untuk stok 0, “Pesan ulang” untuk stok 8 dengan minimum 10, dan “Aman” untuk stok 25 dengan minimum 10. Syarat stok 0 diletakkan paling depan karena 0 juga memenuhi syarat B2<=C2.
Lembur dan uang makan
Karyawan yang bekerja lebih dari 8 jam (jam kerja di B2, berupa angka) mendapat uang lembur Rp25.000 per jam kelebihan: =IF(B2>8;(B2-8)*25000;0). Bekerja 10 jam menghasilkan Rp50.000, bekerja 8 jam menghasilkan 0. Nominal per jam ini hanya contoh; sesuaikan dengan aturan perusahaan Anda.
Perbandingan IF Bertingkat, IFS, SWITCH, dan Tabel Acuan
Untuk keputusan bertingkat, ada beberapa cara. Pilih berdasarkan versi Excel dan jenis syaratnya.
| Cara | Cocok untuk | Versi Excel | Catatan |
|---|---|---|---|
| IF bertingkat | 2–4 tingkat syarat rentang (≥, <) | Semua versi | Paling kompatibel, tetapi kurungnya menumpuk |
| IFS | Banyak syarat rentang | 2019, 2021, 2024, Microsoft 365 | Lebih mudah dibaca; tambahkan TRUE sebagai “selain itu” |
| SWITCH | Mencocokkan nilai persis (kode A/B/C, nama bulan) | 2019, 2021, 2024, Microsoft 365 | Tidak bisa memakai > atau < secara langsung |
| Tabel acuan + VLOOKUP/XLOOKUP | Aturan yang sering berubah atau lebih dari 5 tingkat | Semua versi (XLOOKUP: 2021 ke atas) | Batas cukup diubah di tabel, rumus tidak perlu disentuh |
Contoh SWITCH untuk mengubah kode predikat di E2 menjadi keterangan: =SWITCH(E2;"A";"Sangat Baik";"B";"Baik";"C";"Cukup";"Perlu Bimbingan"). Argumen terakhir yang tidak berpasangan menjadi hasil bawaan, jadi kode D menghasilkan “Perlu Bimbingan”.
Rumus IF Error atau Hasilnya Salah? Ini Diagnosisnya
Kalau rumus IF tidak memberi hasil yang Anda harapkan, cocokkan gejalanya dengan tabel berikut.
| Gejala | Penyebab | Solusi |
|---|---|---|
| Muncul kotak “There’s a problem with this formula” | Pemisah argumen tidak cocok dengan setelan (koma di setelan Indonesia, atau sebaliknya) | Ganti , menjadi ; untuk setelan Indonesia |
#NAME? |
Teks hasil tidak diberi tanda kutip, misalnya =IF(B2>=75;Lulus;Remedial), atau nama fungsi salah ketik |
Apit teks dengan tanda kutip dua: "Lulus" |
| Hasilnya selalu “Lulus”, walau nilainya kecil | Angka tersimpan sebagai teks (rata kiri, ada segitiga hijau). Teks selalu dianggap lebih besar dari angka | Ubah ke angka lewat ikon peringatan > Convert to Number |
| Syarat kehadiran tidak pernah terpenuhi | Sel berisi 80% (nilai aslinya 0,8) tetapi syaratnya ditulis C2>=80 |
Tulis C2>=80% atau C2>=0,8 |
| Semua nilai tinggi mendapat predikat rendah | Urutan IF bertingkat terbalik (dimulai dari batas terendah) | Susun ulang dari batas tertinggi |
| Muncul FALSE | Bagian value_if_false tidak ditulis sama sekali | Isi hasil untuk kondisi salah, misalnya "" agar sel tampak kosong |
| Muncul angka 0 | Ada titik koma tetapi argumennya dibiarkan kosong, misalnya =IF(B2>=75;"Lulus";) |
Isi argumen yang kosong |
#N/A pada IFS |
Tidak ada syarat yang benar dan tidak ada TRUE di akhir | Tambahkan TRUE;"hasil lain" di pasangan terakhir |
| Hasil “Remedial” untuk siswa yang belum ujian | Sel kosong dibaca sebagai 0 | Tambah pemeriksaan B2="" di awal rumus |
Untuk rumus bertingkat yang panjang, pakai fitur Evaluate Formula di tab Formulas, grup Formula Auditing. Fitur ini menjalankan rumus selangkah demi selangkah, sehingga Anda bisa melihat di syarat mana hasilnya mulai melenceng.
Checklist Sebelum Menyalin Rumus IF ke Ratusan Baris
- Uji rumus pada nilai yang tepat di batas (misalnya 75, 85, dan 60), bukan hanya nilai yang jauh dari batas.
- Uji sel kosong dan sel berisi teks seperti “sakit” atau “-“.
- Pastikan sel acuan yang tetap (KKM, target, persen bonus) sudah dikunci dengan
$. - Hitung jumlah IF dan jumlah kurung tutup.
- Cek versi Excel penerima file sebelum memakai IFS atau SWITCH.
- Kalau data dikunci untuk dibagikan, lindungi kolom rumus agar tidak tertimpa. Caranya ada di panduan cara kunci rumus Excel.
Pertanyaan yang Sering Diajukan
Apa rumus IF di Excel?
Rumus IF adalah =IF(syarat;hasil_jika_benar;hasil_jika_salah). Contohnya =IF(B2>=75;"Lulus";"Remedial") menampilkan Lulus kalau nilai di B2 minimal 75, dan Remedial kalau di bawahnya. Di setelan bahasa Inggris, pemisahnya koma: =IF(B2>=75,"Lulus","Remedial").
Berapa banyak IF yang boleh ditumpuk dalam satu rumus?
Excel mengizinkan fungsi bertumpuk sampai 64 tingkat. Namun lebih dari 4–5 tingkat sudah sulit diperiksa. Untuk syarat sebanyak itu, IFS atau tabel acuan dengan VLOOKUP/XLOOKUP biasanya lebih rapi.
Apa beda IF dan IFS?
IF memeriksa satu syarat dengan dua hasil, dan perlu ditumpuk untuk pilihan yang lebih banyak. IFS memeriksa banyak pasangan syarat dan hasil sekaligus tanpa kurung bertumpuk. IFS hanya ada di Excel 2019 ke atas dan Microsoft 365, serta menghasilkan #N/A kalau tidak ada syarat yang terpenuhi.
Bagaimana membuat rumus IF dengan dua syarat?
Gabungkan IF dengan AND atau OR. =IF(AND(B2>=75;C2>=80%);"Lulus";"Tidak Lulus") mengharuskan kedua syarat terpenuhi, sedangkan =IF(OR(B2>=75;C2>=80%);"Ya";"Tidak") cukup salah satu.
Apakah rumus IF Excel bisa dipakai di Google Sheets?
Bisa. IF, IF bertingkat, AND, OR, IFS, IFERROR, dan SWITCH bekerja dengan pola yang sama di Google Sheets. Pemisah argumennya mengikuti setelan wilayah (locale) spreadsheet, jadi bisa koma atau titik koma.
Rumus IF terlihat sederhana, tetapi hampir semua otomatisasi di Excel berawal dari sini: status, predikat, bonus, diskon, sampai penanda data bermasalah. Mulailah dari IF tunggal dengan data contoh di atas, lalu naik ke IF bertingkat dan AND/OR. Artikel lanjutan seri ini, termasuk VLOOKUP dan HLOOKUP, akan muncul di daftar seri di bawah, dan tutorial lainnya bisa Anda jelajahi di kategori Microsoft Excel.
Semua panduan seri Rumus IF, VLOOKUP & Lookup
Tutorial ini disusun Tim Tutor Komputer berdasarkan dokumentasi resmi pembuat aplikasi. Langkah di versi Anda berbeda? Kabari kami lewat Kontak.
