Logika

Rumus logika memungkinkan Excel ‘berpikir’ dan membuat keputusan secara otomatis berdasarkan kondisi tertentu. Fundamental untuk otomasi laporan dan sistem scoring.

IF

Logika kondisional paling dasar di Excel

=IF(logical_test, value_if_true, value_if_false)

IF mengevaluasi sebuah kondisi: jika benar, tampilkan nilai pertama; jika salah, tampilkan nilai kedua. Seperti percabangan ‘jika… maka… kalau tidak…’ dalam kehidupan sehari-hari.

Parameter

ParameterKeterangan
logical_testKondisi yang dievaluasi (misal: A1>75)
value_if_trueNilai jika kondisi terpenuhi
value_if_falseNilai jika kondisi tidak terpenuhi

Contoh Soal

Menentukan kelulusan siswa otomatis
Nilai ujian siswa ada di kolom B. Nilai ≥75 dinyatakan lulus, di bawahnya tidak lulus.
=IF(B2>=75, “Lulus”, “Tidak Lulus”)
Jika B2=82 → ‘Lulus’. Jika B2=68 → ‘Tidak Lulus’. Salin rumus ke bawah untuk semua siswa sekaligus.
Tips & TrikBisa dibuat bertumpuk: =IF(A1>90,”A”,IF(A1>75,”B”,”C”)) untuk kondisi berjenjang. Tapi lebih dari 3 lapis, pertimbangkan IFS.

IFS

Banyak kondisi tanpa IF bertumpuk yang rumit

=IFS(condition1, value1, condition2, value2, …)

IFS memeriksa banyak kondisi satu per satu dari atas ke bawah, dan mengembalikan nilai dari kondisi pertama yang terpenuhi. Jauh lebih mudah dibaca daripada IF bertumpuk.

Parameter

ParameterKeterangan
condition1Kondisi pertama yang diperiksa
value1Nilai jika condition1 benar
condition2+Kondisi dan nilai berikutnya

Contoh Soal

Sistem penilaian A/B/C/D/E otomatis
Nilai ujian di kolom B. A=90+, B=80-89, C=70-79, D=60-69, E=di bawah 60.
=IFS(B2>=90,”A”, B2>=80,”B”, B2>=70,”C”, B2>=60,”D”, TRUE,”E”)
Nilai 85 → ‘B’. Nilai 72 → ‘C’. Catatan: TRUE di akhir berfungsi sebagai ‘selain itu’ (else/default).
Tips & TrikSelalu sertakan kondisi TRUE sebagai kondisi terakhir sebagai fallback default. Tanpanya, IFS akan menghasilkan error jika tidak ada kondisi yang terpenuhi.

AND

Mengembalikan TRUE hanya jika SEMUA kondisi terpenuhi

=AND(logical1, [logical2], …)

AND mengevaluasi beberapa kondisi sekaligus dan hanya menghasilkan TRUE jika seluruh kondisi benar. Satu kondisi saja yang salah akan menghasilkan FALSE.

Parameter

ParameterKeterangan
logical1Kondisi pertama
logical2Kondisi kedua dan seterusnya (sampai 255)

Contoh Soal

Mengecek apakah karyawan memenuhi syarat bonus
Syarat bonus: kehadiran (kolom B) ≥90% DAN target penjualan (kolom C) ≥100 juta.
=IF(AND(B2>=90, C2>=100000000), “Dapat Bonus”, “Tidak”)
Kehadiran 95% dan penjualan 120 juta → ‘Dapat Bonus’. Kehadiran 85% meski penjualan 150 juta → ‘Tidak’.
Tips & TrikAND dan OR paling berguna saat dikombinasikan dengan IF. Sendirian, AND hanya menghasilkan TRUE atau FALSE, bukan teks yang bermakna.

OR

Mengembalikan TRUE jika MINIMAL SATU kondisi terpenuhi

=OR(logical1, [logical2], …)

OR berbeda dari AND — cukup satu kondisi yang benar untuk menghasilkan TRUE. Berguna untuk kondisi ‘salah satu dari…’ atau ‘minimal ada satu yang…’.

Parameter

ParameterKeterangan
logical1Kondisi pertama
logical2Kondisi lainnya

Contoh Soal

Mengecek apakah produk perlu dipesan ulang
Produk perlu dipesan ulang jika: stok (kolom B) < 10 ATAU sudah lebih dari 30 hari tidak ada stok masuk (kolom C > 30).
=IF(OR(B2<10, C2>30), “Pesan Ulang”, “Stok Aman”)
Stok 5, hari 20 → ‘Pesan Ulang’. Stok 50, hari 35 → ‘Pesan Ulang’. Keduanya harus aman baru ‘Stok Aman’.
Tips & TrikAND dan OR bisa dikombinasikan: =AND(OR(A1>5,B1>5),C1>0) — membaca: ‘(A atau B lebih dari 5) DAN C lebih dari 0’.

NOT

Membalik hasil logika — TRUE jadi FALSE, FALSE jadi TRUE

=NOT(logical)

NOT membalik nilai logika. Jika kondisi menghasilkan TRUE, NOT mengubahnya jadi FALSE, dan sebaliknya. Berguna untuk mengekspresikan kondisi negatif.

Parameter

ParameterKeterangan
logicalKondisi atau nilai yang ingin dibalik

Contoh Soal

Memfilter karyawan yang belum menyelesaikan pelatihan
Kolom D berisi TRUE/FALSE apakah karyawan sudah selesai pelatihan. Ingin menandai yang belum.
=IF(NOT(D2), “Belum Selesai”, “Selesai”)
Jika D2=FALSE, NOT(D2)=TRUE sehingga hasil: ‘Belum Selesai’. Lebih mudah dibaca dari =IF(D2=FALSE,…)
Tips & TrikNOT berguna untuk meningkatkan keterbacaan rumus. =IF(NOT(ISBLANK(A1)),’Ada’,’Kosong’) lebih intuitif dari =IF(ISBLANK(A1),’Kosong’,’Ada’)

IFERROR

Menangani semua jenis error dengan pesan kustom

=IFERROR(value, value_if_error)

IFERROR membungkus rumus lain dan menangkap error apapun (#DIV/0!, #N/A, #VALUE!, #REF!, #NAME?, #NULL!, #NUM!). Jika terjadi error, tampilkan nilai pengganti.

Parameter

ParameterKeterangan
valueRumus yang mungkin menghasilkan error
value_if_errorNilai yang ditampilkan jika terjadi error

Contoh Soal

Menghitung persentase tanpa error pembagian nol
Kolom B berisi target, kolom C berisi realisasi. Persentase = C/B. Masalah: jika target=0, hasilnya #DIV/0!
=IFERROR(C2/B2, 0)
Jika B2=0 → hasil: 0 (bukan error merah). Jika B2=100 dan C2=85 → hasil: 0.85 atau 85%.
Tips & TrikJangan gunakan IFERROR untuk menyembunyikan error yang perlu diperbaiki. Gunakan hanya untuk kasus di mana error memang bisa terjadi secara normal.

IFNA

Menangani khusus error #N/A dari rumus pencarian

=IFNA(value, value_if_na)

IFNA lebih spesifik dari IFERROR — hanya menangkap error #N/A yang biasanya muncul dari VLOOKUP, MATCH, atau XLOOKUP saat data tidak ditemukan.

Parameter

ParameterKeterangan
valueRumus pencarian yang mungkin menghasilkan #N/A
value_if_naNilai pengganti jika hasilnya #N/A

Contoh Soal

VLOOKUP dengan pesan ‘tidak ditemukan’ yang rapi
Mencari nama produk dari kode di sel A2. Jika kode tidak ada, VLOOKUP menghasilkan #N/A.
=IFNA(VLOOKUP(A2, Produk!A:C, 2, FALSE), “Kode tidak dikenal”)
Kode ada → nama produk. Kode tidak ada → ‘Kode tidak dikenal’. Lebih aman dari IFERROR karena error lain tetap kelihatan.
Tips & TrikGunakan IFNA bukan IFERROR saat ingin error selain #N/A tetap terlihat. Ini membantu debugging — kamu tahu ada masalah selain ‘data tidak ditemukan’.

SWITCH

Alternatif IF bertumpuk yang lebih ringkas untuk nilai spesifik

=SWITCH(expression, value1, result1, [value2, result2], …, [default])

SWITCH membandingkan satu nilai dengan beberapa kemungkinan dan mengembalikan hasil yang sesuai. Lebih ringkas dari IF bertumpuk untuk kondisi dengan nilai-nilai spesifik.

Parameter

ParameterKeterangan
expressionNilai atau sel yang dievaluasi
value1Kemungkinan nilai pertama
result1Hasil jika cocok dengan value1
defaultNilai default jika tidak ada yang cocok (opsional)

Contoh Soal

Menampilkan nama hari dari nomor
Kolom A berisi angka 1-7 mewakili hari. Ingin menampilkan nama hari dalam bahasa Indonesia.
=SWITCH(A2, 1,”Senin”, 2,”Selasa”, 3,”Rabu”, 4,”Kamis”, 5,”Jumat”, 6,”Sabtu”, 7,”Minggu”, “Tidak valid”)
A2=3 → ‘Rabu’. A2=8 → ‘Tidak valid’. Bandingkan dengan IF bertumpuk yang jauh lebih panjang untuk 7 kondisi ini.
Tips & TrikSWITCH hanya bisa membandingkan nilai yang tepat (sama dengan), bukan rentang. Untuk kondisi rentang seperti lebih dari/kurang dari, gunakan IFS.