Microsoft, Excel, dan Microsoft 365 adalah merek dagang milik Microsoft Corporation. Buku ini adalah karya independen dan tidak berafiliasi dengan, disponsori, atau disetujui oleh Microsoft Corporation.
Seluruh nama proyek, perusahaan, customer, material, dan angka dalam contoh buku ini adalah data rekaan untuk keperluan latihan. Kemiripan dengan data nyata tidak disengaja.
Disclaimer
Buku ini disusun sebagai bahan belajar dan referensi kerja. Penulis sudah berusaha memastikan setiap rumus, contoh data, dan hasil perhitungan benar. Meski begitu, beberapa hal perlu Anda perhatikan sebelum memakai rumus di buku ini untuk pekerjaan nyata.
Versi Excel berbeda-beda. Sebagian fungsi hanya ada di Excel versi modern (Excel 2019, 2021, 2024, atau Microsoft 365). Setiap fungsi seperti ini diberi label versi di formula card-nya.
Pengaturan regional memengaruhi penulisan rumus. Contoh di buku ini memakai pemisah argumen koma (,). Excel dengan pengaturan regional Indonesia memakai titik koma (;). Lihat penjelasannya di bagian Cara Menggunakan Buku.
Hasil perhitungan tanggal seperti TODAY() dan NOW() akan berbeda sesuai tanggal Anda membuka file. Contoh yang memakai fungsi ini menyebutkan tanggal acuan yang dipakai.
Keputusan bisnis tetap tanggung jawab pengguna. Rumus membantu menghitung dan menyajikan data, tetapi tidak menggantikan pemeriksaan dan penilaian profesional, terutama untuk laporan keuangan, pajak, penggajian, dan kontrak.
Penulis dan pihak mana pun yang terlibat dalam penyusunan buku ini tidak bertanggung jawab atas kerugian yang timbul akibat penggunaan informasi di dalamnya. Selalu uji rumus pada salinan data sebelum dipakai di file kerja utama.
Kata Pengantar
Hampir semua pekerjaan kantor menyentuh Excel. Rekap penjualan, absensi karyawan, monitoring proyek, daftar material gudang, sampai laporan untuk manajemen biasanya berawal dari satu sheet yang barisnya terus bertambah.
Waktu kerja paling banyak habis untuk hal yang sebenarnya bisa diotomatiskan: menghitung manual, menyalin nilai satu per satu dari sheet lain, lalu mengecek ulang karena takut ada yang terlewat. Sebagian besar pekerjaan itu cukup diselesaikan dengan beberapa rumus yang tepat.
Buku ini saya susun sebagai teman kerja. Anda bisa membacanya berurutan dari BAB 1 kalau sedang belajar dari dasar. Anda juga bisa langsung membuka BAB tertentu saat lupa cara menulis XLOOKUP, bingung kenapa VLOOKUP menghasilkan #N/A, atau perlu contoh cepat untuk menghitung umur proyek.
Setiap rumus disajikan dengan pola yang sama: contoh data, rumus, hasil, lalu penjelasan. Penjelasan teori sengaja dibuat pendek. Yang lebih penting adalah Anda bisa langsung menyalin rumusnya, mengganti referensi cell sesuai data sendiri, dan melihat hasilnya bekerja.
Di akhir setiap BAB ada studi kasus dari situasi kerja yang umum: laporan penjualan, monitoring status proyek, pembersihan database customer, sampai dashboard eksekutif. Latihan bertingkat di bagian akhir buku membantu Anda menguji pemahaman sebelum memakainya di file kerja.
Terima kasih sudah memilih buku ini. Semoga pekerjaan Anda dengan Excel jadi lebih cepat, lebih rapi, dan lebih sedikit lembur.
Pictor Roito Tumanggor Penulis
Tentang Penulis
Pictor Roito Tumanggor
TELEKOMUNIKASI · PROJECT MANAGEMENT · DATA PROCESSING
Pictor Roito Tumanggor merupakan profesional di bidang telekomunikasi, project management, data processing, dan digitalisasi sistem kerja yang memiliki pengalaman menggunakan Excel untuk monitoring, reporting, analisis data, dashboard, dan pengendalian proyek.
Melalui MASTER RUMUS EXCEL, penulis membagikan kumpulan formula dan teknik Excel yang disusun secara praktis agar dapat langsung diterapkan dalam pekerjaan sehari-hari.
"Jangan hanya belajar rumus Excel. Belajarlah memahami masalah, kemudian gunakan Excel untuk menyelesaikannya."
Pictor Roito Tumanggor
Cara Menggunakan Buku
Buku ini bisa dipakai dengan dua cara. Pemula sebaiknya membaca berurutan dari BAB 1 sampai BAB 10, karena BAB berikutnya memakai konsep dari BAB sebelumnya. Pengguna yang sudah terbiasa dengan Excel bisa langsung melompat ke BAB atau rumus yang sedang dibutuhkan lewat Daftar Isi.
Alur setiap rumus
Semua rumus utama memakai urutan yang sama, jadi Anda cepat menemukan bagian yang dicari:
Bagian
Isi
Formula Card
Nama rumus, fungsi singkat, dan syntax
Penjelasan Argument
Arti setiap argument di dalam kurung
Contoh Data
Tabel data dengan huruf kolom dan nomor baris seperti di Excel
Formula
Rumus siap salin
Hasil
Nilai yang keluar dari rumus
Penjelasan
Cara rumus bekerja langkah demi langkah
Pro Tip, Common Mistake, Real World Use
Tips kerja, kesalahan umum, dan contoh pemakaian di kantor
Tabel Contoh Data ditampilkan seperti lembar Excel: huruf kolom (A, B, C...) di atas dan nomor baris di kiri. Baris 1 selalu judul kolom. Dengan begitu, referensi seperti C2:C6 di rumus bisa langsung Anda cocokkan dengan posisi datanya.
Arti info card
Ikon
Nama
Kapan muncul
💡
PRO TIP
Cara kerja yang lebih cepat atau lebih aman
⚠️
WARNING / COMMON MISTAKE
Kesalahan yang sering terjadi dan cara menghindarinya
📌
IMPORTANT
Aturan yang wajib diingat
🚀
ADVANCED
Teknik lanjutan untuk pengguna intermediate ke atas
💼
REAL WORLD
Contoh pemakaian di pekerjaan nyata
🧠
CHALLENGE
Latihan untuk menguji pemahaman
Pengaturan regional: koma atau titik koma
Label versi Excel
Rumus tanpa label bisa dipakai di Excel 2010 ke atas. Rumus yang lebih baru diberi label di pojok kanan formula card:
Label
Tersedia di
Excel 2013+
Excel 2013, 2016, 2019, 2021, 2024, Microsoft 365
Excel 2019+
Excel 2019, 2021, 2024, Microsoft 365
Excel 2021+
Excel 2021, 2024, Microsoft 365, Excel untuk web
Excel 2024 / 365
Excel 2024, Microsoft 365, Excel untuk web
Jika file Anda akan dibuka oleh rekan kerja yang masih memakai Excel 2016 atau lebih lama, hindari fungsi berlabel 2019 ke atas, atau sediakan versi alternatifnya. Hampir setiap fungsi modern di buku ini disertai alternatif untuk Excel versi lama.
Tentang angka "300+ rumus"
Angka 300+ di judul menghitung semua rumus siap pakai di buku ini: rumus di formula card, variasi rumus, kombinasi rumus, rumus studi kasus, rumus di cheat sheet, dan rumus kunci jawaban latihan. Buku ini memuat 132 formula card dengan pembahasan lengkap, lebih dari 800 contoh rumus, dan cheat sheet berisi 162 fungsi.
Tanggal acuan
Contoh yang memakai TODAY() atau NOW() memakai tanggal acuan 15 Juni 2026, kecuali disebutkan lain. Saat Anda mencoba rumusnya, hasil akan mengikuti tanggal di komputer Anda.
Cara berlatih
Buka workbook kosong, lalu ketik ulang tabel Contoh Data persis di posisi yang sama (mulai dari cell A1).
Ketik rumusnya sendiri. Mengetik membuat Anda lebih cepat hafal dibanding menyalin.
Bandingkan hasil dengan bagian Hasil.
Ubah satu angka di data, lalu lihat bagaimana hasil berubah.
Kerjakan latihan di bagian Practice Questions, lalu cocokkan dengan Answer Key.
Daftar Isi
BAB
01
FUNDAMENTAL EXCEL & LOGIKA RUMUS
Sebelum menghafal ratusan fungsi, pahami dulu cara Excel membaca rumus: dari mana data diambil, bagaimana operator dihitung, dan apa yang terjadi saat rumus disalin ke cell lain. BAB ini menjadi fondasi untuk semua BAB berikutnya.
Tujuan Pembelajaran
Mengenal istilah dasar: workbook, worksheet, cell, range, table, formula bar, name box
Membedakan formula, function, dan syntax
Memakai referensi relative, absolute, dan mixed dengan tepat
Memahami urutan perhitungan operator
Menguasai 7 fungsi dasar yang dipakai setiap hari
Formula Count
7
formula card di BAB ini
Rumus yang Dibahas
SUMPRODUCTAVERAGEMINMAXCOUNTCOUNTA
1.1 Mengenal Excel
Excel menyimpan data dalam struktur bertingkat. Satu file berisi beberapa sheet, satu sheet berisi jutaan cell, dan setiap cell punya alamat unik. Alamat inilah yang dipakai rumus untuk mengambil data.
D2fx=B2*C2
① Name Box② Formula Bar
A
B
C
D
1
Produk
Qty
Harga
Total
2
Laptop
5
7,500,000
37,500,000
3
Monitor
12
1,850,000
22,200,000
Istilah
Arti
Contoh
Workbook
File Excel secara keseluruhan
Laporan_Juni.xlsx
Worksheet
Satu lembar kerja di dalam workbook
Sheet Data, Rekap, Dashboard
Row
Baris, ditandai angka di sisi kiri
Baris 2
Column
Kolom, ditandai huruf di bagian atas
Kolom D
Cell
Pertemuan satu kolom dan satu baris
D2
Range
Kumpulan cell yang berdekatan
B2:B6, A1:D6
Table
Range yang diubah menjadi Excel Table (Ctrl+T)
TabelPenjualan
Formula Bar
Kotak di atas sheet yang menampilkan isi asli cell aktif
=B2*C2
Name Box
Kotak di kiri formula bar, menampilkan alamat cell aktif
D2
Pada gambar di atas, cell aktif adalah D2. Name Box menunjukkan alamatnya, sedangkan Formula Bar menunjukkan rumus di baliknya. Cell D2 sendiri hanya menampilkan hasilnya, 37,500,000.
Excel Table
Range biasa bisa diubah menjadi Excel Table dengan menekan Ctrl+T. Table punya tiga keuntungan yang terasa di pekerjaan harian: format belang otomatis, rumus otomatis terisi ke baris baru, dan referensi berbasis nama kolom (structured reference).
=SUM(TabelPenjualan[Total])
// sama dengan =SUM(D2:D6), tetapi otomatis ikut bertambah saat baris baru ditambahkan
1.2 Mengenal Formula
Istilah
Arti
Contoh
Formula
Instruksi perhitungan yang selalu diawali tanda =
=B2*C2
Function
Rumus siap pakai buatan Excel dengan nama tertentu
SUM, IF, XLOOKUP
Syntax
Aturan penulisan function: nama, tanda kurung, dan urutan argument
=ROUND(number, num_digits)
Argument
Nilai yang dimasukkan ke dalam function
B2:B6, 2, "Lunas"
Satu formula bisa berisi beberapa function sekaligus:
=ROUND(AVERAGE(B2:B6), 0)
// AVERAGE menghitung rata-rata, lalu ROUND membulatkannya tanpa desimal
Operator matematika
Operator
Arti
Contoh
Hasil
+
Tambah
=10+5
15
-
Kurang
=10-5
5
*
Kali
=10*5
50
/
Bagi
=10/5
2
^
Pangkat
=10^2
100
%
Persen
=200*10%
20
Operator perbandingan
Operator perbandingan menghasilkan TRUE atau FALSE. Hasil ini menjadi bahan utama fungsi logika di BAB 3.
Operator
Arti
Contoh (A2 = 75)
Hasil
=
Sama dengan
=A2=75
TRUE
<>
Tidak sama dengan
=A2<>75
FALSE
>
Lebih besar
=A2>80
FALSE
<
Lebih kecil
=A2<80
TRUE
>=
Lebih besar atau sama dengan
=A2>=75
TRUE
<=
Lebih kecil atau sama dengan
=A2<=70
FALSE
Operator teks
Tanda & menggabungkan teks. Jika A2 berisi Budi dan B2 berisi Santoso:
=A2&" "&B2// hasil: Budi Santoso
1.3 Referensi Cell
Saat rumus disalin ke cell lain, Excel menyesuaikan alamat di dalamnya. Tanda dolar ($) dipakai untuk mengunci bagian alamat yang tidak boleh bergeser.
Jenis
Penulisan
Saat disalin ke bawah
Saat disalin ke kanan
Relative
A2
Baris berubah
Kolom berubah
Absolute
$A$2
Tetap
Tetap
Mixed (kunci kolom)
$A2
Baris berubah
Tetap
Mixed (kunci baris)
A$2
Tetap
Kolom berubah
Relative reference
Kolom Total diisi dengan rumus di D2, lalu disalin ke bawah.
A
B
C
D
1
Produk
Qty
Harga
Total
2
Laptop
5
7,500,000
37,500,000
3
Monitor
12
1,850,000
22,200,000
4
Keyboard
30
250,000
7,500,000
=B2*C2// di D2
=B3*C3// di D3, otomatis bergeser saat disalin
=B4*C4// di D4
Absolute reference
Komisi sales dihitung dari satu tarif di cell G1. Tarif ini harus dikunci supaya tidak ikut bergeser.
A
B
C
D
E
F
G
1
Sales
Penjualan
Komisi
Tarif Komisi
2.5%
2
Andi
120,000,000
3,000,000
3
Bella
86,000,000
2,150,000
4
Candra
142,000,000
3,550,000
=B2*$G$1// di C2, lalu salin ke C3:C4
Tanpa tanda dolar, rumus di C3 akan menjadi =B3*G2. Cell G2 kosong, jadi komisi Bella dihitung 0.
Mixed reference
Mixed reference berguna untuk tabel dua arah. Contoh berikut menghitung harga setelah diskon untuk beberapa produk (baris) dan beberapa tingkat diskon (kolom).
A
B
C
D
1
Harga \ Diskon
5%
10%
15%
2
1,000,000
950,000
900,000
850,000
3
2,500,000
2,375,000
2,250,000
2,125,000
4
4,000,000
3,800,000
3,600,000
3,400,000
=$A2*(1-B$1) // di B2, lalu salin ke seluruh B2:D4
$A2 mengunci kolom A (harga selalu diambil dari kolom A), sedangkan B$1 mengunci baris 1 (diskon selalu diambil dari baris judul). Satu rumus cukup untuk mengisi sembilan cell.
1.4 Operator Excel dan Urutan Perhitungan
Excel tidak menghitung dari kiri ke kanan begitu saja. Ada urutan prioritas, mirip aturan matematika di sekolah.
Urutan
Operator
Keterangan
1
:, spasi
Operator referensi (range, gabungan, irisan)
2
-
Tanda negatif, misalnya -5
3
%
Persen
4
^
Pangkat
5
*/
Kali dan bagi
6
+-
Tambah dan kurang
7
&
Gabung teks
8
=<><><=>=
Perbandingan
Formula
Hasil
Alasan
=2+3*4
14
Perkalian dihitung lebih dulu
=(2+3)*4
20
Kurung dihitung paling awal
=100-20/4
95
20/4 = 5, lalu 100-5
=-2^2
4
Tanda negatif diproses sebelum pangkat
=0-2^2
-4
Di sini minus adalah pengurangan, jadi pangkat dihitung dulu
1.5 Formula Dasar
Tujuh fungsi berikut adalah fungsi yang paling sering dipakai di kantor. Hampir semua laporan sederhana bisa dibuat hanya dengan fungsi-fungsi ini.
FORMULA CARD
SUM
Fungsi
Menjumlahkan angka dalam satu atau beberapa range. Teks dan cell kosong diabaikan.
Syntax
=SUM(number1, [number2], ...)
Penjelasan Argument
Argument
Penjelasan
number1
Angka, cell, atau range pertama yang dijumlahkan (wajib)
[number2]
Angka, cell, atau range tambahan (opsional, sampai 255 argument)
Contoh Data
A
B
1
Kategori
Biaya
2
Listrik
2,450,000
3
Internet
1,200,000
4
Air
380,000
5
ATK
725,000
6
Konsumsi
1,150,000
Formula
=SUM(B2:B6)
Hasil
5,905,000
Penjelasan
Excel menjumlahkan semua angka di B2 sampai B6: 2,450,000 + 1,200,000 + 380,000 + 725,000 + 1,150,000 = 5,905,000.
FORMULA CARD
PRODUCT
Fungsi
Mengalikan semua angka dalam argument. Berguna saat faktor pengalinya lebih dari dua.
Syntax
=PRODUCT(number1, [number2], ...)
Penjelasan Argument
Argument
Penjelasan
number1
Angka atau range pertama yang dikalikan
[number2]
Angka atau range tambahan
Contoh Data
A
B
C
D
1
Item
Qty
Harga Satuan
Faktor Diskon
2
Kertas A4 (box)
12
285,000
95%
Formula
=PRODUCT(B2:D2)
Hasil
3,249,000
Penjelasan
Excel mengalikan 12 × 285,000 × 95%. Hasil 12 × 285,000 adalah 3,420,000, lalu dikali 0.95 menjadi 3,249,000. Rumus ini sama dengan =B2*C2*D2.
FORMULA CARD
AVERAGE
Fungsi
Menghitung rata-rata aritmatika. Excel menjumlahkan angka lalu membaginya dengan banyaknya angka.
Syntax
=AVERAGE(number1, [number2], ...)
Penjelasan Argument
Argument
Penjelasan
number1
Angka atau range pertama
[number2]
Angka atau range tambahan
Contoh Data
A
B
1
Karyawan
Nilai Training
2
Andi
82
3
Bella
90
4
Citra
76
5
Dimas
88
6
Eka
79
Formula
=AVERAGE(B2:B6)
Hasil
83
Penjelasan
Total nilai adalah 82 + 90 + 76 + 88 + 79 = 415. Ada 5 angka, jadi 415 ÷ 5 = 83.
FORMULA CARD
MIN
Fungsi
Mengambil angka terkecil dari sekumpulan nilai.
Syntax
=MIN(number1, [number2], ...)
Penjelasan Argument
Argument
Penjelasan
number1
Angka atau range pertama
[number2]
Angka atau range tambahan
Contoh Data
A
B
1
Vendor
Harga Penawaran
2
PT Sinar Jaya
14,750,000
3
CV Mitra Abadi
13,980,000
4
PT Karya Teknik
15,200,000
5
CV Prima Solusi
14,100,000
Formula
=MIN(B2:B5)
Hasil
13,980,000
Penjelasan
Excel membandingkan keempat harga dan mengembalikan yang paling kecil, yaitu penawaran CV Mitra Abadi. Untuk menampilkan nama vendornya, gunakan kombinasi lookup di BAB 6.
FORMULA CARD
MAX
Fungsi
Mengambil angka terbesar dari sekumpulan nilai.
Syntax
=MAX(number1, [number2], ...)
Penjelasan Argument
Argument
Penjelasan
number1
Angka atau range pertama
[number2]
Angka atau range tambahan
Contoh Data
A
B
1
No Tiket
Waktu Respon (menit)
2
T-101
35
3
T-102
12
4
T-103
48
5
T-104
27
6
T-105
19
7
T-106
55
Formula
=MAX(B2:B7)
Hasil
55
Penjelasan
Dari enam tiket, waktu respon paling lama adalah 55 menit pada tiket T-106.
FORMULA CARD
COUNT
Fungsi
Menghitung jumlah cell yang berisi angka. Tanggal juga dihitung karena Excel menyimpan tanggal sebagai angka.
Syntax
=COUNT(value1, [value2], ...)
Penjelasan Argument
Argument
Penjelasan
value1
Cell atau range yang dihitung
[value2]
Cell atau range tambahan
Contoh Data
A
B
1
Karyawan
Jam Lembur
2
Rudi
3
3
Sari
4
Tono
2
5
Umi
izin
6
Vina
4
7
Wawan
0
Formula
=COUNT(B2:B7)
Hasil
4
Penjelasan
Cell yang berisi angka adalah B2 (3), B4 (2), B6 (4), dan B7 (0). Cell kosong B3 dan teks "izin" di B5 tidak dihitung.
FORMULA CARD
COUNTA
Fungsi
Menghitung cell yang tidak kosong, apa pun isinya: angka, teks, tanggal, nilai logika, bahkan error.
Syntax
=COUNTA(value1, [value2], ...)
Penjelasan Argument
Argument
Penjelasan
value1
Cell atau range yang dihitung
[value2]
Cell atau range tambahan
Contoh Data
A
B
1
Karyawan
Jam Lembur
2
Rudi
3
3
Sari
4
Tono
2
5
Umi
izin
6
Vina
4
7
Wawan
0
Formula
=COUNTA(A2:A7)
=COUNTA(B2:B7)
Hasil
6 (jumlah karyawan) dan 5 (jumlah isian jam lembur)
Penjelasan
Kolom A terisi penuh, jadi hasilnya 6. Di kolom B hanya B3 yang kosong. Angka dan teks "izin" sama-sama dihitung, sehingga hasilnya 5. Selisih COUNTA(A2:A7)-COUNTA(B2:B7) = 1 menunjukkan satu karyawan belum mengisi data.
REAL WORLD CASE STUDY
Laporan Penjualan Sederhana
Problem
Admin penjualan diminta membuat laporan singkat penjualan minggu ini untuk supervisor: total omzet, total unit terjual, rata-rata penjualan per produk, produk dengan omzet tertinggi dan terendah, serta jumlah produk yang terjual. Selama ini angka dihitung dengan kalkulator, dan hasilnya sering berbeda saat dicek ulang.
Raw Data
A
B
C
D
1
Produk
Qty
Harga
Total
2
Laptop
5
7,500,000
3
Monitor
12
1,850,000
4
Keyboard
30
250,000
5
Mouse
45
120,000
6
Printer
8
2,300,000
Formula
Isi kolom Total di D2, lalu salin ke D6:
=B2*C2
Buat ringkasan di area kosong, misalnya kolom F dan G:
Ringkasan (F)
Formula (G)
Total Omzet
=SUM(D2:D6)
Total Unit
=SUM(B2:B6)
Rata-rata Omzet per Produk
=AVERAGE(D2:D6)
Omzet Tertinggi
=MAX(D2:D6)
Omzet Terendah
=MIN(D2:D6)
Jumlah Produk Terjual
=COUNT(B2:B6)
Jumlah Baris Produk
=COUNTA(A2:A6)
Result
A
B
C
D
1
Produk
Qty
Harga
Total
2
Laptop
5
7,500,000
37,500,000
3
Monitor
12
1,850,000
22,200,000
4
Keyboard
30
250,000
7,500,000
5
Mouse
45
120,000
5,400,000
6
Printer
8
2,300,000
18,400,000
Ringkasan
Hasil
Total Omzet
91,000,000
Total Unit
100
Rata-rata Omzet per Produk
18,200,000
Omzet Tertinggi
37,500,000
Omzet Terendah
5,400,000
Jumlah Produk Terjual
5
Jumlah Baris Produk
5
Explanation
Kolom Total memakai relative reference, jadi satu rumus di D2 cukup disalin ke bawah. Semua angka ringkasan diambil dari kolom D dan B, sehingga jika ada revisi qty atau harga, seluruh laporan ikut berubah tanpa dihitung ulang.
COUNT(B2:B6) dan COUNTA(A2:A6) sama-sama bernilai 5. Kalau suatu saat hasilnya berbeda, berarti ada produk yang qty-nya belum diisi atau tersimpan sebagai teks. Perbedaan ini bisa dipakai sebagai alarm sederhana.
Answer
=D2*$J$1// di E2, salin ke E6. J1 berisi 11%
=SUM(E2:E6) // total PPN
=D2/SUM($D$2:$D$6) // kontribusi Laptop, format sebagai persen
Menjumlahkan dengan syarat, membulatkan angka sesuai aturan kantor, mencari nilai tengah, dan menyusun ranking. Rumus di BAB ini adalah alat utama untuk laporan keuangan, penjualan, dan penggajian.
Tujuan Pembelajaran
Menjumlahkan data dengan satu atau banyak kriteria
Memilih fungsi pembulatan yang tepat untuk harga, pajak, dan jam kerja
Membedakan rata-rata, median, dan modus
Menyusun top list dan ranking otomatis
Menghitung achievement terhadap target
Formula Count
23
formula card di BAB ini + 4 fungsi dasar lanjutan dari BAB 1
Rumus yang Dibahas
SUM (3D & Multi-Range)SUMIFSUMIFSSUMPRODUCTABSMODPOWERSQRTINTTRUNCROUNDROUNDUPROUNDDOWNMROUNDCEILINGFLOORAVERAGEIFAVERAGEIFSMEDIANMODELARGESMALLRANK
2.1 Penjumlahan dan Perkalian
FORMULA CARD
SUM (3D & Multi-Range)
Fungsi
Selain menjumlahkan satu range, SUM bisa menjumlahkan beberapa range sekaligus dan cell yang sama di beberapa sheet berurutan (3D reference). Teknik ini cocok untuk rekap bulanan yang datanya dipisah per sheet.
Nama sheet pertama dan terakhir. Semua sheet di antaranya ikut dijumlahkan
cell
Alamat cell yang sama di setiap sheet
range1, range2
Beberapa range terpisah yang dijumlahkan sekaligus
Contoh Data
Sheet
Isi cell B2 (Total Penjualan)
Jan
125,400,000
Feb
118,750,000
Mar
132,100,000
Formula
=SUM(Jan:Mar!B2)
=SUM(Jan!B2, Feb!B2, Mar!B2) // cara panjang, hasil sama
Hasil
376,250,000
Penjelasan
Excel mengambil cell B2 dari sheet Jan, Feb, dan Mar, lalu menjumlahkannya: 125,400,000 + 118,750,000 + 132,100,000 = 376,250,000. Karena memakai rentang sheet Jan:Mar, sheet baru yang diletakkan di antara Jan dan Mar otomatis ikut terhitung.
PRODUCT (lanjutan BAB 1)
=PRODUCT(B2:B4) // B2:B4 berisi faktor pertumbuhan 1.05, 1.08, 1.10
Hasil 1.2474, artinya pertumbuhan gabungan tiga tahun adalah 24.74%. PRODUCT praktis untuk mengalikan faktor pertumbuhan, kurs berantai, atau faktor koreksi. Pembahasan lengkap ada di BAB 1.
FORMULA CARD
SUMIF
Fungsi
Menjumlahkan angka yang memenuhi satu kriteria. Misalnya total penjualan khusus region Jakarta.
Syntax
=SUMIF(range, criteria, [sum_range])
Penjelasan Argument
Argument
Penjelasan
range
Range yang diperiksa kriterianya
criteria
Syarat, bisa teks ("Jakarta"), angka (100), operator (">=50000000"), atau alamat cell
[sum_range]
Range yang dijumlahkan. Jika dikosongkan, range yang dijumlahkan
Contoh Data
A
B
C
1
Region
Sales
Penjualan
2
Jakarta
Andi
45,000,000
3
Bandung
Bella
32,500,000
4
Jakarta
Candra
51,200,000
5
Surabaya
Dewi
38,700,000
6
Bandung
Eko
27,300,000
7
Jakarta
Fajar
40,100,000
Formula
=SUMIF(A2:A7, "Jakarta", C2:C7)
Hasil
136,300,000
Penjelasan
Excel memeriksa kolom A baris per baris. Baris 2, 4, dan 7 berisi "Jakarta", jadi nilai C2, C4, dan C7 dijumlahkan: 45,000,000 + 51,200,000 + 40,100,000 = 136,300,000.
FORMULA CARD
SUMIFS
Fungsi
Menjumlahkan angka yang memenuhi dua kriteria atau lebih sekaligus. Semua kriteria harus terpenuhi (logika AND).
Rumus pertama hanya menjumlahkan baris yang region-nya Jakarta dan kategorinya Hardware, yaitu baris 2 dan 7: 45,000,000 + 40,100,000. Rumus kedua mengambil transaksi Jakarta yang nilainya minimal 45 juta, yaitu baris 2 dan 4: 45,000,000 + 51,200,000.
FORMULA CARD
SUMPRODUCT
Fungsi
Mengalikan beberapa range baris per baris, lalu menjumlahkan semua hasil kalinya. Cukup satu cell untuk menghitung total tanpa kolom bantu.
Syntax
=SUMPRODUCT(array1, [array2], ...)
Penjelasan Argument
Argument
Penjelasan
array1
Range atau array pertama
[array2]
Range kedua dan seterusnya, ukurannya harus sama dengan array1
Contoh Data
A
B
C
1
Item
Qty
Harga
2
Pulpen
24
3,500
3
Buku Tulis
36
6,000
4
Map Plastik
50
2,500
5
Stapler
6
28,000
Formula
=SUMPRODUCT(B2:B5, C2:C5)
Hasil
593,000
Penjelasan
Excel menghitung 24×3,500 = 84,000, lalu 36×6,000 = 216,000, 50×2,500 = 125,000, dan 6×28,000 = 168,000. Keempat hasil dijumlahkan menjadi 593,000. Anda tidak perlu membuat kolom Total terlebih dulu.
2.2 Operasi Angka
FORMULA CARD
ABS
Fungsi
Mengubah angka menjadi nilai mutlak (positif). Berguna untuk mengukur besarnya selisih tanpa peduli arahnya.
Syntax
=ABS(number)
Penjelasan Argument
Argument
Penjelasan
number
Angka atau rumus yang ingin diambil nilai mutlaknya
Contoh Data
A
B
C
1
Pos Anggaran
Budget
Actual
2
Marketing
50,000,000
46,500,000
3
Training
20,000,000
23,200,000
4
IT
35,000,000
35,000,000
Formula
=ABS(C2-B2) // di D2, salin ke D4
Hasil
Pos Anggaran
Selisih Absolut
Marketing
3,500,000
Training
3,200,000
IT
0
Penjelasan
Selisih Marketing sebenarnya -3,500,000 (di bawah budget), sedangkan Training +3,200,000 (di atas budget). ABS membuang tanda minus sehingga keduanya bisa dibandingkan dari besarnya deviasi.
FORMULA CARD
MOD
Fungsi
Menghasilkan sisa pembagian. Jika 250 dibagi 24, hasil bagi bulatnya 10 dan sisanya 10.
Syntax
=MOD(number, divisor)
Penjelasan Argument
Argument
Penjelasan
number
Angka yang dibagi
divisor
Angka pembagi
Contoh Data
A
B
C
1
Produk
Qty (pcs)
Isi per Dus
2
Air Mineral
250
24
3
Mie Instan
1,000
40
4
Teh Kotak
125
36
Formula
=MOD(B2, C2) // di D2, salin ke D4
Hasil
Produk
Sisa pcs (tidak genap 1 dus)
Air Mineral
10
Mie Instan
0
Teh Kotak
17
Penjelasan
250 ÷ 24 = 10 dus penuh (240 pcs), sisa 10 pcs. 1,000 ÷ 40 habis dibagi, sisa 0. 125 ÷ 36 = 3 dus (108 pcs), sisa 17 pcs.
FORMULA CARD
POWER
Fungsi
Memangkatkan angka. =POWER(5, 2) sama dengan =5^2.
Syntax
=POWER(number, power)
Penjelasan Argument
Argument
Penjelasan
number
Angka dasar
power
Pangkat
Contoh Data
A
B
1
Keterangan
Nilai
2
Modal Awal
100,000,000
3
Pertumbuhan per Tahun
8%
4
Jumlah Tahun
3
Formula
=B2*POWER(1+B3, B4)
Hasil
125,971,200
Penjelasan
Nilai tumbuh 8% per tahun secara majemuk. Faktor pertumbuhannya 1.08 pangkat 3 = 1.259712. Dikalikan modal 100,000,000 menjadi 125,971,200.
FORMULA CARD
SQRT
Fungsi
Menghitung akar kuadrat dari angka positif.
Syntax
=SQRT(number)
Penjelasan Argument
Argument
Penjelasan
number
Angka yang ingin dicari akar kuadratnya, tidak boleh negatif
Contoh Data
A
B
1
Komponen EOQ
Nilai
2
Kebutuhan per Tahun (unit)
12,000
3
Biaya per Pemesanan
150,000
4
Biaya Simpan per Unit per Tahun
4,000
Formula
=SQRT(2*B2*B3/B4)
Hasil
948.68, dibulatkan menjadi sekitar 949 unit per pesanan
Penjelasan
Rumus Economic Order Quantity (EOQ) adalah akar dari (2 × kebutuhan × biaya pesan ÷ biaya simpan). 2 × 12,000 × 150,000 ÷ 4,000 = 900,000. Akar kuadrat dari 900,000 adalah 948.68.
2.3 Pembulatan
Kantor punya aturan pembulatan yang berbeda-beda. Pajak dibulatkan ke rupiah terdekat, kebutuhan kendaraan selalu dibulatkan ke atas, poin reward selalu dibulatkan ke bawah. Pilih fungsi sesuai aturannya.
Fungsi
Arah
Contoh
Hasil
ROUND
Terdekat
=ROUND(3.45, 1)
3.5
ROUNDUP
Selalu naik (menjauhi nol)
=ROUNDUP(3.41, 1)
3.5
ROUNDDOWN
Selalu turun (mendekati nol)
=ROUNDDOWN(3.49, 1)
3.4
MROUND
Kelipatan terdekat
=MROUND(12730, 500)
12,500
CEILING
Naik ke kelipatan
=CEILING(2.3, 1)
3
FLOOR
Turun ke kelipatan
=FLOOR(2.4, 0.5)
2
INT
Turun ke bilangan bulat
=INT(10.41)
10
TRUNC
Potong desimal
=TRUNC(10.49)
10
FORMULA CARD
INT
Fungsi
Membulatkan angka ke bawah menjadi bilangan bulat terdekat. Sering dipakai untuk mengambil hasil bagi bulat.
Syntax
=INT(number)
Penjelasan Argument
Argument
Penjelasan
number
Angka yang ingin dibulatkan ke bawah
Contoh Data
A
B
C
1
Produk
Qty (pcs)
Isi per Dus
2
Air Mineral
250
24
3
Mie Instan
1,000
40
4
Teh Kotak
125
36
Formula
=INT(B2/C2) // di D2, salin ke D4
Hasil
Produk
Dus Penuh
Air Mineral
10
Mie Instan
25
Teh Kotak
3
Penjelasan
250 ÷ 24 = 10.41, dibulatkan ke bawah menjadi 10. 125 ÷ 36 = 3.47 menjadi 3. Dipadukan dengan MOD, Anda mendapat jumlah dus penuh dan sisa pcs.
FORMULA CARD
TRUNC
Fungsi
Memotong angka pada jumlah desimal tertentu tanpa pembulatan.
Syntax
=TRUNC(number, [num_digits])
Penjelasan Argument
Argument
Penjelasan
number
Angka yang dipotong
[num_digits]
Jumlah desimal yang dipertahankan. Default 0
Contoh Data
A
B
1
Keterangan
Nilai
2
Kurs USD
15,873.4589
3
Koreksi Stok
-2.75
Formula
=TRUNC(B2, 2)
=TRUNC(B3)
=INT(B3)
Hasil
15,873.45, lalu -2 untuk TRUNC, dan -3 untuk INT
Penjelasan
TRUNC(B2, 2) membuang semua digit setelah desimal kedua tanpa melihat digit berikutnya, jadi 15,873.4589 menjadi 15,873.45 (bukan 15,873.46). Untuk -2.75, TRUNC hanya membuang desimal sehingga hasilnya -2, sedangkan INT membulatkan ke bawah menjadi -3.
FORMULA CARD
ROUND
Fungsi
Membulatkan angka ke jumlah digit tertentu dengan aturan standar: 5 ke atas dibulatkan naik.
Syntax
=ROUND(number, num_digits)
Penjelasan Argument
Argument
Penjelasan
number
Angka yang dibulatkan
num_digits
Jumlah digit desimal. 0 = bilangan bulat, 2 = dua desimal, -3 = ribuan terdekat
Contoh Data
A
B
1
Keterangan
Nilai
2
DPP
1,234,567
3
Tarif PPN
11%
Formula
=ROUND(B2*B3, 0)
=ROUND(B2, -3)
Hasil
PPN = 135,802, dan DPP dibulatkan ke ribuan = 1,235,000
Penjelasan
1,234,567 × 11% = 135,802.37. Dengan num_digits 0, desimal .37 dibulatkan ke bawah menjadi 135,802. Pada rumus kedua, angka -3 berarti pembulatan ke ribuan: 1,234,567 lebih dekat ke 1,235,000.
FORMULA CARD
ROUNDUP
Fungsi
Membulatkan angka selalu ke atas (menjauhi nol), berapa pun digit berikutnya.
Syntax
=ROUNDUP(number, num_digits)
Penjelasan Argument
Argument
Penjelasan
number
Angka yang dibulatkan
num_digits
Jumlah digit. 0 = bilangan bulat, -3 = ribuan
Contoh Data
A
B
1
Keterangan
Nilai
2
Jumlah Peserta
47
3
Kapasitas per Mobil
12
Formula
=ROUNDUP(B2/B3, 0)
Hasil
4 mobil
Penjelasan
47 ÷ 12 = 3.92. Tiga mobil hanya menampung 36 orang, jadi hasil harus dibulatkan ke atas menjadi 4. ROUND biasa juga menghasilkan 4 di kasus ini, tetapi untuk 37 peserta (3.08) ROUND menghasilkan 3 dan satu peserta tertinggal. ROUNDUP tetap menghasilkan 4.
FORMULA CARD
ROUNDDOWN
Fungsi
Membulatkan angka selalu ke bawah (mendekati nol).
Syntax
=ROUNDDOWN(number, num_digits)
Penjelasan Argument
Argument
Penjelasan
number
Angka yang dibulatkan
num_digits
Jumlah digit. 0 = bilangan bulat
Contoh Data
A
B
1
Keterangan
Nilai
2
Total Belanja
187,500
3
Belanja per 1 Poin
10,000
Formula
=ROUNDDOWN(B2/B3, 0)
Hasil
18 poin
Penjelasan
187,500 ÷ 10,000 = 18.75. Poin hanya diberikan untuk kelipatan penuh, jadi 0.75 dibuang dan hasilnya 18 poin.
FORMULA CARD
MROUND
Fungsi
Membulatkan angka ke kelipatan tertentu yang paling dekat, misalnya kelipatan 500 atau 0.25.
Syntax
=MROUND(number, multiple)
Penjelasan Argument
Argument
Penjelasan
number
Angka yang dibulatkan
multiple
Kelipatan tujuan pembulatan
Contoh Data
A
B
1
Item
Harga Hitung
2
Nasi Box A
12,730
3
Nasi Box B
18,260
4
Snack Box
9,250
Formula
=MROUND(B2, 500) // di C2, salin ke C4
Hasil
Item
Harga Jual
Nasi Box A
12,500
Nasi Box B
18,500
Snack Box
9,500
Penjelasan
12,730 lebih dekat ke 12,500 (selisih 230) daripada ke 13,000 (selisih 270). 18,260 lebih dekat ke 18,500. Untuk 9,250 yang berada tepat di tengah 9,000 dan 9,500, MROUND membulatkan ke atas.
FORMULA CARD
CEILING
Fungsi
Membulatkan angka ke atas ke kelipatan tertentu.
Syntax
=CEILING(number, significance)
Penjelasan Argument
Argument
Penjelasan
number
Angka yang dibulatkan
significance
Kelipatan tujuan
Contoh Data
A
B
C
1
No Resi
Berat (kg)
Tarif per kg
2
RS-2201
2.3
9,000
3
RS-2202
0.8
9,000
4
RS-2203
5
9,000
Formula
=CEILING(B2, 1) // berat tagih, di D2
=CEILING(B2, 1)*C2// ongkir, di E2
Hasil
No Resi
Berat Tagih
Ongkir
RS-2201
3
27,000
RS-2202
1
9,000
RS-2203
5
45,000
Penjelasan
Ekspedisi menagih per kg penuh. Berat 2.3 kg ditagih 3 kg, 0.8 kg ditagih 1 kg. Berat 5 kg sudah kelipatan 1, jadi tetap 5.
FORMULA CARD
FLOOR
Fungsi
Membulatkan angka ke bawah ke kelipatan tertentu.
Syntax
=FLOOR(number, significance)
Penjelasan Argument
Argument
Penjelasan
number
Angka yang dibulatkan
significance
Kelipatan tujuan
Contoh Data
A
B
1
Karyawan
Jam Lembur
2
Rudi
2.4
3
Tono
3.75
4
Vina
1.9
Formula
=FLOOR(B2, 0.5) // di C2, salin ke C4
Hasil
Karyawan
Jam Dibayar
Rudi
2
Tono
3.5
Vina
1.5
Penjelasan
Perusahaan membayar lembur per 30 menit penuh. 2.4 jam turun ke 2 jam, 3.75 jam turun ke 3.5 jam, dan 1.9 jam turun ke 1.5 jam.
2.4 Statistik dan Rata-rata
AVERAGE, MAX, MIN (lanjutan BAB 1)
=MAX(C2:C7)-MIN(C2:C7) // rentang (range) nilai
Selisih nilai terbesar dan terkecil menunjukkan seberapa lebar sebaran data. Untuk penjualan pada studi kasus di akhir BAB ini, hasilnya 51,200,000 - 27,300,000 = 23,900,000. Pembahasan lengkap AVERAGE, MAX, dan MIN ada di BAB 1.
FORMULA CARD
AVERAGEIF
Fungsi
Menghitung rata-rata dari data yang memenuhi satu kriteria.
Syntax
=AVERAGEIF(range, criteria, [average_range])
Penjelasan Argument
Argument
Penjelasan
range
Range yang diperiksa kriterianya
criteria
Syarat yang harus dipenuhi
[average_range]
Range yang dirata-ratakan. Jika kosong, range yang dipakai
83 untuk departemen Sales, dan 89.67 untuk rata-rata skor yang minimal 85
Penjelasan
Karyawan Sales adalah Andi (82), Citra (76), dan Fani (91). Rata-ratanya (82 + 76 + 91) ÷ 3 = 83. Rumus kedua tidak memakai average_range, jadi kolom D sekaligus diperiksa dan dirata-ratakan: (90 + 88 + 91) ÷ 3 = 89.67.
FORMULA CARD
AVERAGEIFS
Fungsi
Menghitung rata-rata dari data yang memenuhi beberapa kriteria sekaligus.
Baris yang memenuhi dua syarat (Sales dan Tetap) adalah Andi (82) dan Fani (91). Rata-ratanya (82 + 91) ÷ 2 = 86.5. Citra tidak ikut karena statusnya Kontrak.
FORMULA CARD
MEDIAN
Fungsi
Mengambil nilai tengah setelah data diurutkan. Median tidak terpengaruh nilai ekstrem, berbeda dengan rata-rata.
Syntax
=MEDIAN(number1, [number2], ...)
Penjelasan Argument
Argument
Penjelasan
number1
Angka atau range pertama
[number2]
Angka atau range tambahan
Contoh Data
A
B
1
Posisi
Gaji
2
Staff Admin
5,200,000
3
Staff Gudang
5,500,000
4
Staff Finance
5,800,000
5
Staff HR
6,100,000
6
Manager
18,500,000
Formula
=MEDIAN(B2:B6)
=AVERAGE(B2:B6)
Hasil
Median 5,800,000, sedangkan rata-rata 8,220,000
Penjelasan
Setelah diurutkan, nilai ketiga dari lima data adalah 5,800,000. Rata-rata melonjak ke 8,220,000 karena satu gaji manager yang jauh lebih tinggi. Median lebih mewakili gaji "umum" di tim ini.
FORMULA CARD
MODE
Fungsi
Mengambil angka yang paling sering muncul (modus).
Syntax
=MODE(number1, [number2], ...)
Penjelasan Argument
Argument
Penjelasan
number1
Angka atau range pertama
[number2]
Angka atau range tambahan
Contoh Data
A
B
1
Karyawan
Ukuran Sepatu
2
Andi
40
3
Bella
41
4
Citra
42
5
Dimas
41
6
Eka
43
7
Fani
41
8
Gilang
42
Formula
=MODE(B2:B8)
Hasil
41
Penjelasan
Ukuran 41 muncul tiga kali, lebih banyak dari ukuran lain. Informasi ini membantu bagian pengadaan menentukan stok terbanyak.
2.5 Top List dan Ranking
LARGE, SMALL, dan RANK memakai data penjualan yang sama supaya hasilnya mudah dibandingkan.
FORMULA CARD
LARGE
Fungsi
Mengambil nilai terbesar ke-k. LARGE(range, 1) sama dengan MAX, LARGE(range, 2) adalah nilai terbesar kedua, dan seterusnya.
Top 1 = 51,200,000, Top 2 = 45,000,000, Top 3 = 40,100,000
Penjelasan
Excel mengurutkan penjualan dari terbesar secara internal, lalu mengambil posisi ke-1, ke-2, dan ke-3. Data asli tidak berubah urutannya.
FORMULA CARD
SMALL
Fungsi
Mengambil nilai terkecil ke-k. Kebalikan dari LARGE.
Syntax
=SMALL(array, k)
Penjelasan Argument
Argument
Penjelasan
array
Range angka
k
Urutan yang diinginkan dari yang terkecil
Contoh Data
A
B
1
Sales
Penjualan
2
Andi
45,000,000
3
Bella
32,500,000
4
Candra
51,200,000
5
Dewi
38,700,000
6
Eko
27,300,000
7
Fajar
40,100,000
Formula
=SMALL($B$2:$B$7, 1)
=SMALL($B$2:$B$7, 2)
Hasil
Terendah pertama = 27,300,000, terendah kedua = 32,500,000
Penjelasan
Nilai terkecil adalah milik Eko (27,300,000), disusul Bella (32,500,000).
FORMULA CARD
RANK
Fungsi
Menentukan peringkat suatu angka di dalam daftar.
Syntax
=RANK(number, ref, [order])
Penjelasan Argument
Argument
Penjelasan
number
Angka yang dicari peringkatnya
ref
Range seluruh angka pembanding (kunci dengan $)
[order]
0 atau kosong = terbesar peringkat 1. Angka 1 = terkecil peringkat 1
Contoh Data
A
B
1
Sales
Penjualan
2
Andi
45,000,000
3
Bella
32,500,000
4
Candra
51,200,000
5
Dewi
38,700,000
6
Eko
27,300,000
7
Fajar
40,100,000
Formula
=RANK(B2, $B$2:$B$7, 0) // di C2, salin ke C7
Hasil
Sales
Peringkat
Andi
2
Bella
5
Candra
1
Dewi
4
Eko
6
Fajar
3
Penjelasan
Candra punya penjualan terbesar sehingga peringkat 1. Andi di urutan kedua. Range dikunci dengan $ agar pembandingnya tetap saat rumus disalin.
REAL WORLD CASE STUDY
Analisis Penjualan Bulanan
Problem
Sales manager ingin melihat performa enam sales pada bulan Juni: total target dan realisasi, rata-rata penjualan, penjualan tertinggi dan terendah, achievement tiap sales, dan peringkat berdasarkan achievement. Laporan harus diperbarui setiap bulan hanya dengan mengganti angka target dan actual.
Raw Data
A
B
C
1
Sales
Target
Actual
2
Andi
50,000,000
45,000,000
3
Bella
30,000,000
32,500,000
4
Candra
50,000,000
51,200,000
5
Dewi
40,000,000
38,700,000
6
Eko
35,000,000
27,300,000
7
Fajar
40,000,000
40,100,000
Formula
Kolom D (Achievement) dan E (Rank), isi di baris 2 lalu salin ke baris 7:
Achievement dihitung dari actual dibagi target, lalu dibulatkan 4 digit agar tampil rapi sebagai persen dengan 2 desimal. Peringkat disusun dari achievement, bukan dari nominal actual. Hasilnya berbeda: Candra punya actual terbesar, tetapi Bella yang paling tinggi achievement-nya karena targetnya lebih kecil.
Achievement tim dihitung dari total actual dibagi total target (234,800,000 ÷ 245,000,000 = 95.84%). Angka ini berbeda dari rata-rata achievement enam sales (95.96%), karena target tiap sales tidak sama besar. Untuk laporan manajemen, pakai total dibagi total.
Sales yang mencapai target adalah Bella, Candra, dan Fajar: 32,500,000 + 51,200,000 + 40,100,000 = 123,800,000. Rata-rata 39,133,333 dibulatkan ke ratusan ribu menjadi 39,100,000.
BAB
03
RUMUS LOGIKA
Rumus logika membuat Excel bisa mengambil keputusan: lulus atau remedial, dapat bonus atau tidak, proyek masih aman atau sudah terlambat. BAB ini juga membahas cara menangani error agar laporan tetap bersih.
Tujuan Pembelajaran
Menulis kondisi dengan IF, IFS, dan SWITCH
Menggabungkan beberapa syarat dengan AND, OR, NOT, dan XOR
Menyusun Nested IF yang rapi dan mudah dibaca
Menangani error dengan IFERROR dan IFNA
Membuat status proyek otomatis
Formula Count
10
formula card di BAB ini
Rumus yang Dibahas
IFNested IFIFSANDORNOTXORSWITCHIFERRORIFNA
3.1 Keputusan Dasar
Semua rumus logika bertumpu pada hasil TRUE atau FALSE dari operator perbandingan (BAB 1.2). IF lalu memilih nilai mana yang ditampilkan berdasarkan hasil itu.
FORMULA CARD
IF
Fungsi
Menguji satu kondisi. Jika kondisi benar, tampilkan nilai pertama. Jika salah, tampilkan nilai kedua.
Nilai atau rumus jika kondisi salah. Jika dikosongkan, hasilnya FALSE
Contoh Data
A
B
1
Peserta
Nilai
2
Andi
82
3
Bella
68
4
Citra
75
Formula
=IF(B2>=75, "LULUS", "REMEDIAL") // di C2, salin ke C4
Hasil
Peserta
Hasil
Andi
LULUS
Bella
REMEDIAL
Citra
LULUS
Penjelasan
Excel memeriksa apakah nilai minimal 75. Andi (82) dan Citra (75) memenuhi syarat karena operatornya >=. Bella (68) tidak memenuhi, sehingga mendapat REMEDIAL.
FORMULA CARD
Nested IF
Fungsi
IF di dalam IF. Dipakai jika hasilnya lebih dari dua kemungkinan. Excel memeriksa kondisi dari kiri ke kanan dan berhenti di kondisi pertama yang benar.
Untuk Dewi (96.75%), kondisi pertama >=100% salah, jadi Excel masuk ke IF kedua. Kondisi >=90% benar, sehingga hasilnya Near Target. Untuk Eko, kedua kondisi salah dan hasilnya nilai terakhir.
FORMULA CARDExcel 2019+
IFS
Fungsi
Menguji banyak kondisi berurutan tanpa perlu IF bertingkat. Hasilnya diambil dari kondisi pertama yang benar.
Excel memeriksa pasangan kondisi satu per satu. Nilai 71 gagal di >=90 dan >=80, lalu lolos di >=70 sehingga mendapat C. Kondisi terakhir TRUE selalu benar dan berfungsi sebagai "selain itu".
3.2 Menggabungkan Kondisi
Fungsi
Hasil TRUE jika
Contoh
AND
Semua kondisi benar
Target tercapai dan absensi baik
OR
Minimal satu kondisi benar
Nilai besar atau customer prioritas
NOT
Kondisi salah
Status bukan Closed
XOR
Jumlah kondisi yang benar ganjil (untuk dua kondisi: tepat satu yang benar)
Dokumen hanya ada salah satu versi
FORMULA CARD
AND
Fungsi
Menghasilkan TRUE hanya jika semua kondisi benar. Hampir selalu dipakai di dalam IF.
Syarat bonus ada dua: achievement minimal 100% dan kehadiran minimal 95%. Andi memenuhi keduanya. Bella gagal di kehadiran, Citra gagal di achievement.
FORMULA CARD
OR
Fungsi
Menghasilkan TRUE jika minimal satu kondisi benar.
INV-02 dan INV-03 hanya punya satu versi dokumen, jadi hasilnya TRUE dan perlu dilengkapi. INV-01 punya keduanya. INV-04 tidak punya sama sekali, yang juga FALSE di XOR, sehingga perlu kondisi tambahan jika kasus ini ingin ditandai.
3.3 Memilih dari Daftar
FORMULA CARDExcel 2019+
SWITCH
Fungsi
Mencocokkan satu nilai dengan daftar pilihan, lalu mengembalikan hasil yang sesuai. Lebih ringkas dari Nested IF untuk pencocokan persis.
Excel mencocokkan isi A2 dengan setiap pilihan. MDN tidak ada di daftar, sehingga yang keluar adalah nilai default "Lainnya".
3.4 Menangani Error
Error
Penyebab umum
#DIV/0!
Pembagian dengan nol atau cell kosong
#N/A
Data yang dicari tidak ditemukan (lookup)
#VALUE!
Tipe data salah, misalnya teks ikut dihitung
#REF!
Referensi hilang karena baris atau kolom dihapus
#NAME?
Nama fungsi salah ketik, atau fungsi tidak ada di versi Excel tersebut
#NUM!
Angka tidak valid, misalnya akar dari bilangan negatif
FORMULA CARD
IFERROR
Fungsi
Menampilkan nilai pengganti jika rumus menghasilkan error apa pun. Jika tidak error, hasil rumus asli yang tampil.
Syntax
=IFERROR(value, value_if_error)
Penjelasan Argument
Argument
Penjelasan
value
Rumus yang diperiksa
value_if_error
Nilai pengganti jika terjadi error
Contoh Data
A
B
C
1
Sales
Target
Actual
2
Andi
50,000,000
45,000,000
3
Gita (baru)
12,000,000
Formula
=IFERROR(C2/B2, "Target belum ada")
Hasil
Andi 90%, Gita "Target belum ada"
Penjelasan
Untuk Andi, pembagian berjalan normal. Target Gita masih kosong, sehingga C3/B3 menghasilkan #DIV/0!. IFERROR menangkap error itu dan menampilkan teks pengganti.
FORMULA CARDExcel 2013+
IFNA
Fungsi
Menampilkan nilai pengganti hanya untuk error #N/A. Error lain tetap tampil sehingga masalah lain tidak tersembunyi.
Syntax
=IFNA(value, value_if_na)
Penjelasan Argument
Argument
Penjelasan
value
Rumus yang diperiksa, biasanya rumus lookup
value_if_na
Nilai pengganti jika hasilnya #N/A
Contoh Data
A
B
C
D
E
1
Kode
Nama Material
Cari Kode
2
M-001
Kabel FO 24 Core
M-009
3
M-002
Closure 48 Core
4
M-003
ODP 16 Port
Formula
=IFNA(VLOOKUP(E2, A2:B4, 2, FALSE), "Kode tidak ditemukan")
Hasil
Kode tidak ditemukan
Penjelasan
VLOOKUP mencari M-009 di kolom A dan tidak menemukannya, sehingga menghasilkan #N/A. IFNA menggantinya dengan pesan yang lebih jelas. VLOOKUP dibahas lengkap di BAB 6.
REAL WORLD CASE STUDY
Project Status Monitoring
Problem
Tim project admin mengelola tujuh proyek dengan status yang selama ini diisi manual. Status sering terlambat diperbarui sehingga laporan mingguan tidak akurat. Status harus dihitung otomatis dari tanggal rencana, progress, dan dokumen BAST, dengan enam kemungkinan: NOT STARTED, ON PROGRESS, ON TRACK, DELAY, COMPLETED, dan CLOSED.
Raw Data
A
B
C
D
E
F
G
H
I
1
Project
Plan Start
Plan Finish
Progress
BAST
Plan %
Status
Tgl Acuan
15 Jun 2026
2
PRJ-01 FO Backbone Medan
01 Apr 2026
30 Jun 2026
85%
3
PRJ-02 Tower Bekasi
01 Mar 2026
31 May 2026
90%
4
PRJ-03 FTTH Bandung
01 Jul 2026
30 Sep 2026
0%
5
PRJ-04 Upgrade BTS Bogor
01 May 2026
31 Jul 2026
40%
6
PRJ-05 Relokasi ODC Depok
01 Feb 2026
30 Apr 2026
100%
Ya
7
PRJ-06 FO Access Tangerang
01 Apr 2026
31 May 2026
100%
8
PRJ-07 Microcell Jakarta
15 May 2026
15 Jul 2026
20%
Formula
Aturan status diperiksa berurutan dari atas:
Urutan
Kondisi
Status
1
BAST sudah ada
CLOSED
2
Progress 100%
COMPLETED
3
Progress 0% dan belum masuk tanggal mulai
NOT STARTED
4
Sudah melewati Plan Finish
DELAY
5
Progress ≥ Plan %
ON TRACK
6
Progress tertinggal maksimal 10 poin dari Plan %
ON PROGRESS
7
Selain itu
DELAY
Plan % adalah persentase waktu yang sudah berjalan (F2), dibatasi antara 0% dan 100%. Tanggal acuan disimpan di I1.
PRJ-01 sudah berjalan 75 dari 90 hari (83.33%), dan progress 85% lebih tinggi dari itu, jadi ON TRACK. PRJ-04 berjalan 45 dari 91 hari (49.45%). Progress 40% memang tertinggal, tetapi masih dalam toleransi 10 poin, sehingga ON PROGRESS. PRJ-07 tertinggal lebih dari 30 poin dan langsung masuk DELAY walau tanggal selesainya belum lewat.
Urutan kondisi menentukan hasil. CLOSED diperiksa paling awal karena proyek yang sudah BAST pasti juga 100%. Jika urutan COMPLETED dan CLOSED ditukar, tidak akan pernah ada proyek berstatus CLOSED.
Tanggal acuan disimpan di I1 supaya contoh ini bisa diuji ulang. Di file kerja, isi I1 dengan =TODAY() sehingga status diperbarui otomatis setiap kali file dibuka.
Hasilnya: PRJ-02 dan PRJ-07 berstatus ESKALASI karena DELAY. PRJ-04 berstatus ON PROGRESS dengan sisa 46 hari, sehingga belum perlu eskalasi. Proyek lain menampilkan "-".
BAB
04
RUMUS TEXT & DATA PROCESSING
Data dari sistem, formulir online, atau hasil copy-paste jarang langsung rapi. Nama berhuruf kapital acak, nomor HP berisi tanda strip, kode customer tidak seragam. Rumus teks membersihkan dan menyusun ulang data seperti ini tanpa diketik ulang satu per satu.
Tujuan Pembelajaran
Mengambil bagian teks dengan LEFT, RIGHT, dan MID
Menyeragamkan huruf dan membuang spasi berlebih
Mencari dan mengganti karakter di dalam teks
Menggabungkan teks dari beberapa kolom
Mengubah teks menjadi angka dan angka menjadi teks berformat
Setiap karakter dalam teks punya posisi. Pada kode JKT-2026-0147, huruf J di posisi 1, tanda strip pertama di posisi 4, dan angka 0147 di posisi 10 sampai 13. Tiga fungsi berikut memotong teks berdasarkan posisi tersebut.
FORMULA CARD
LEFT
Fungsi
Mengambil sejumlah karakter dari sisi kiri teks.
Syntax
=LEFT(text, [num_chars])
Penjelasan Argument
Argument
Penjelasan
text
Teks sumber
[num_chars]
Jumlah karakter yang diambil. Default 1
Contoh Data
A
1
Kode Proyek
2
JKT-2026-0147
3
BDG-2026-0022
4
SBY-2025-0310
Formula
=LEFT(A2, 3)
Hasil
JKT, BDG, SBY
Penjelasan
Tiga karakter pertama dari setiap kode adalah kode region. Rumus ini memisahkannya ke kolom sendiri sehingga bisa dipakai untuk rekap per region.
FORMULA CARD
RIGHT
Fungsi
Mengambil sejumlah karakter dari sisi kanan teks.
Syntax
=RIGHT(text, [num_chars])
Penjelasan Argument
Argument
Penjelasan
text
Teks sumber
[num_chars]
Jumlah karakter yang diambil. Default 1
Contoh Data
A
1
No Invoice
2
INV/2026/06/0452
3
INV/2026/06/0453
Formula
=RIGHT(A2, 4)
Hasil
0452 dan 0453
Penjelasan
Empat karakter terakhir adalah nomor urut invoice. Karena hasilnya teks, angka nol di depan tetap terlihat.
FORMULA CARD
MID
Fungsi
Mengambil karakter dari tengah teks, mulai dari posisi tertentu sebanyak jumlah tertentu.
Syntax
=MID(text, start_num, num_chars)
Penjelasan Argument
Argument
Penjelasan
text
Teks sumber
start_num
Posisi karakter pertama yang diambil
num_chars
Jumlah karakter yang diambil
Contoh Data
A
1
Kode Proyek
2
JKT-2026-0147
3
BDG-2026-0022
4
SBY-2025-0310
Formula
=MID(A2, 5, 4)
Hasil
2026, 2026, 2025
Penjelasan
Tahun dimulai di posisi 5 (setelah JKT-) dan panjangnya 4 karakter.
FORMULA CARD
LEN
Fungsi
Menghitung jumlah karakter dalam teks, termasuk spasi dan tanda baca.
Syntax
=LEN(text)
Penjelasan Argument
Argument
Penjelasan
text
Teks yang dihitung panjangnya
Contoh Data
A
1
No HP
2
081234567890
3
08123456
4
0812 3456 7890
Formula
=LEN(A2)
Hasil
12, 8, 14
Penjelasan
Nomor pertama 12 digit. Nomor kedua hanya 8 digit, kemungkinan salah input. Nomor ketiga terhitung 14 karena dua spasi ikut dihitung.
4.2 Huruf Besar, Kecil, dan Spasi
FORMULA CARD
LOWER
Fungsi
Mengubah semua huruf menjadi huruf kecil.
Syntax
=LOWER(text)
Penjelasan Argument
Argument
Penjelasan
text
Teks yang diubah
Contoh Data
A
1
Email
2
Budi.Santoso@PTMaju.co.id
3
SITI.N@YAHOO.CO.ID
Formula
=LOWER(A2)
Hasil
budi.santoso@ptmaju.co.id dan siti.n@yahoo.co.id
Penjelasan
Semua huruf kapital diubah menjadi huruf kecil. Alamat email tidak membedakan huruf besar dan kecil, sehingga format huruf kecil memudahkan pencarian duplikat.
FORMULA CARD
UPPER
Fungsi
Mengubah semua huruf menjadi huruf kapital.
Syntax
=UPPER(text)
Penjelasan Argument
Argument
Penjelasan
text
Teks yang diubah
Contoh Data
A
1
Kode Input
2
jkt-2026-0147
3
Bdg-2026-0022
Formula
=UPPER(A2)
Hasil
JKT-2026-0147 dan BDG-2026-0022
Penjelasan
Kode yang diketik dengan huruf campuran diseragamkan menjadi kapital. Angka dan tanda strip tidak berubah.
FORMULA CARD
PROPER
Fungsi
Mengubah huruf pertama setiap kata menjadi kapital dan sisanya huruf kecil.
Syntax
=PROPER(text)
Penjelasan Argument
Argument
Penjelasan
text
Teks yang diubah
Contoh Data
A
1
Nama
2
BUDI SANTOSO
3
siti nurhaliza
4
aNDI wIJAYA
Formula
=PROPER(A2)
Hasil
Budi Santoso, Siti Nurhaliza, Andi Wijaya
Penjelasan
PROPER memperlakukan setiap kata secara terpisah, lalu membuat huruf pertama kapital.
FORMULA CARD
TRIM
Fungsi
Membuang spasi di awal dan akhir teks, serta mengubah spasi ganda di tengah menjadi satu spasi.
Syntax
=TRIM(text)
Penjelasan Argument
Argument
Penjelasan
text
Teks yang dibersihkan
Contoh Data
A
1
Nama Asli (· = spasi)
2
··Budi···Santoso·
Formula
=TRIM(A2)
=LEN(A2)
=LEN(TRIM(A2))
Hasil
"Budi Santoso", panjang berubah dari 17 menjadi 12 karakter
Penjelasan
Teks asli punya 2 spasi di depan, 3 spasi di antara kata, dan 1 spasi di belakang (2 + 4 + 3 + 7 + 1 = 17 karakter). TRIM menyisakan satu spasi di antara kata saja.
FORMULA CARD
CLEAN
Fungsi
Membuang karakter tak tercetak (kode ASCII 0-31), seperti line break dan tab, yang sering terbawa dari sistem lain.
Syntax
=CLEAN(text)
Penjelasan Argument
Argument
Penjelasan
text
Teks yang dibersihkan
Contoh Data
A
1
Alamat (↵ = line break di dalam cell)
2
Jl. Merdeka No. 5↵Jakarta Pusat
Formula
=CLEAN(A2)
=TRIM(SUBSTITUTE(A2, CHAR(10), " "))
Hasil
CLEAN menghasilkan "Jl. Merdeka No. 5Jakarta Pusat". Rumus kedua menghasilkan "Jl. Merdeka No. 5 Jakarta Pusat".
Penjelasan
Line break adalah karakter nomor 10 (CHAR(10)). CLEAN menghapusnya, sehingga kata "5" dan "Jakarta" menempel. Rumus kedua mengganti line break dengan spasi, lalu TRIM merapikan spasinya.
4.3 Mencari dan Mengganti
FORMULA CARD
FIND
Fungsi
Mencari posisi sebuah teks di dalam teks lain. Membedakan huruf besar dan kecil.
Posisi @ = 13, username = budi.santoso, domain = ptmaju.co.id
Penjelasan
budi.santoso terdiri dari 12 karakter, jadi @ berada di posisi 13. LEFT mengambil 12 karakter sebelum @, dan MID mengambil semua karakter setelah @.
FORMULA CARD
SEARCH
Fungsi
Sama seperti FIND, tetapi tidak membedakan huruf besar dan kecil, dan mendukung wildcard * dan ?.
Syntax
=SEARCH(find_text, within_text, [start_num])
Penjelasan Argument
Argument
Penjelasan
find_text
Teks yang dicari, boleh berisi wildcard
within_text
Teks tempat mencari
[start_num]
Posisi mulai pencarian. Default 1
Contoh Data
A
1
Deskripsi Material
2
Kabel FO 24 Core
3
Patch Cord SC-SC 3m
4
Kabel fo drop 1 core
Formula
=SEARCH("fo", A2)
=ISNUMBER(SEARCH("fo", A2))
Hasil
Deskripsi
SEARCH
Mengandung "fo"?
Kabel FO 24 Core
7
TRUE
Patch Cord SC-SC 3m
#VALUE!
FALSE
Kabel fo drop 1 core
7
TRUE
Penjelasan
SEARCH menemukan "FO" maupun "fo" di posisi 7. Pada baris kedua teks tidak ditemukan sehingga hasilnya error, dan ISNUMBER mengubahnya menjadi FALSE. Pola ISNUMBER(SEARCH(...)) adalah cara standar mengecek "apakah teks mengandung kata tertentu".
FORMULA CARD
SUBSTITUTE
Fungsi
Mengganti teks tertentu dengan teks lain. Bisa mengganti semua kemunculan atau hanya kemunculan ke-n.
Rumus pertama menghapus semua tanda strip. Rumus kedua menumpuk dua SUBSTITUTE: yang dalam menghapus strip, yang luar menghapus spasi. Dengan cara ini, nomor HP dari berbagai format menjadi seragam.
FORMULA CARD
REPLACE
Fungsi
Mengganti teks berdasarkan posisi karakter, bukan berdasarkan isi.
Mulai dari karakter ke-5, empat karakter (3456) diganti dengan empat bintang. Posisi lain tidak berubah.
FORMULA CARD
EXACT
Fungsi
Membandingkan dua teks secara persis, termasuk huruf besar dan kecil. Hasilnya TRUE atau FALSE.
Syntax
=EXACT(text1, text2)
Penjelasan Argument
Argument
Penjelasan
text1
Teks pertama
text2
Teks kedua
Contoh Data
A
B
1
Kode Sistem
Kode Input
2
INV-001
INV-001
3
INV-002
inv-002
Formula
=EXACT(A2, B2)
=A2=B2
Hasil
Baris 2: EXACT TRUE, operator = TRUE. Baris 3: EXACT FALSE, operator = TRUE.
Penjelasan
Operator = di Excel tidak membedakan huruf besar dan kecil, sehingga INV-002 dianggap sama dengan inv-002. EXACT lebih ketat dan menganggap keduanya berbeda.
4.4 Menggabungkan Teks
FORMULA CARD
CONCATENATE
Fungsi
Menggabungkan beberapa teks menjadi satu. Fungsi lama yang masih didukung semua versi Excel.
Syntax
=CONCATENATE(text1, [text2], ...)
Penjelasan Argument
Argument
Penjelasan
text1
Teks atau cell pertama
[text2]
Teks atau cell berikutnya, sampai 255 item
Contoh Data
A
B
1
Nama Depan
Nama Belakang
2
Budi
Santoso
Formula
=CONCATENATE(A2, " ", B2)
=A2&" "&B2
Hasil
Budi Santoso
Penjelasan
Kedua rumus menghasilkan hal yang sama. Spasi " " harus ditulis sendiri sebagai argument, karena Excel tidak menambahkan pemisah otomatis.
FORMULA CARDExcel 2019+
CONCAT
Fungsi
Pengganti modern CONCATENATE yang juga bisa menggabungkan seluruh isi range.
Syntax
=CONCAT(text1, [text2], ...)
Penjelasan Argument
Argument
Penjelasan
text1
Teks, cell, atau range pertama
[text2]
Teks, cell, atau range berikutnya
Contoh Data
A
B
C
1
Region
Tahun
No Urut
2
JKT
2026
147
Formula
=CONCAT(A2, "-", B2, "-", TEXT(C2, "0000"))
Hasil
JKT-2026-0147
Penjelasan
Nomor urut 147 disimpan sebagai angka. TEXT(C2, "0000") mengubahnya menjadi teks empat digit dengan nol di depan, lalu CONCAT menggabungkan semua bagian dengan tanda strip.
FORMULA CARDExcel 2019+
TEXTJOIN
Fungsi
Menggabungkan isi range dengan pemisah tertentu, dan bisa melewati cell kosong.
Kolom Kelurahan kosong. Karena ignore_empty bernilai TRUE, Excel melewatinya sehingga tidak muncul pemisah ganda , ,.
4.5 Konversi Teks dan Angka
FORMULA CARD
VALUE
Fungsi
Mengubah teks yang berbentuk angka menjadi angka sungguhan, sehingga bisa dihitung.
Syntax
=VALUE(text)
Penjelasan Argument
Argument
Penjelasan
text
Teks yang berisi angka, tanggal, atau waktu
Contoh Data
A
1
Penjualan (teks dari sistem)
2
45000
3
32500
4
51200
Formula
=SUM(A2:A4)
=VALUE(A2) // di B2, salin ke B4
=SUM(B2:B4)
Hasil
SUM pada data asli menghasilkan 0. Setelah dikonversi, SUM(B2:B4) menghasilkan 128,700.
Penjelasan
Data dari sistem tersimpan sebagai teks, sehingga SUM mengabaikannya. VALUE mengubah setiap teks menjadi angka, lalu total bisa dihitung: 45,000 + 32,500 + 51,200 = 128,700.
FORMULA CARD
TEXT
Fungsi
Mengubah angka atau tanggal menjadi teks dengan format tertentu. Berguna untuk kalimat otomatis dan label.
Syntax
=TEXT(value, format_text)
Penjelasan Argument
Argument
Penjelasan
value
Angka atau tanggal yang diformat
format_text
Kode format dalam tanda kutip, misalnya "#,##0" atau "dd mmm yyyy"
Total tagihan: Rp1,250,000 Jatuh tempo 15 Jun 2026 Senin, 15 Juni 2026
Penjelasan
Tanpa TEXT, angka yang digabung dengan teks kehilangan format dan tampil sebagai 1250000, sedangkan tanggal tampil sebagai angka seri 46188. Kode [$-421] memaksa nama hari dan bulan ditulis dalam bahasa Indonesia, apa pun bahasa Excel Anda.
REAL WORLD CASE STUDY
Membersihkan Database Customer
Problem
Tim marketing menerima database customer dari tiga sumber: formulir online, input manual sales, dan export sistem lama. Nama ditulis dengan huruf acak dan spasi berlebih, nomor HP punya empat format berbeda, email bercampur huruf besar, dan kode customer tidak seragam. Data ini akan diimpor ke CRM yang mewajibkan format baku.
Raw Data
Tanda · menandai spasi yang tidak terlihat di cell
A
B
C
D
E
1
Nama
No HP
Email
Kota
Kode
2
··budi···SANTOSO·
0812-3456-7890
Budi.Santoso@Gmail.com
·jakarta selatan
cst-12
3
SITI nurhaliza
+62 813 1122 3344
SITI.N@YAHOO.CO.ID·
BANDUNG·
CST-7
4
andi··wijaya
62-857-9988-7766
andi.w@ptmaju.co.id
surabaya
cst-105
Formula
Buat kolom hasil di sebelah kanan (mulai kolom G), isi di baris 2 lalu salin ke baris 4. Nomor HP dibersihkan dalam dua langkah memakai kolom bantu H.
Nomor HP butuh dua langkah. Langkah pertama membuang strip, spasi, dan tanda plus, sehingga +62 813 1122 3344 menjadi 6281311223344. Langkah kedua mengecek dua digit awal. Jika 62, digit tersebut diganti 0 dan sisa nomornya diambil dengan MID mulai posisi 3.
Kode customer diambil angkanya dengan MID(E2,5,10), karena prefix cst- selalu 4 karakter. VALUE mengubahnya menjadi angka, lalu TEXT(...,"0000") menambahkan nol di depan sampai 4 digit.
Setelah semua kolom hasil benar, salin kolom G sampai L, lalu Paste Special > Values ke sheet baru. Data siap diimpor tanpa rumus di dalamnya.
Answer
=LEFT(G2, FIND(" ", G2&" ")-1) // Nama Panggilan: Budi, Siti, Andi
=REPLACE(I2, 5, 4, "****") // HP Tersamar: 0812****7890
Tambahan G2&" " di dalam FIND mencegah error jika nama hanya satu kata. Tanpa itu, nama seperti "Rudi" tidak punya spasi dan FIND menghasilkan #VALUE!.
BAB
05
RUMUS TANGGAL & WAKTU
Umur piutang, masa kerja karyawan, jatuh tempo kontrak, jumlah hari kerja proyek, dan keterlambatan SLA semuanya dihitung dari tanggal. BAB ini membahas cara Excel menyimpan tanggal dan fungsi yang paling sering dipakai untuk menghitungnya.
Tujuan Pembelajaran
Memahami tanggal sebagai angka seri dan waktu sebagai pecahan hari
Mengambil dan menyusun komponen tanggal
Menghitung selisih hari, bulan, tahun, dan hari kerja
Excel menyimpan tanggal sebagai angka seri. Tanggal 1 Januari 1900 bernilai 1, dan setiap hari berikutnya bertambah 1. Tanggal 15 Juni 2026 tersimpan sebagai angka 46188. Waktu disimpan sebagai pecahan hari: pukul 12:00 bernilai 0.5 dan pukul 06:00 bernilai 0.25.
Tampilan
Nilai asli
Keterangan
15 Jun 2026
46188
Tanggal saja
12:00
0.5
Setengah hari
15 Jun 2026 18:00
46188.75
Tanggal dan jam
Karena tanggal adalah angka, dua tanggal bisa langsung dikurangi untuk mendapatkan selisih hari:
=B2-A2// A2 = 01 Jun 2026, B2 = 15 Jun 2026, hasil 14
5.2 Tanggal Hari Ini dan Menyusun Tanggal
FORMULA CARD
TODAY
Fungsi
Menghasilkan tanggal hari ini sesuai jam komputer. Nilainya diperbarui otomatis setiap kali file dihitung ulang.
Syntax
=TODAY()
Penjelasan Argument
Argument
Penjelasan
(tanpa argument)
Tanda kurung tetap wajib ditulis
Contoh Data
A
B
1
No Invoice
Tanggal Invoice
2
INV-0452
20 May 2026
Formula
=TODAY()
=TODAY()-B2
Hasil
15 Jun 2026, dan umur invoice 26 hari
Penjelasan
Dari 20 Mei ke 31 Mei ada 11 hari, ditambah 15 hari di bulan Juni, jadi totalnya 26 hari. Besok, tanpa diubah apa pun, hasilnya menjadi 27.
FORMULA CARD
NOW
Fungsi
Menghasilkan tanggal dan jam saat ini. Diperbarui setiap kali workbook dihitung ulang.
Syntax
=NOW()
Penjelasan Argument
Argument
Penjelasan
(tanpa argument)
Tanda kurung tetap wajib ditulis
Contoh Data
A
B
1
No Tiket
Waktu Dibuka
2
TK-7781
15 Jun 2026 08:20
Formula
=NOW()
=(NOW()-B2)*24
Hasil
15 Jun 2026 14:35, dan tiket sudah terbuka 6.25 jam
Penjelasan
Selisih dua waktu dalam satuan hari adalah 0.2604 (6 jam 15 menit). Dikalikan 24 menjadi jam desimal: 6.25 jam.
FORMULA CARD
DATE
Fungsi
Menyusun tanggal dari angka tahun, bulan, dan hari yang terpisah.
Syntax
=DATE(year, month, day)
Penjelasan Argument
Argument
Penjelasan
year
Tahun, empat digit
month
Bulan 1-12. Angka di luar rentang otomatis digeser ke tahun berikutnya atau sebelumnya
day
Tanggal 1-31. Angka di luar rentang otomatis digeser ke bulan berikutnya atau sebelumnya
Contoh Data
A
B
C
1
Tahun
Bulan
Hari
2
2026
6
15
3
2026
13
1
4
2026
3
0
Formula
=DATE(A2, B2, C2)
Hasil
15 Jun 2026, 01 Jan 2027, 28 Feb 2026
Penjelasan
Baris pertama menghasilkan tanggal normal. Bulan 13 digeser menjadi Januari tahun berikutnya. Hari 0 berarti "satu hari sebelum tanggal 1", yaitu hari terakhir bulan sebelumnya.
5.3 Mengambil Komponen Tanggal
FORMULA CARD
DAY
Fungsi
Mengambil angka tanggal (1-31) dari sebuah tanggal.
Syntax
=DAY(serial_number)
Penjelasan Argument
Argument
Penjelasan
serial_number
Tanggal sumber
Contoh Data
A
B
1
Karyawan
Tanggal Masuk
2
Rudi
10 Aug 2019
3
Sari
23 Feb 2024
Formula
=DAY(B2)
Hasil
10 dan 23
Penjelasan
DAY hanya mengambil bagian tanggal. Bulan dan tahun diabaikan.
FORMULA CARD
MONTH
Fungsi
Mengambil angka bulan (1-12) dari sebuah tanggal.
Syntax
=MONTH(serial_number)
Penjelasan Argument
Argument
Penjelasan
serial_number
Tanggal sumber
Contoh Data
A
B
1
No PO
Tanggal PO
2
PO-101
05 Jan 2026
3
PO-102
17 Apr 2026
4
PO-103
15 Jun 2026
Formula
=MONTH(B2)
="Q"&ROUNDUP(MONTH(B2)/3, 0)
Hasil
No PO
Bulan
Kuartal
PO-101
1
Q1
PO-102
4
Q2
PO-103
6
Q2
Penjelasan
MONTH mengambil angka bulan. Bulan 4 dibagi 3 menghasilkan 1.33, dibulatkan ke atas menjadi 2, sehingga April masuk Q2.
FORMULA CARD
YEAR
Fungsi
Mengambil angka tahun dari sebuah tanggal.
Syntax
=YEAR(serial_number)
Penjelasan Argument
Argument
Penjelasan
serial_number
Tanggal sumber
Contoh Data
A
B
1
Aset
Tanggal Perolehan
2
Laptop AST-01
12 Mar 2022
3
Genset AST-02
03 Nov 2019
Formula
=YEAR(TODAY())-YEAR(B2)
Hasil
4 dan 7
Penjelasan
Rumus mengurangkan tahun sekarang (2026) dengan tahun perolehan. Laptop dibeli 2022 sehingga hasilnya 4, genset 2019 menghasilkan 7.
5.4 Selisih Tanggal
FORMULA CARDExcel 2013+
DAYS
Fungsi
Menghitung jumlah hari antara dua tanggal.
Syntax
=DAYS(end_date, start_date)
Penjelasan Argument
Argument
Penjelasan
end_date
Tanggal akhir (ditulis lebih dulu)
start_date
Tanggal awal
Contoh Data
A
B
C
1
Kontrak
Mulai
Selesai
2
KTR-2026-08
01 Mar 2026
31 Dec 2026
Formula
=DAYS(C2, B2)
=DAYS(C2, B2)+1
Hasil
305 hari, atau 306 hari jika tanggal mulai ikut dihitung
Penjelasan
DAYS sama dengan C2-B2. Hasil 305 adalah jarak antar tanggal. Jika kontrak berlaku sejak hari pertama sampai hari terakhir, tambahkan 1 untuk menghitung hari berlaku.
FORMULA CARD
DATEDIF
Fungsi
Menghitung selisih dua tanggal dalam tahun, bulan, atau hari penuh. Fungsi ini tidak muncul di daftar saran Excel, tetapi tersedia di semua versi.
Syntax
=DATEDIF(start_date, end_date, unit)
Penjelasan Argument
Argument
Penjelasan
start_date
Tanggal awal
end_date
Tanggal akhir, harus lebih besar atau sama dengan start_date
unit
"Y" tahun penuh, "M" bulan penuh, "D" hari, "YM" sisa bulan setelah tahun penuh, "MD" sisa hari setelah bulan penuh
Dari 10 Agu 2019 sampai 10 Agu 2025 sudah genap 6 tahun. Dari 10 Agu 2025 sampai 10 Jun 2026 ada 10 bulan penuh. Sisa dari 10 Jun ke 15 Jun adalah 5 hari.
FORMULA CARD
YEARFRAC
Fungsi
Menghitung selisih dua tanggal sebagai pecahan tahun, misalnya 0.71 tahun. Berguna untuk perhitungan prorata.
Syntax
=YEARFRAC(start_date, end_date, [basis])
Penjelasan Argument
Argument
Penjelasan
start_date
Tanggal awal
end_date
Tanggal akhir
[basis]
Cara menghitung hari. 0 atau kosong = 30/360 (US), 1 = hari aktual, 2 = aktual/360, 3 = aktual/365, 4 = 30/360 (Eropa)
Contoh Data
A
B
1
Keterangan
Nilai
2
Tanggal Masuk
01 Oct 2025
3
Tanggal Hitung
15 Jun 2026
4
Bonus Tahunan Penuh
12,000,000
Formula
=YEARFRAC(B2, B3)
=ROUND(B4*YEARFRAC(B2, B3), 0)
Hasil
0.705556 tahun, bonus prorata 8,466,667
Penjelasan
Dengan basis 30/360, setiap bulan dianggap 30 hari. Oktober 2025 sampai Juni 2026 dihitung 254 hari dari 360, yaitu 0.705556 tahun. Bonus penuh dikali pecahan tersebut lalu dibulatkan.
5.5 Jatuh Tempo dan Akhir Bulan
FORMULA CARD
EDATE
Fungsi
Menghasilkan tanggal beberapa bulan sebelum atau sesudah tanggal awal, dengan tanggal yang sama.
Syntax
=EDATE(start_date, months)
Penjelasan Argument
Argument
Penjelasan
start_date
Tanggal awal
months
Jumlah bulan. Positif ke depan, negatif ke belakang
Contoh Data
A
B
C
1
Kontrak
Mulai
Durasi (bulan)
2
PKWT-01
15 Jan 2026
6
3
SEWA-07
31 Jan 2026
1
Formula
=EDATE(B2, C2)
Hasil
15 Jul 2026 dan 28 Feb 2026
Penjelasan
Enam bulan setelah 15 Januari adalah 15 Juli. Untuk 31 Januari plus satu bulan, Februari 2026 tidak punya tanggal 31, sehingga Excel memakai tanggal terakhir Februari, yaitu 28.
FORMULA CARD
EOMONTH
Fungsi
Menghasilkan tanggal terakhir dari bulan tertentu, dihitung dari tanggal awal ditambah sejumlah bulan.
Syntax
=EOMONTH(start_date, months)
Penjelasan Argument
Argument
Penjelasan
start_date
Tanggal awal
months
0 = akhir bulan yang sama, 1 = akhir bulan depan, -1 = akhir bulan lalu
Rumus pertama memberi akhir bulan invoice. Rumus kedua memberi akhir bulan berikutnya, cocok untuk syarat bayar "akhir bulan berikutnya". Rumus ketiga mengambil akhir bulan lalu (31 Mei) lalu ditambah 1, sehingga menjadi tanggal 1 bulan ini.
5.6 Hari dan Minggu
FORMULA CARD
WEEKDAY
Fungsi
Menghasilkan angka urutan hari dalam seminggu dari sebuah tanggal.
Syntax
=WEEKDAY(serial_number, [return_type])
Penjelasan Argument
Argument
Penjelasan
serial_number
Tanggal sumber
[return_type]
1 atau kosong = Minggu 1 sampai Sabtu 7. 2 = Senin 1 sampai Minggu 7
Dengan sistem default, minggu pertama adalah minggu yang memuat 1 Januari, dan setiap minggu dimulai hari Minggu. 15 Juni 2026 jatuh di minggu ke-25. Pada tahun 2026, sistem ISO juga menghasilkan 25.
5.7 Hari Kerja
FORMULA CARD
WORKDAY
Fungsi
Menghasilkan tanggal setelah sejumlah hari kerja, dengan melewati Sabtu, Minggu, dan daftar hari libur.
Syntax
=WORKDAY(start_date, days, [holidays])
Penjelasan Argument
Argument
Penjelasan
start_date
Tanggal mulai (tidak ikut dihitung)
days
Jumlah hari kerja yang ditambahkan
[holidays]
Range daftar tanggal libur
Contoh Data
A
B
C
D
E
1
Pekerjaan
Mulai
Durasi (hari kerja)
Libur (contoh)
2
Instalasi ODP
15 Jun 2026
10
17 Jun 2026
3
22 Jun 2026
Formula
=WORKDAY(B2, C2)
=WORKDAY(B2, C2, $E$2:$E$3)
Hasil
29 Jun 2026 tanpa daftar libur, 01 Jul 2026 dengan daftar libur
Penjelasan
Hitungan dimulai dari hari setelah 15 Juni. Tanpa libur, 10 hari kerja jatuh pada Senin 29 Juni. Dengan dua hari libur di tengahnya, target mundur dua hari kerja menjadi Rabu 1 Juli.
FORMULA CARD
WORKDAY.INTL
Fungsi
Seperti WORKDAY, tetapi hari libur mingguan bisa diatur, misalnya kerja enam hari (libur hanya Minggu).
Kode akhir pekan. 1 = Sabtu-Minggu, 11 = hanya Minggu, 7 = Jumat-Sabtu. Bisa juga teks 7 digit seperti "0000011"
[holidays]
Range daftar libur
Contoh Data
A
B
C
1
Pekerjaan
Mulai
Durasi (hari kerja)
2
Tarik Kabel Site A
15 Jun 2026
10
Formula
=WORKDAY.INTL(B2, C2, 11)
Hasil
26 Jun 2026
Penjelasan
Kode 11 berarti hanya hari Minggu yang libur, jadi Sabtu tetap dihitung hari kerja. Sepuluh hari kerja dari 16 Juni termasuk Sabtu 20 Juni, sehingga target jatuh pada Jumat 26 Juni.
FORMULA CARD
NETWORKDAYS
Fungsi
Menghitung jumlah hari kerja di antara dua tanggal, termasuk tanggal awal dan akhir, tanpa Sabtu, Minggu, dan hari libur.
Syntax
=NETWORKDAYS(start_date, end_date, [holidays])
Penjelasan Argument
Argument
Penjelasan
start_date
Tanggal awal (ikut dihitung)
end_date
Tanggal akhir (ikut dihitung)
[holidays]
Range daftar libur
Contoh Data
A
B
C
D
E
1
Periode
Mulai
Selesai
Libur (contoh)
2
Juni 2026
01 Jun 2026
30 Jun 2026
17 Jun 2026
3
22 Jun 2026
Formula
=NETWORKDAYS(B2, C2, $E$2:$E$3)
Hasil
20 hari kerja
Penjelasan
Juni 2026 dimulai hari Senin dan punya 22 hari Senin sampai Jumat. Dua tanggal libur jatuh di hari kerja (Rabu dan Senin), sehingga hari kerja efektif menjadi 20.
FORMULA CARD
NETWORKDAYS.INTL
Fungsi
Seperti NETWORKDAYS, dengan pengaturan hari libur mingguan yang bisa diubah.
Kode atau teks 7 digit akhir pekan, sama seperti WORKDAY.INTL
[holidays]
Range daftar libur
Contoh Data
A
B
C
D
E
1
Periode
Mulai
Selesai
Libur (contoh)
2
Juni 2026
01 Jun 2026
30 Jun 2026
17 Jun 2026
3
22 Jun 2026
Formula
=NETWORKDAYS.INTL(B2, C2, "0000001", $E$2:$E$3)
Hasil
24 hari kerja
Penjelasan
Dengan pola kerja enam hari, hanya hari Minggu yang libur. Juni 2026 punya 4 hari Minggu (7, 14, 21, 28), jadi ada 26 hari kerja. Dikurangi dua hari libur, hasilnya 24.
5.8 Komponen Waktu
Tiga fungsi berikut memakai data absensi yang sama, dengan batas jam masuk pukul 08:00:00.
FORMULA CARD
HOUR
Fungsi
Mengambil angka jam (0-23) dari sebuah waktu.
Syntax
=HOUR(serial_number)
Penjelasan Argument
Argument
Penjelasan
serial_number
Waktu atau tanggal-waktu sumber
Contoh Data
A
B
1
Karyawan
Jam Masuk
2
Rudi
08:17:45
3
Sari
07:52:10
Formula
=HOUR(B2)
Hasil
8 dan 7
Penjelasan
Excel mengambil bagian jam saja. Menit dan detik diabaikan.
FORMULA CARD
MINUTE
Fungsi
Mengambil angka menit (0-59) dari sebuah waktu.
Syntax
=MINUTE(serial_number)
Penjelasan Argument
Argument
Penjelasan
serial_number
Waktu sumber
Contoh Data
A
B
1
Karyawan
Jam Masuk
2
Rudi
08:17:45
3
Sari
07:52:10
Formula
=MINUTE(B2)
=MAX(0, (B2-TIME(8,0,0))*1440)
Hasil
MINUTE menghasilkan 17 dan 52. Keterlambatan: Rudi 17.75 menit, Sari 0
Penjelasan
MINUTE hanya membaca komponen menit dari jam, jadi 52 untuk Sari bukan berarti terlambat. Untuk keterlambatan, selisihkan jam masuk dengan pukul 08:00 (TIME(8,0,0)), lalu kalikan 1440 (jumlah menit dalam sehari). MAX(0, ...) mengubah hasil negatif (datang lebih awal) menjadi 0.
FORMULA CARD
SECOND
Fungsi
Mengambil angka detik (0-59) dari sebuah waktu.
Syntax
=SECOND(serial_number)
Penjelasan Argument
Argument
Penjelasan
serial_number
Waktu sumber
Contoh Data
A
B
1
Karyawan
Jam Masuk
2
Rudi
08:17:45
3
Sari
07:52:10
Formula
=SECOND(B2)
=TIME(HOUR(B2), MINUTE(B2), 0)
Hasil
45 dan 10. Rumus kedua menghasilkan 08:17:00 dan 07:52:00
Penjelasan
SECOND mengambil detik. Rumus kedua menyusun ulang waktu tanpa detik, berguna jika aturan absensi hanya menghitung sampai menit.
REAL WORLD CASE STUDY
Project Aging & SLA Monitoring
Problem
Tim operasional menangani pekerjaan instalasi dengan SLA 25 hari kalender sejak tanggal start. Manajer ingin tahu berapa umur (aging) setiap pekerjaan, mana yang selesai tepat waktu, mana yang terlambat, dan berapa SLA achievement tim. Pekerjaan yang belum selesai harus dihitung aging-nya sampai hari ini.
Raw Data
A
B
C
D
E
F
G
H
I
1
Project
Start
Target
Actual
Aging
Status
Terlambat
Tgl Acuan
15 Jun 2026
2
P-01 Instalasi ODP Cibubur
04 May 2026
27 May 2026
3
P-02 Instalasi ODP Cawang
11 May 2026
10 Jun 2026
4
P-03 Instalasi ODP Kalibata
18 May 2026
5
P-04 Instalasi ODP Pancoran
01 Jun 2026
6
P-05 Instalasi ODP Tebet
25 May 2026
12 Jun 2026
Formula
Isi di baris 2, lalu salin ke baris 6. Tanggal acuan di I1 (di file kerja isi dengan =TODAY()).
=AVERAGE(E2:E6) // Rata-rata aging
=COUNTIF(F2:F6, "MET SLA")/COUNT(D2:D6) // SLA achievement pekerjaan yang sudah selesai
=COUNTIF(F2:F6, "OVERDUE") // Pekerjaan terbuka yang lewat target
Result
Project
Start
Target
Actual
Aging
Status
Terlambat
P-01
04 May 2026
29 May 2026
27 May 2026
23
MET SLA
0
P-02
11 May 2026
05 Jun 2026
10 Jun 2026
30
MISSED SLA
5
P-03
18 May 2026
12 Jun 2026
28
OVERDUE
3
P-04
01 Jun 2026
26 Jun 2026
14
OPEN
0
P-05
25 May 2026
19 Jun 2026
12 Jun 2026
18
MET SLA
0
Ringkasan
Hasil
Rata-rata Aging
22.6 hari
SLA Achievement (selesai)
66.7% (2 dari 3)
Pekerjaan Overdue
1
Explanation
Aging dihitung berbeda untuk pekerjaan yang sudah dan belum selesai. Jika kolom Actual terisi, aging = Actual - Start. Jika masih kosong, aging dihitung sampai tanggal acuan, sehingga pekerjaan terbuka tetap terlihat umurnya.
Status punya dua cabang. Pekerjaan selesai dibandingkan Actual dengan Target (MET atau MISSED SLA). Pekerjaan terbuka dibandingkan tanggal acuan dengan Target (OPEN atau OVERDUE). P-03 belum selesai dan sudah lewat 3 hari dari target, jadi perlu perhatian lebih dulu daripada P-04.
SLA achievement hanya membagi pekerjaan yang sudah selesai (COUNT(D2:D6) menghitung tanggal Actual yang terisi, yaitu 3). Pekerjaan terbuka tidak dimasukkan ke pembagi karena hasil akhirnya belum diketahui.
Answer
=WORKDAY(B2, 18) // Target baru
=NETWORKDAYS(B2, IF(D2="", $I$1, D2)) // Aging hari kerja
Aging hari kerja: P-01 = 18, P-02 = 23, P-03 = 21, P-04 = 11, P-05 = 15. Target baru untuk P-01 adalah 28 May 2026 (18 hari kerja setelah Senin 4 Mei), sehingga actual 27 Mei tetap MET SLA.
BAB
06
LOOKUP & PENCARIAN DATA
Mengambil harga dari price list, nama karyawan dari NIK, atau stok dari kode material adalah pekerjaan yang dilakukan ratusan kali sehari di kantor. Fungsi lookup mengambil data dari tabel lain secara otomatis, sehingga Anda tidak perlu mencari dan menyalin manual.
Tujuan Pembelajaran
Mengambil data dengan VLOOKUP, HLOOKUP, dan LOOKUP
Memakai INDEX dan MATCH, sendiri maupun digabung
Memakai XLOOKUP dan XMATCH di Excel modern
Memahami perbedaan VLOOKUP, XLOOKUP, dan INDEX-MATCH secara objektif
Excel mencari MTR-004 di kolom A (kolom pertama table_array), menemukannya di baris 5, lalu mengambil kolom ke-2 (Nama Material) dan kolom ke-6 (Harga) di baris yang sama.
FORMULA CARD
HLOOKUP
Fungsi
Versi horizontal dari VLOOKUP. Mencari di baris paling atas, lalu mengambil data dari baris lain di kolom yang sama.
Excel mencari "Zona 2" di baris 1, menemukannya di kolom C, lalu mengambil baris ke-2 (tarif) dan baris ke-3 (estimasi) di kolom C.
FORMULA CARD
LOOKUP
Fungsi
Mencari nilai dengan pencocokan mendekati di data yang urut naik, lalu mengambil nilai di posisi yang sama dari range hasil. Cocok untuk tabel bertingkat.
Excel mencari angka terbesar di kolom A yang masih lebih kecil atau sama dengan 62,000,000, yaitu 50,000,000. Komisi di baris yang sama adalah 2%.
6.3 INDEX dan MATCH
FORMULA CARD
INDEX
Fungsi
Mengambil isi cell berdasarkan nomor baris dan nomor kolom di dalam sebuah range.
Syntax
=INDEX(array, row_num, [column_num])
Penjelasan Argument
Argument
Penjelasan
array
Range sumber
row_num
Nomor baris di dalam range
[column_num]
Nomor kolom di dalam range. Boleh dikosongkan jika range hanya satu kolom
Contoh Data
Tabel master di A1:G7 (lihat 6.1)
A
B
C
1
Kode
Nama Material
Brand
2
MTR-001
Kabel FO 24 Core
OptiNet
3
MTR-002
Kabel FO Drop 1 Core
FiberMax
4
MTR-003
Closure 48 Core
OptiNet
5
MTR-004
ODP 16 Port
NexCom
Formula
=INDEX($A$2:$G$7, 4, 2)
=INDEX($B$2:$B$7, 4)
Hasil
ODP 16 Port (kedua rumus)
Penjelasan
Baris ke-4 dari range A2:G7 adalah baris 5 di sheet (MTR-004). Kolom ke-2 dari range adalah Nama Material. Rumus kedua memakai range satu kolom, jadi cukup nomor baris.
FORMULA CARD
MATCH
Fungsi
Mencari posisi (nomor urut) sebuah nilai di dalam satu baris atau satu kolom.
Syntax
=MATCH(lookup_value, lookup_array, [match_type])
Penjelasan Argument
Argument
Penjelasan
lookup_value
Nilai yang dicari
lookup_array
Range satu baris atau satu kolom
[match_type]
0 = cocok persis. 1 = mendekati, data urut naik. -1 = mendekati, data urut turun
MTR-004 berada di urutan ke-4 dari range A2:A7. Judul "Harga" berada di urutan ke-6 dari judul kolom A1:G1. MATCH tidak mengambil isi cell, hanya posisinya.
FORMULA CARD
INDEX + MATCH
Fungsi
Kombinasi dua fungsi untuk lookup yang fleksibel. MATCH mencari posisi, lalu INDEX mengambil data di posisi tersebut. Bisa mencari ke kiri dan ke dua arah.
Rumus pertama mengambil harga MTR-004. Rumus kedua mencari berdasarkan nama di kolom B lalu mengambil kode di kolom A, sesuatu yang tidak bisa dilakukan VLOOKUP karena kolom hasilnya di sebelah kiri. Rumus ketiga memakai dua MATCH: satu untuk baris, satu untuk kolom.
6.4 Lookup Modern
FORMULA CARDExcel 2021+
XLOOKUP
Fungsi
Fungsi lookup modern yang mencari di satu range dan mengambil hasil dari range lain. Bisa mencari ke kiri, punya pesan pengganti bawaan, dan bisa mencari dari bawah.
1,150,000, lalu "Tidak ditemukan", lalu satu baris berisi: ODP 16 Port | NexCom | Pole | Pcs | 1,150,000 | 52
Penjelasan
Rumus pertama setara INDEX-MATCH tetapi lebih ringkas. Rumus kedua menangani kode yang tidak ada tanpa IFNA. Rumus ketiga mengembalikan enam kolom sekaligus. Hasilnya "tumpah" (spill) ke cell di kanannya.
FORMULA CARDExcel 2021+
XMATCH
Fungsi
Versi modern MATCH. Default-nya sudah cocok persis, dan bisa mencari dari bawah.
1 (kemunculan pertama) dan 3 (kemunculan terakhir)
Penjelasan
OptiNet muncul di posisi 1 dan 3. Dengan search_mode -1, pencarian dimulai dari bawah sehingga posisi terakhir yang ditemukan lebih dulu.
FORMULA CARD
CHOOSE
Fungsi
Memilih satu nilai dari daftar berdasarkan nomor urut.
Syntax
=CHOOSE(index_num, value1, [value2], ...)
Penjelasan Argument
Argument
Penjelasan
index_num
Nomor urut pilihan, mulai dari 1
value1
Pilihan pertama
[value2]
Pilihan berikutnya, sampai 254 pilihan
Contoh Data
A
B
1
Tiket
Kode Prioritas
2
TK-101
1
3
TK-102
3
4
TK-103
2
Formula
=CHOOSE(B2, "Tinggi", "Sedang", "Rendah")
Hasil
TK-101 Tinggi, TK-102 Rendah, TK-103 Sedang
Penjelasan
Kode 1 memilih pilihan pertama, kode 3 memilih pilihan ketiga.
6.5 VLOOKUP vs XLOOKUP vs INDEX-MATCH
Ketiganya bisa menyelesaikan kebutuhan lookup harian. Perbedaannya ada di cara penulisan, fleksibilitas, dan versi Excel yang mendukung. Tabel berikut membandingkan fakta, bukan menentukan yang terbaik.
Aspek
VLOOKUP
INDEX-MATCH
XLOOKUP
Syntax
=VLOOKUP(nilai, tabel, no_kolom, FALSE)
=INDEX(hasil, MATCH(nilai, cari, 0))
=XLOOKUP(nilai, cari, hasil)
Cara kerja
Cari di kolom pertama tabel, ambil kolom ke-n
MATCH mencari posisi, INDEX mengambil isi
Cari di range pencarian, ambil dari range hasil
Arah pencarian
Hanya ke kanan dari kolom kunci
Ke segala arah
Ke segala arah
Default pencocokan
Mendekati (harus ditulis FALSE)
Mendekati (harus ditulis 0)
Persis
Sisipan kolom
Nomor kolom bisa bergeser
Aman
Aman
Tidak ditemukan
#N/A, perlu IFNA
#N/A, perlu IFNA
Argument if_not_found bawaan
Hasil banyak kolom
Satu kolom per rumus
Satu kolom per rumus (tanpa spill)
Bisa banyak kolom sekaligus (spill)
Cari dari bawah
Tidak bisa langsung
Perlu teknik tambahan
search_mode -1
Kompatibilitas
Semua versi
Semua versi
Excel 2021, 2024, Microsoft 365, Excel untuk web
Kapan digunakan
VLOOKUP cocok untuk file yang dibuka banyak orang dengan versi Excel beragam, tabel master yang kolom kuncinya sudah di paling kiri, dan tim yang sudah terbiasa dengan fungsi ini.
INDEX-MATCH cocok ketika file harus kompatibel dengan Excel lama tetapi Anda butuh lookup ke kiri, lookup dua arah, atau tabel yang kolomnya sering disisipkan.
XLOOKUP cocok ketika semua pengguna file memakai Excel 2021, 2024, atau Microsoft 365, dan Anda ingin rumus lebih pendek dengan penanganan data tidak ditemukan bawaan.
REAL WORLD CASE STUDY
Material Database
Problem
Staf gudang sering ditanya detail material oleh tim lapangan: nama, brand, tipe, satuan, harga, dan sisa stok. Mereka ingin form sederhana: cukup ketik kode material di satu cell, lalu semua detail muncul otomatis beserta status stoknya.
Raw Data
Tabel master di A1:G7 (lengkap di 6.1). Form pencarian di kolom I dan J
A
B
C
D
E
F
G
H
I
J
1
Kode
Nama Material
Brand
Type
Unit
Harga
Stok
Field
Hasil
2
MTR-001
Kabel FO 24 Core
OptiNet
Outdoor
Meter
12,500
8,400
Kode
MTR-003
3
MTR-002
Kabel FO Drop 1 Core
FiberMax
Drop
Meter
2,300
15,000
Nama Material
4
MTR-003
Closure 48 Core
OptiNet
Inline
Pcs
850,000
36
Brand
5
MTR-004
ODP 16 Port
NexCom
Pole
Pcs
1,150,000
52
Type
6
MTR-005
Patch Cord SC-SC 3m
LinkPro
Indoor
Pcs
45,000
420
Unit
7
MTR-006
Splitter 1:8
NexCom
PLC
Pcs
175,000
0
Harga
8
Stok
9
Status Stok
Formula
Label di I3:I8 dibuat sama persis dengan judul kolom tabel master. Dengan begitu, satu rumus di J3 bisa disalin sampai J8.
Versi semua Excel (VLOOKUP + MATCH):
=IFERROR(VLOOKUP($J$2, $A$1:$G$7, MATCH(I3, $A$1:$G$1, 0), FALSE), "Kode tidak ada")
Versi INDEX-MATCH:
=IFERROR(INDEX($A$1:$G$7, MATCH($J$2, $A$1:$A$7, 0), MATCH(I3, $A$1:$G$1, 0)), "Kode tidak ada")
Versi Excel 2021+ (XLOOKUP):
=XLOOKUP($J$2, $A$2:$A$7, XLOOKUP(I3, $A$1:$G$1, $A$2:$G$7), "Kode tidak ada")
Status stok di J9:
=IF(J8=0, "HABIS", IF(J8<50, "MENIPIS", "AMAN"))
Result
Field
Hasil untuk MTR-003
Nama Material
Closure 48 Core
Brand
OptiNet
Type
Inline
Unit
Pcs
Harga
850,000
Stok
36
Status Stok
MENIPIS
Explanation
MATCH(I3, $A$1:$G$1, 0) mencari posisi label "Nama Material" di baris judul (posisi 2) dan memberikannya ke VLOOKUP sebagai nomor kolom. Saat rumus disalin ke J4, label berubah menjadi "Brand" sehingga nomor kolom otomatis menjadi 3. Satu rumus melayani semua field.
Pada versi XLOOKUP, XLOOKUP bagian dalam mengambil satu kolom utuh sesuai label (misalnya seluruh kolom Brand), lalu XLOOKUP bagian luar mengambil baris yang kodenya cocok dari kolom tersebut.
Stok 36 berada di bawah batas 50, sehingga statusnya MENIPIS. Batas 50 bisa dipindah ke cell tersendiri agar mudah diubah.
Answer
Splitter 1:8, NexCom, PLC, Pcs, 175,000, stok 0, status HABIS.
Rumus Nilai Stok:
=IFERROR(J7*J8, 0)
Untuk MTR-003 hasilnya 850,000 × 36 = 30,600,000. Untuk MTR-006 hasilnya 0.
Pilih J2, buka Data > Data Validation, pilih List, lalu isi Source dengan =$A$2:$A$7. Pengguna kini memilih kode dari dropdown sehingga salah ketik tidak mungkin terjadi.
BAB
07
FILTER, SORT & DYNAMIC ARRAY
Excel modern bisa mengembalikan banyak hasil dari satu rumus. Hasilnya "tumpah" (spill) ke cell di sekitarnya dan ikut berubah saat data sumber berubah. Dengan fungsi dynamic array, laporan yang dulu dibuat dengan filter manual bisa diperbarui otomatis.
Tujuan Pembelajaran
Memahami konsep spill dan referensi spill (#)
Menyaring, mengurutkan, dan mengambil data unik dengan rumus
Membentuk ulang data dengan TAKE, DROP, CHOOSECOLS, dan CHOOSEROWS
Menggabungkan range dengan VSTACK dan HSTACK
Membuat report proyek yang berubah otomatis berdasarkan pilihan filter
Rumus biasa menghasilkan satu nilai di satu cell. Rumus dynamic array bisa menghasilkan banyak nilai, lalu Excel mengisikan hasilnya ke cell di bawah dan di kanannya. Area hasil ini disebut spill range.
Istilah
Arti
Spill
Hasil rumus mengisi beberapa cell sekaligus. Hanya cell pertama yang berisi rumus
Referensi spill #
H2# berarti seluruh hasil spill yang dimulai di H2, berapa pun ukurannya
#SPILL!
Area spill terhalang cell yang sudah berisi sesuatu
Data yang dipakai di BAB ini
Nilai proyek dalam juta rupiah. Nama provider adalah data contoh.
A
B
C
D
E
F
1
ID
Project
Provinsi
Provider
Status
Nilai
2
P-01
FO Backbone Medan
Sumatera Utara
NetraCom
ON PROGRESS
850
3
P-02
Tower Bekasi
Jawa Barat
Nusanet
DELAY
420
4
P-03
FTTH Bandung
Jawa Barat
NetraCom
COMPLETED
610
5
P-04
BTS Bogor
Jawa Barat
Selulink
ON PROGRESS
380
6
P-05
ODC Depok
Jawa Barat
Nusanet
COMPLETED
275
7
P-06
FO Access Tangerang
Banten
Selulink
DELAY
530
8
P-07
Microcell Jakarta
DKI Jakarta
NetraCom
ON PROGRESS
295
9
P-08
FTTH Medan
Sumatera Utara
Nusanet
DELAY
470
7.2 Menyaring, Mengurutkan, dan Data Unik
FORMULA CARDExcel 2021+
FILTER
Fungsi
Menampilkan baris yang memenuhi kriteria. Hasilnya berubah otomatis saat data sumber berubah.
Syntax
=FILTER(array, include, [if_empty])
Penjelasan Argument
Argument
Penjelasan
array
Range data yang disaring
include
Kondisi TRUE/FALSE per baris, tingginya sama dengan array
Tanda * di antara kondisi berarti AND (kedua kondisi harus benar). Tanda + berarti OR (salah satu cukup). Rumus ketiga mengambil proyek DELAY ditambah proyek bernilai minimal 800 juta, sehingga P-01 yang ON PROGRESS ikut masuk.
FORMULA CARDExcel 2021+
SORT
Fungsi
Mengurutkan range berdasarkan kolom tertentu, tanpa mengubah urutan data asli.
FALSE = urut per baris (default), TRUE = urut per kolom
Contoh Data
Data proyek A1:F9 (lihat 7.1)
A
B
C
D
E
F
1
ID
Project
Provinsi
Provider
Status
Nilai
2
P-01
FO Backbone Medan
Sumatera Utara
NetraCom
ON PROGRESS
850
3
P-02
Tower Bekasi
Jawa Barat
Nusanet
DELAY
420
Formula
=SORT(A2:F9, 6, -1)
Hasil
ID
Nilai
P-01
850
P-03
610
P-06
530
P-08
470
P-02
420
P-04
380
P-07
295
P-05
275
Penjelasan
Kolom ke-6 (Nilai) dipakai sebagai acuan dan diurutkan dari besar ke kecil. Seluruh kolom lain ikut berpindah sesuai barisnya (tabel hasil di atas hanya menampilkan ID dan Nilai).
FORMULA CARDExcel 2021+
SORTBY
Fungsi
Mengurutkan range berdasarkan range lain, dan bisa memakai beberapa level urutan.
Hanya kolom Project yang ditampilkan, tetapi urutannya ditentukan oleh Status (A-Z) lalu Nilai (besar ke kecil) di dalam status yang sama. Kolom Status dan Nilai di tabel hasil hanya sebagai keterangan.
FORMULA CARDExcel 2021+
UNIQUE
Fungsi
Mengambil daftar nilai unik (tanpa duplikat) dari sebuah range.
Syntax
=UNIQUE(array, [by_col], [exactly_once])
Penjelasan Argument
Argument
Penjelasan
array
Range sumber
[by_col]
FALSE = bandingkan per baris (default)
[exactly_once]
TRUE = hanya nilai yang muncul tepat satu kali
Contoh Data
Kolom Provider D2:D9 dan Provinsi C2:C9 dari data proyek
Rumus 1: NetraCom, Nusanet, Selulink. Rumus 2: Banten, DKI Jakarta, Jawa Barat, Sumatera Utara. Rumus 3: 4. Rumus 4: Banten, DKI Jakarta.
Penjelasan
UNIQUE mempertahankan urutan kemunculan pertama. Dibungkus SORT, hasilnya urut abjad. COUNTA menghitung berapa provinsi berbeda. Rumus keempat hanya menampilkan provinsi yang muncul sekali.
FORMULA CARDExcel 2021+
SEQUENCE
Fungsi
Membuat deret angka berurutan dalam jumlah baris dan kolom tertentu.
Rumus 1: angka 1 sampai 8 ke bawah. Rumus 2: tanggal 15 Jun sampai 21 Jun 2026 (format sebagai Date). Rumus 3: 100, 150, 200, 250 ke samping.
Penjelasan
Jumlah baris pada rumus pertama mengikuti jumlah data, sehingga nomor urut bertambah sendiri saat proyek baru ditambahkan. Rumus kedua membuat 7 tanggal berturut-turut mulai 15 Juni.
FORMULA CARD
TRANSPOSE
Fungsi
Memutar orientasi range: baris menjadi kolom dan kolom menjadi baris.
Syntax
=TRANSPOSE(array)
Penjelasan Argument
Argument
Penjelasan
array
Range yang diputar
Contoh Data
A
B
C
D
1
Bulan
Jan
Feb
Mar
2
Target
100
120
150
Formula
=TRANSPOSE(A1:D2)
Hasil
Bulan
Target
Jan
100
Feb
120
Mar
150
Penjelasan
Range 2 baris × 4 kolom berubah menjadi 4 baris × 2 kolom. Hasil tetap terhubung ke sumber, jadi perubahan target ikut terlihat.
7.3 Membentuk Ulang Data
FORMULA CARDExcel 2024 / 365
TAKE
Fungsi
Mengambil sejumlah baris atau kolom dari awal atau akhir sebuah array.
Syntax
=TAKE(array, rows, [columns])
Penjelasan Argument
Argument
Penjelasan
array
Range atau hasil rumus sumber
rows
Jumlah baris. Positif dari atas, negatif dari bawah
[columns]
Jumlah kolom. Positif dari kiri, negatif dari kanan
Contoh Data
Data proyek A1:F9 (lihat 7.1)
A
B
C
D
E
F
1
ID
Project
Provinsi
Provider
Status
Nilai
2
P-01
FO Backbone Medan
Sumatera Utara
NetraCom
ON PROGRESS
850
Formula
=TAKE(SORT(A2:F9, 6, -1), 3)
=TAKE(A2:F9, -2, 2)
Hasil
Rumus 1: tiga proyek bernilai terbesar (P-01, P-03, P-06) dengan semua kolom. Rumus 2: dua baris terakhir, dua kolom pertama (P-07 Microcell Jakarta, P-08 FTTH Medan).
Penjelasan
SORT mengurutkan nilai dari besar ke kecil, lalu TAKE mengambil 3 baris teratas. Pada rumus kedua, -2 berarti dua baris dari bawah.
FORMULA CARDExcel 2024 / 365
DROP
Fungsi
Membuang sejumlah baris atau kolom dari awal atau akhir array. Kebalikan dari TAKE.
Syntax
=DROP(array, rows, [columns])
Penjelasan Argument
Argument
Penjelasan
array
Range atau hasil rumus sumber
rows
Jumlah baris yang dibuang. Positif dari atas, negatif dari bawah
[columns]
Jumlah kolom yang dibuang
Contoh Data
Data proyek A1:F9 (lihat 7.1)
A
B
C
D
E
F
1
ID
Project
Provinsi
Provider
Status
Nilai
2
P-01
FO Backbone Medan
Sumatera Utara
NetraCom
ON PROGRESS
850
Formula
=DROP(A1:F9, 1)
=DROP(A2:F9, 0, 1)
Hasil
Rumus 1: data tanpa baris judul (8 baris). Rumus 2: data tanpa kolom ID (mulai dari kolom Project).
Penjelasan
Rumus pertama membuang baris judul. Rumus kedua tidak membuang baris (0) tetapi membuang 1 kolom dari kiri.
FORMULA CARDExcel 2024 / 365
CHOOSECOLS
Fungsi
Mengambil kolom tertentu dari array, dengan urutan sesuai keinginan.
Syntax
=CHOOSECOLS(array, col_num1, [col_num2], ...)
Penjelasan Argument
Argument
Penjelasan
array
Range atau hasil rumus sumber
col_num1
Nomor kolom pertama yang diambil. Negatif dihitung dari kanan
UNIQUE membuat daftar provider. SUMIFS menerima daftar itu sebagai kriteria dan menghitung total untuk setiap provider sekaligus. HSTACK menempelkan keduanya menjadi tabel dua kolom.
FALSE = baca per baris (default), TRUE = baca per kolom
Contoh Data
A
B
C
D
1
Shift
Petugas 1
Petugas 2
Petugas 3
2
Pagi
Andi
Budi
3
Malam
Citra
Dedi
Formula
=TOCOL(B2:D3, 1)
Hasil
Andi, Budi, Citra, Dedi (satu kolom)
Penjelasan
Excel membaca range baris per baris dan membuang cell kosong karena ignore bernilai 1. Hasilnya daftar petugas dalam satu kolom.
FORMULA CARDExcel 2024 / 365
TOROW
Fungsi
Mengubah range menjadi satu baris.
Syntax
=TOROW(array, [ignore], [scan_by_column])
Penjelasan Argument
Argument
Penjelasan
array
Range sumber
[ignore]
Sama seperti TOCOL
[scan_by_column]
FALSE = baca per baris, TRUE = baca per kolom
Contoh Data
Kolom Provinsi C2:C9 dari data proyek
A
B
C
1
ID
Project
Provinsi
2
P-01
FO Backbone Medan
Sumatera Utara
3
P-02
Tower Bekasi
Jawa Barat
4
P-03
FTTH Bandung
Jawa Barat
5
P-04
BTS Bogor
Jawa Barat
6
P-05
ODC Depok
Jawa Barat
7
P-06
FO Access Tangerang
Banten
8
P-07
Microcell Jakarta
DKI Jakarta
9
P-08
FTTH Medan
Sumatera Utara
Formula
=TOROW(UNIQUE(C2:C9))
Hasil
Sumatera Utara | Jawa Barat | Banten | DKI Jakarta (satu baris, empat kolom)
Penjelasan
UNIQUE menghasilkan daftar provinsi ke bawah, lalu TOROW memutarnya menjadi satu baris. Cocok untuk judul kolom tabel rekap.
REAL WORLD CASE STUDY
Dynamic Project Report
Problem
Manajer proyek ingin laporan yang bisa difilter berdasarkan Provinsi, Provider, dan Status lewat dropdown, dengan pilihan "Semua" untuk setiap filter. Hasil harus langsung berubah saat pilihan diganti, diurutkan dari nilai terbesar, dan menampilkan total nilai proyek yang tampil.
Raw Data
Data proyek di A1:F9 (lihat 7.1). Panel filter di H1:I4
A
B
C
D
E
F
G
H
I
1
ID
Project
Provinsi
Provider
Status
Nilai
Filter
Pilihan
2
P-01
FO Backbone Medan
Sumatera Utara
NetraCom
ON PROGRESS
850
Provinsi
Semua
3
P-02
Tower Bekasi
Jawa Barat
Nusanet
DELAY
420
Provider
NetraCom
4
P-03
FTTH Bandung
Jawa Barat
NetraCom
COMPLETED
610
Status
Semua
5
P-04
BTS Bogor
Jawa Barat
Selulink
ON PROGRESS
380
6
P-05
ODC Depok
Jawa Barat
Nusanet
COMPLETED
275
7
P-06
FO Access Tangerang
Banten
Selulink
DELAY
530
8
P-07
Microcell Jakarta
DKI Jakarta
NetraCom
ON PROGRESS
295
9
P-08
FTTH Medan
Sumatera Utara
Nusanet
DELAY
470
Formula
Langkah 1. Sumber dropdown di sheet atau kolom bantu (kolom R, S, dan T, di luar area spill report):
=VSTACK("Semua", SORT(UNIQUE(C2:C9))) // R2, daftar provinsi
=VSTACK("Semua", SORT(UNIQUE(D2:D9))) // S2, daftar provider
=VSTACK("Semua", SORT(UNIQUE(E2:E9))) // T2, daftar status
Pilih I2, buka Data Validation > List, isi Source dengan =$R$2#. Ulangi untuk I3 (=$S$2#) dan I4 (=$T$2#).
=IFERROR(ROWS(FILTER(A2:A9, IF(I2="Semua",TRUE,C2:C9=I2)*IF(I3="Semua",TRUE,D2:D9=I3)*IF(I4="Semua",TRUE,E2:E9=I4))), 0) // jumlah proyek
=SUM(IFERROR(TAKE(K2#, , -1), 0)) // total nilai
Result
Skenario 1: Provinsi = Semua, Provider = NetraCom, Status = Semua
ID
Project
Provinsi
Provider
Status
Nilai
P-01
FO Backbone Medan
Sumatera Utara
NetraCom
ON PROGRESS
850
P-03
FTTH Bandung
Jawa Barat
NetraCom
COMPLETED
610
P-07
Microcell Jakarta
DKI Jakarta
NetraCom
ON PROGRESS
295
Jumlah proyek 3, total nilai 1,755 juta.
Skenario 2: Provinsi = Jawa Barat, Provider = Semua, Status = Semua
ID
Project
Provinsi
Provider
Status
Nilai
P-03
FTTH Bandung
Jawa Barat
NetraCom
COMPLETED
610
P-02
Tower Bekasi
Jawa Barat
Nusanet
DELAY
420
P-04
BTS Bogor
Jawa Barat
Selulink
ON PROGRESS
380
P-05
ODC Depok
Jawa Barat
Nusanet
COMPLETED
275
Jumlah proyek 4, total nilai 1,685 juta.
Explanation
Setiap filter ditulis sebagai IF(pilihan="Semua", TRUE, kolom=pilihan). Jika pengguna memilih "Semua", kondisinya selalu TRUE sehingga tidak menyaring apa pun. Jika memilih nilai tertentu, hanya baris yang cocok yang bernilai TRUE. Ketiga kondisi dikalikan (logika AND), lalu FILTER menampilkan baris yang lolos semua syarat, dan SORT mengurutkannya berdasarkan kolom 6.
VSTACK("Semua", ...) menambahkan pilihan "Semua" di atas daftar unik, sehingga dropdown selalu punya opsi tanpa filter. Karena dropdown mengambil sumber dari referensi spill ($R$2#), provinsi atau provider baru otomatis muncul di pilihan.
Total nilai mengambil kolom terakhir hasil report dengan TAKE(K2#, , -1). IFERROR di dalamnya memastikan total bernilai 0 saat report menampilkan "Tidak ada data".
Jawaban 1: FO Access Tangerang 530, FTTH Medan 470, Tower Bekasi 420. Setelah CHOOSECOLS hanya tersisa dua kolom, jadi urutan memakai kolom ke-2 (Nilai).
Jawaban 2: ON PROGRESS 3, DELAY 3, COMPLETED 2.
BAB
08
DATA CLEANING & VALIDATION
Rumus secanggih apa pun akan menghasilkan angka salah jika datanya kotor. BAB ini membahas cara mendeteksi masalah data (cell kosong, duplikat, spasi, typo, tanggal dan angka yang tersimpan sebagai teks), memperbaikinya dengan rumus, lalu mencegahnya muncul lagi dengan Data Validation.
Tujuan Pembelajaran
Mengenali tujuh masalah data yang paling sering muncul
Memakai fungsi IS untuk memeriksa tipe dan kondisi data
Membersihkan spasi, karakter tersembunyi, dan typo
Mengubah tanggal dan angka berformat teks menjadi nilai yang benar
Menyusun alur RAW DATA → CLEANING → VALIDATED DATA
Formula Count
7
formula card di BAB ini + 3 fungsi pembersih lanjutan dari BAB 4
Rumus yang Dibahas
ISBLANKISNUMBERISTEXTISERRORISNAISERRISLOGICAL
8.1 Tujuh Masalah Data yang Paling Sering Muncul
Masalah
Gejala
Cara Deteksi
Cara Perbaikan
Data kosong
Total atau jumlah data tidak sesuai
ISBLANK, COUNTBLANK
Lengkapi dari sumber, atau tandai
Duplikat
Customer atau transaksi terhitung dua kali
COUNTIF(...)>1
Tandai, lalu Remove Duplicates
Spasi berlebih
Lookup gagal padahal data terlihat ada
LEN(A2)<>LEN(TRIM(A2))
TRIM, SUBSTITUTE(CHAR(160))
Typo dan variasi ejaan
"Jkt", "Jakrta", "DKI Jakarta" dianggap berbeda
UNIQUE lalu periksa daftar
Tabel pemetaan + lookup
Tanggal berformat teks
Tanggal rata kiri, tidak bisa dihitung
ISNUMBER bernilai FALSE
DATE + LEFT/MID/RIGHT
Angka berformat teks
SUM menghasilkan 0 atau terlalu kecil
ISTEXT, ISNUMBER
VALUE, --, Text to Columns
Input tidak sesuai aturan
HP 7 digit, email tanpa @
Rumus validasi dengan LEN, FIND
Data Validation untuk input berikutnya
8.2 Fungsi IS untuk Memeriksa Data
Fungsi IS selalu menghasilkan TRUE atau FALSE. Hasil ini bisa dipakai di IF, di Conditional Formatting, atau dihitung dengan SUMPRODUCT(--ISxxx(range)).
FORMULA CARD
ISBLANK
Fungsi
Menghasilkan TRUE jika cell benar-benar kosong.
Syntax
=ISBLANK(value)
Penjelasan Argument
Argument
Penjelasan
value
Cell yang diperiksa
Contoh Data
A
B
1
ID
Email
2
CST-0012
budi.santoso@gmail.com
3
CST-0007
4
CST-0105
andi.w@ptmaju.co.id
Formula
=ISBLANK(B2)
=COUNTBLANK(B2:B4)
Hasil
FALSE, TRUE, FALSE, dan jumlah cell kosong = 1
Penjelasan
Hanya B3 yang kosong. COUNTBLANK meringkas pemeriksaan satu kolom menjadi satu angka.
FORMULA CARD
ISNUMBER
Fungsi
Menghasilkan TRUE jika isi cell adalah angka (termasuk tanggal dan waktu).
Syntax
=ISNUMBER(value)
Penjelasan Argument
Argument
Penjelasan
value
Cell atau rumus yang diperiksa
Contoh Data
Tanda ' di depan berarti nilai tersimpan sebagai teks
A
B
1
Item
Qty
2
Kabel FO
25
3
Closure
'25
4
ODP
dua puluh
Formula
=ISNUMBER(B2)
=SUMPRODUCT(--NOT(ISNUMBER(B2:B4)))
Hasil
TRUE, FALSE, FALSE, dan jumlah qty bukan angka = 2
Penjelasan
Hanya B2 yang benar-benar angka. '25 tampak seperti angka tetapi tersimpan sebagai teks, sehingga tidak ikut dijumlahkan oleh SUM. Rumus kedua menghitung berapa cell yang bermasalah di satu kolom.
FORMULA CARD
ISTEXT
Fungsi
Menghasilkan TRUE jika isi cell adalah teks.
Syntax
=ISTEXT(value)
Penjelasan Argument
Argument
Penjelasan
value
Cell yang diperiksa
Contoh Data
A
B
1
Karyawan
NIK (16 digit)
2
Rudi
3171234567890001
3
Sari
'3171234567890002
Formula
=ISTEXT(B2)
Hasil
Rudi FALSE, Sari TRUE
Penjelasan
NIK Rudi diketik sebagai angka. Excel hanya menyimpan 15 digit angka yang presisi, sehingga digit ke-16 berubah menjadi 0 (tersimpan 3171234567890000) dan tampil sebagai 3.17123E+15. NIK Sari diketik sebagai teks, sehingga seluruh 16 digit aman.
FORMULA CARD
ISERROR
Fungsi
Menghasilkan TRUE jika nilai berupa error apa pun: #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, atau #NULL!.
Syntax
=ISERROR(value)
Penjelasan Argument
Argument
Penjelasan
value
Cell atau rumus yang diperiksa
Contoh Data
A
1
Hasil Rumus
2
0.9
3
#DIV/0!
4
#N/A
5
#VALUE!
Formula
=ISERROR(A2)
=SUMPRODUCT(--ISERROR(A2:A5))
Hasil
FALSE, TRUE, TRUE, TRUE, dan jumlah error = 3
Penjelasan
Semua jenis error menghasilkan TRUE. SUMPRODUCT dengan -- mengubah TRUE menjadi 1 lalu menjumlahkannya.
FORMULA CARD
ISNA
Fungsi
Menghasilkan TRUE hanya untuk error #N/A, yaitu error "data tidak ditemukan".
MATCH mencari setiap invoice sistem A di daftar sistem B. INV-02 dan INV-04 tidak ditemukan sehingga MATCH menghasilkan #N/A, dan ISNA mengubahnya menjadi TRUE. Artinya, dua invoice itu belum tercatat di sistem B.
FORMULA CARD
ISERR
Fungsi
Menghasilkan TRUE untuk semua error kecuali #N/A.
Syntax
=ISERR(value)
Penjelasan Argument
Argument
Penjelasan
value
Cell atau rumus yang diperiksa
Contoh Data
A
1
Hasil Rumus
2
0.9
3
#DIV/0!
4
#N/A
5
#VALUE!
Formula
=ISERR(A2)
Hasil
FALSE, TRUE, FALSE, TRUE
Penjelasan
#N/A dikecualikan. Hasil TRUE hanya muncul untuk #DIV/0! dan #VALUE!.
FORMULA CARD
ISLOGICAL
Fungsi
Menghasilkan TRUE jika isi cell adalah nilai logika TRUE atau FALSE (bukan teks "TRUE").
Syntax
=ISLOGICAL(value)
Penjelasan Argument
Argument
Penjelasan
value
Cell yang diperiksa
Contoh Data
Kolom Aktif hasil impor CSV. Tanda ' berarti teks
A
B
1
Customer
Aktif
2
CST-0012
TRUE
3
CST-0007
'TRUE
4
CST-0105
1
5
CST-0200
FALSE
Formula
=ISLOGICAL(B2)
Hasil
TRUE, FALSE, FALSE, TRUE
Penjelasan
Hanya B2 dan B5 yang berisi nilai logika asli. 'TRUE adalah teks, dan angka 1 adalah angka. Keduanya akan berperilaku berbeda di COUNTIF(B2:B5, TRUE) dan di FILTER.
8.3 Fungsi Pembersih (Lanjutan BAB 4)
TRIM + CHAR(160)
=TRIM(SUBSTITUTE(A2, CHAR(160), " "))
TRIM hanya membuang spasi biasa (karakter 32). Data dari halaman web atau email sering membawa non-breaking space (karakter 160) yang tidak ikut terbuang. Ganti dulu karakter 160 menjadi spasi biasa, baru jalankan TRIM. Pembahasan dasar TRIM ada di BAB 4.
CLEAN + TRIM
=TRIM(CLEAN(A2))
Kombinasi standar untuk data hasil impor: CLEAN membuang karakter tak tercetak seperti line break dan tab, lalu TRIM merapikan spasi. Jika line break berada di antara dua kata, gunakan =TRIM(SUBSTITUTE(A2, CHAR(10), " ")) supaya kata tidak menempel.
Cocok untuk satu atau dua variasi typo. Jika variasinya banyak, buat tabel pemetaan (kolom Variasi dan kolom Baku), lalu gunakan =IFERROR(VLOOKUP(PROPER(TRIM(A2)), Peta, 2, FALSE), PROPER(TRIM(A2))). Tabel lebih mudah dirawat daripada SUBSTITUTE bertumpuk.
8.4 Teknik Perbaikan Data
Duplikat
=COUNTIF($A$2:$A$10001, A2)>1// TRUE untuk semua baris yang kodenya muncul lebih dari sekali
=COUNTIF($A$2:A2, A2)>1// TRUE hanya untuk kemunculan kedua dan seterusnya
Rumus kedua memakai range yang "tumbuh" ($A$2:A2, lalu $A$2:A3, dan seterusnya). Kemunculan pertama tetap dianggap data asli, sedangkan kemunculan berikutnya ditandai sebagai duplikat.
Tanggal berformat teks
Data impor sering menyimpan tanggal sebagai teks 15/06/2026 (hari/bulan/tahun). Susun ulang dengan DATE:
=DATE(RIGHT(A2,4), MID(A2,4,2), LEFT(A2,2))
// "15/06/2026" menjadi tanggal asli 15 Jun 2026
Rumus ini hanya benar jika formatnya selalu dua digit hari, dua digit bulan, dan empat digit tahun. Periksa hasilnya dengan ISNUMBER.
Angka berformat teks
=VALUE(TRIM(A2)) // mengubah teks angka menjadi angka
=--TRIM(A2) // cara singkat, hasil sama
Data Validation berbasis rumus
Buka Data > Data Validation, pilih Custom, lalu isi rumus berikut. Input yang tidak memenuhi aturan akan ditolak.
Tim CRM menerima file 10.000 customer (baris 2 sampai 10001) gabungan dari beberapa cabang. Data harus dibersihkan dan diperiksa sebelum diimpor ke sistem baru. Hanya baris yang lolos semua pemeriksaan yang boleh diimpor, sedangkan sisanya dikembalikan ke cabang dengan keterangan masalahnya. Contoh di bawah menampilkan 8 baris pertama. Semua rumus ditulis untuk rentang penuh.
Raw Data
RAW DATA. Tanda · = spasi, tanda ' = nilai tersimpan sebagai teks
A
B
C
D
E
F
G
1
ID
Nama
No HP
Email
Kota
Tgl Daftar
Belanja
2
CST-0001
··andi··pratama
0812-1111-2222
Andi.P@gmail.com
jakarta
03/01/2026
'1250000
3
CST-0002
Siti Aminah
+62 813 3333 4444
siti.aminah@yahoo
Jkt
15/02/2026
'875000
4
CST-0003
BUDI HARTONO
0857 5555 666
budi.h@ptmaju.co.id
Bandung
28/02/2026
'2300000
5
CST-0001
Andi Pratama
081211112222
andi.p@gmail.com
Jakarta
03/01/2026
'1250000
6
CST-0004
0819-7777-8888
rina@outlook.com
Surabaya
10/03/2026
'560000
7
CST-0005
dewi lestari
0812 999
dewi.lestari@gmail.com
surabaya·
31/03/2026
'-
8
CST-0006
Rudi Hartono
6285612345678
rudi@@gmail.com
Jakrta
05/04/2026
'990000
9
CST-0007
Maya Sari
0813-2222-3333
maya.sari@gmail.com
Bandung
12/04/2026
'1430000
Formula
Tahap 1. CLEANING (kolom I sampai O). Isi di baris 2, salin sampai baris 10001. Tabel pemetaan kota bernama Peta berisi pasangan Jkt → Jakarta dan Jakrta → Jakarta.
Pada 8 baris contoh, tingkat data valid adalah 3 dari 8 (37.5%).
Explanation
Alurnya dipisah menjadi tiga tahap supaya setiap langkah bisa diperiksa. Tahap cleaning hanya merapikan format tanpa membuang data. Tahap validasi memberi satu status per baris, dengan urutan pemeriksaan yang jelas: duplikat dulu, lalu kelengkapan nama, HP, email, dan nilai belanja. Satu baris hanya mendapat satu status, yaitu masalah pertama yang ditemukan.
Email siti.aminah@yahoo lolos pemeriksaan @ tetapi tidak punya titik setelah @, sehingga FIND menghasilkan error dan ISNUMBER mengubahnya menjadi FALSE. Email rudi@@gmail.com gagal karena jumlah @ ada dua.
Kota "Jkt" dan "Jakrta" diperbaiki lewat tabel Peta. Kota yang tidak ada di tabel, seperti "Bandung" dan "Surabaya", tetap memakai hasil PROPER(TRIM()) karena IFERROR mengembalikan nilai tersebut saat VLOOKUP tidak menemukan pasangannya.
Tahap terakhir memakai FILTER (Excel 2021+). Di Excel versi lama, aktifkan AutoFilter pada kolom Status, pilih VALID, lalu salin baris yang tampil ke sheet baru.
Answer
=FILTER(HSTACK(A2:A10001, S2:S10001), S2:S10001<>"VALID")
=COUNTIF($S$2:$S$10001, "EMAIL TIDAK VALID")
Untuk 8 baris contoh, daftar pengembalian berisi CST-0002, CST-0001 (baris duplikat), CST-0004, CST-0005, dan CST-0006. Rekap status: VALID 3, EMAIL TIDAK VALID 2, DUPLIKAT 1, NAMA KOSONG 1, HP TIDAK VALID 1. Untuk tabel rekap otomatis, gunakan pola HSTACK(UNIQUE(...), COUNTIFS(...)) dari BAB 7.
BAB
09
DATABASE & REPORTING
Laporan manajemen hampir selalu berupa ringkasan: berapa proyek per status, berapa total per provinsi, berapa achievement per PIC. BAB ini membahas fungsi -IF/-IFS untuk menyusun rekap, teknik kriteria (wildcard, operator, tanggal), dan fungsi database (D-functions) yang memakai range kriteria.
Tujuan Pembelajaran
Menulis kriteria dengan operator, wildcard, dan referensi cell
Menghitung jumlah data dengan COUNTIF dan COUNTIFS
Menyusun tabel rekap dua arah dengan SUMIFS dan mixed reference
Memakai fungsi database DSUM sampai DGET dengan range kriteria
Membuat laporan manajemen per status, provinsi, dan PIC
Semua contoh di BAB ini memakai database berikut. Target dan Actual dalam satuan homepass (HP).
A
B
C
D
E
F
G
H
1
Project
Provider
Provinsi
Kab/Kota
PIC
Target
Actual
Status
2
FTTH-01
NetraCom
Jawa Barat
Bekasi
Andi
1,200
1,200
COMPLETED
3
FTTH-02
Nusanet
Jawa Barat
Bogor
Bella
800
560
ON PROGRESS
4
FTTH-03
NetraCom
Jawa Barat
Bandung
Andi
1,500
900
DELAY
5
FTTH-04
Selulink
Banten
Tangerang
Candra
1,000
1,000
COMPLETED
6
FTTH-05
Nusanet
Banten
Serang
Bella
600
240
ON PROGRESS
7
FTTH-06
NetraCom
DKI Jakarta
Jakarta Timur
Dewi
900
450
DELAY
8
FTTH-07
Selulink
DKI Jakarta
Jakarta Selatan
Candra
700
700
COMPLETED
9
FTTH-08
NetraCom
Banten
Tangerang Selatan
Dewi
1,100
770
ON PROGRESS
10
FTTH-09
Nusanet
Jawa Barat
Depok
Andi
500
150
DELAY
11
FTTH-10
Selulink
Jawa Barat
Bekasi
Bella
1,300
1,040
ON PROGRESS
9.2 Cara Menulis Kriteria
Kriteria di SUMIF, COUNTIF, AVERAGEIF, dan versi -IFS ditulis sebagai teks. Tabel ini berlaku untuk semua fungsi tersebut.
Kebutuhan
Penulisan Kriteria
Contoh
Sama dengan teks
"DELAY"
=COUNTIF(H2:H11, "DELAY")
Sama dengan isi cell
K2
=COUNTIF(H2:H11, K2)
Tidak sama dengan
"<>COMPLETED"
=COUNTIF(H2:H11, "<>COMPLETED")
Lebih besar / kecil
">=1000"
=COUNTIF(G2:G11, ">=1000")
Operator + cell
">="&K1
=COUNTIF(G2:G11, ">="&K1)
Operator + tanggal
">="&DATE(2026,6,1)
=COUNTIFS(A:A, ">="&DATE(2026,6,1))
Diawali teks
"Jakarta*"
=COUNTIF(D2:D11, "Jakarta*")
Mengandung teks
"*Tangerang*"
=COUNTIF(D2:D11, "*Tangerang*")
Tepat n karakter
"FTTH-0?"
=COUNTIF(A2:A11, "FTTH-0?")
Cell tidak kosong
"<>"
=COUNTIF(E2:E11, "<>")
Cell kosong
""
=COUNTIF(E2:E11, "")
9.3 Rekap dengan -IF dan -IFS
FORMULA CARD
SUMIF (Wildcard & Operator)
Fungsi
SUMIF sudah dibahas di BAB 2. Di laporan, kekuatannya ada di kriteria: wildcard untuk kelompok nama yang mirip, dan operator <> untuk mengecualikan kategori.
Rumus pertama menjumlahkan actual semua kota yang namanya diawali "Jakarta": 450 + 700. Rumus kedua menjumlahkan target semua proyek yang statusnya bukan COMPLETED, yaitu target yang masih harus dikejar: 9,600 - 2,900 = 6,700.
FORMULA CARD
SUMIFS (Tabel Rekap Dua Arah)
Fungsi
Dengan mixed reference, satu rumus SUMIFS bisa mengisi seluruh tabel rekap baris × kolom, misalnya Provider × Status.
Kolom Provider dan label baris (kolom dikunci: $K2)
criteria_range2, criteria2
Kolom Status dan label kolom (baris dikunci: L$1)
Contoh Data
Database di A1:H11 (lihat 9.1). Kerangka tabel rekap di K1:N4
K
L
M
N
1
Provider
COMPLETED
ON PROGRESS
DELAY
2
NetraCom
3
Nusanet
4
Selulink
Formula
=SUMIFS($G$2:$G$11, $B$2:$B$11, $K2, $H$2:$H$11, L$1) // di L2, salin ke L2:N4
Hasil
Provider
COMPLETED
ON PROGRESS
DELAY
NetraCom
1,200
770
1,350
Nusanet
0
800
150
Selulink
1,700
1,040
0
Penjelasan
$K2 mengunci kolom K, sehingga saat disalin ke kanan provider tetap diambil dari kolom K. L$1 mengunci baris 1, sehingga saat disalin ke bawah status tetap diambil dari baris judul. Satu rumus mengisi 9 cell. Total seluruh tabel adalah 7,010, sama dengan total actual database.
FORMULA CARD
COUNTIF
Fungsi
Menghitung jumlah cell yang memenuhi satu kriteria.
Proyek NetraCom di Jawa Barat adalah FTTH-01 (1,200) dan FTTH-03 (1,500). Rata-rata target keduanya 1,350.
9.4 Fungsi Database (D-Functions)
Fungsi database memakai tiga argument yang sama: database (seluruh tabel termasuk judul), field (kolom yang dihitung), dan criteria (range kriteria dengan judul kolom yang sama persis dengan database).
Susunan Kriteria
Artinya
Beberapa kolom dalam satu baris
AND (semua syarat harus terpenuhi)
Beberapa baris
OR (salah satu baris terpenuhi)
FORMULA CARD
DSUM
Fungsi
Menjumlahkan satu kolom database untuk baris yang memenuhi range kriteria.
Syntax
=DSUM(database, field, criteria)
Penjelasan Argument
Argument
Penjelasan
database
Seluruh tabel termasuk baris judul
field
Judul kolom yang dijumlahkan (teks) atau nomor kolom
criteria
Range kriteria berisi judul dan syarat
Contoh Data
Database di A1:H11 (lihat 9.1). Kriteria AND di J1:K2, kriteria OR di J4:J6
Kriteria pertama berada di satu baris, artinya Provider NetraCom dan Status DELAY: FTTH-03 (900) + FTTH-06 (450). Kriteria kedua berada di dua baris, artinya Provinsi Banten atau DKI Jakarta: 2,010 + 1,150.
FORMULA CARD
DAVERAGE
Fungsi
Menghitung rata-rata satu kolom database untuk baris yang memenuhi kriteria.
Syntax
=DAVERAGE(database, field, criteria)
Penjelasan Argument
Argument
Penjelasan
database
Seluruh tabel termasuk judul
field
Kolom yang dirata-ratakan
criteria
Range kriteria
Contoh Data
Database di A1:H11 (lihat 9.1)
J
1
Status
2
ON PROGRESS
Formula
=DAVERAGE($A$1:$H$11, "Actual", J1:J2)
Hasil
652.5
Penjelasan
Ada empat proyek ON PROGRESS dengan actual 560, 240, 770, dan 1,040. Totalnya 2,610 ÷ 4 = 652.5.
FORMULA CARD
DCOUNT
Fungsi
Menghitung jumlah cell berisi angka di satu kolom database, untuk baris yang memenuhi kriteria.
Syntax
=DCOUNT(database, [field], criteria)
Penjelasan Argument
Argument
Penjelasan
database
Seluruh tabel termasuk judul
[field]
Kolom angka yang dihitung
criteria
Range kriteria
Contoh Data
Database di A1:H11 (lihat 9.1)
J
1
Target
2
>=1000
Formula
=DCOUNT($A$1:$H$11, "Target", J1:J2)
Hasil
5
Penjelasan
Proyek dengan target minimal 1,000 adalah FTTH-01, 03, 04, 08, dan 10.
FORMULA CARD
DCOUNTA
Fungsi
Menghitung jumlah cell tidak kosong di satu kolom database, untuk baris yang memenuhi kriteria.
Syntax
=DCOUNTA(database, field, criteria)
Penjelasan Argument
Argument
Penjelasan
database
Seluruh tabel termasuk judul
field
Kolom yang dihitung
criteria
Range kriteria
Contoh Data
Database di A1:H11 (lihat 9.1)
J
1
PIC
2
Bella
Formula
=DCOUNTA($A$1:$H$11, "Project", J1:J2)
Hasil
3
Penjelasan
Bella memegang tiga proyek: FTTH-02, FTTH-05, dan FTTH-10.
FORMULA CARD
DMAX
Fungsi
Mengambil nilai terbesar di satu kolom database untuk baris yang memenuhi kriteria.
Syntax
=DMAX(database, field, criteria)
Penjelasan Argument
Argument
Penjelasan
database
Seluruh tabel termasuk judul
field
Kolom yang dicari nilai terbesarnya
criteria
Range kriteria
Contoh Data
Database di A1:H11 (lihat 9.1)
J
1
Provinsi
2
Jawa Barat
Formula
=DMAX($A$1:$H$11, "Actual", J1:J2)
Hasil
1,200
Penjelasan
Actual proyek di Jawa Barat adalah 1,200, 560, 900, 150, dan 1,040. Nilai terbesarnya 1,200 (FTTH-01).
FORMULA CARD
DMIN
Fungsi
Mengambil nilai terkecil di satu kolom database untuk baris yang memenuhi kriteria.
Syntax
=DMIN(database, field, criteria)
Penjelasan Argument
Argument
Penjelasan
database
Seluruh tabel termasuk judul
field
Kolom yang dicari nilai terkecilnya
criteria
Range kriteria
Contoh Data
Database di A1:H11 (lihat 9.1)
J
1
Status
2
DELAY
Formula
=DMIN($A$1:$H$11, "Target", J1:J2)
Hasil
500
Penjelasan
Target proyek DELAY adalah 1,500, 900, dan 500. Nilai terkecilnya 500 (FTTH-09).
FORMULA CARD
DGET
Fungsi
Mengambil satu nilai dari database untuk satu baris yang memenuhi kriteria. Jika ada lebih dari satu baris yang cocok, hasilnya error.
Syntax
=DGET(database, field, criteria)
Penjelasan Argument
Argument
Penjelasan
database
Seluruh tabel termasuk judul
field
Kolom yang diambil
criteria
Range kriteria yang harus menghasilkan tepat satu baris
Contoh Data
Database di A1:H11 (lihat 9.1)
J
1
Project
2
FTTH-06
Formula
=DGET($A$1:$H$11, "PIC", J1:J2)
Hasil
Dewi
Penjelasan
Hanya satu baris yang Project-nya FTTH-06, sehingga DGET mengambil isi kolom PIC di baris tersebut.
REAL WORLD CASE STUDY
Management Reporting
Problem
Setiap Senin, project controller harus mengirim laporan ringkas ke manajemen: jumlah proyek per status, total target dan actual, achievement keseluruhan, serta rekap per provinsi. Laporan harus diperbarui otomatis setiap kali database diperbarui.
Raw Data
Database di A1:H11 (lengkap di 9.1)
A
B
C
D
E
F
G
H
1
Project
Provider
Provinsi
Kab/Kota
PIC
Target
Actual
Status
2
FTTH-01
NetraCom
Jawa Barat
Bekasi
Andi
1,200
1,200
COMPLETED
3
FTTH-02
Nusanet
Jawa Barat
Bogor
Bella
800
560
ON PROGRESS
4
FTTH-03
NetraCom
Jawa Barat
Bandung
Andi
1,500
900
DELAY
5
FTTH-04
Selulink
Banten
Tangerang
Candra
1,000
1,000
COMPLETED
6
FTTH-05
Nusanet
Banten
Serang
Bella
600
240
ON PROGRESS
7
FTTH-06
NetraCom
DKI Jakarta
Jakarta Timur
Dewi
900
450
DELAY
8
FTTH-07
Selulink
DKI Jakarta
Jakarta Selatan
Candra
700
700
COMPLETED
9
FTTH-08
NetraCom
Banten
Tangerang Selatan
Dewi
1,100
770
ON PROGRESS
10
FTTH-09
Nusanet
Jawa Barat
Depok
Andi
500
150
DELAY
11
FTTH-10
Selulink
Jawa Barat
Bekasi
Bella
1,300
1,040
ON PROGRESS
Formula
Bagian 1. Ringkasan utama
Output
Formula
Total Project
=COUNTA(A2:A11)
Completed
=COUNTIF(H2:H11, "COMPLETED")
On Progress
=COUNTIF(H2:H11, "ON PROGRESS")
Delay
=COUNTIF(H2:H11, "DELAY")
Total Target
=SUM(F2:F11)
Total Actual
=SUM(G2:G11)
Achievement %
=IFERROR(SUM(G2:G11)/SUM(F2:F11), 0)
Bagian 2. Rekap per provinsi. Label provinsi di K2:K4, lalu isi baris 2 dan salin ke bawah:
Ringkasan utama memakai COUNTIF untuk jumlah per status dan SUM untuk total. Achievement dihitung dari total actual dibagi total target, lalu dibungkus IFERROR agar tidak muncul #DIV/0! saat database masih kosong di awal periode.
Rekap per provinsi memakai label di kolom K sebagai kriteria, sehingga menambah provinsi baru cukup dengan menambah label dan menyalin rumus. Baris Total pada tabel rekap harus sama dengan ringkasan utama. Kesamaan ini menjadi pengecekan cepat bahwa tidak ada provinsi yang terlewat atau salah ketik di database.
Jawa Barat punya proyek terbanyak dan dua proyek DELAY, walaupun achievement-nya hampir sama dengan provinsi lain. Informasi seperti ini lebih cepat terlihat di tabel rekap daripada di database mentah.
Answer
=COUNTIF($E$2:$E$11, K8) // L8: jumlah proyek, label PIC di K8:K11
=SUMIF($E$2:$E$11, K8, $F$2:$F$11) // M8: target
=SUMIF($E$2:$E$11, K8, $G$2:$G$11) // N8: actual
=IFERROR(N8/M8, 0) // O8: achievement
PIC
Proyek
Target
Actual
Achievement
Andi
3
3,200
2,250
70.31%
Bella
3
2,700
1,840
68.15%
Candra
2
1,700
1,700
100.00%
Dewi
2
2,000
1,220
61.00%
Achievement terendah adalah Dewi (61.00%). Candra menyelesaikan semua targetnya.
BAB
10
ADVANCED FORMULA & FORMULA COMBINATION
Masalah kerja jarang selesai dengan satu fungsi. BAB terakhir ini menggabungkan fungsi dari BAB 1 sampai 9 menjadi rumus yang menjawab pertanyaan bisnis secara langsung, lalu menutupnya dengan dashboard eksekutif mini yang seluruh angkanya dihitung otomatis.
Tujuan Pembelajaran
Menggabungkan fungsi logika, lookup, dan dynamic array
Menjumlahkan dan menghitung data berdasarkan rentang tanggal
Memakai SUMPRODUCT untuk kriteria AND dan OR sekaligus
Membuat rumus panjang lebih mudah dibaca dengan LET
Membuat fungsi sendiri dengan LAMBDA
Menyusun Mini Executive Project Dashboard
Formula Count
10
formula card di BAB ini
Rumus yang Dibahas
IF + ANDIF + ORIFERROR + XLOOKUPFILTER + SORTUNIQUE + SORTSUMIFS + DATECOUNTIFS + DATESUMPRODUCT (Kriteria AND + OR)LETLAMBDA
10.1 Kombinasi Logika
FORMULA CARD
IF + AND
Fungsi
Menjalankan keputusan hanya jika semua syarat terpenuhi. Pola paling umum untuk aturan bonus, kelayakan, dan approval.
Andi memenuhi kedua batas. Bella menyelesaikan tiket terbanyak tetapi rating-nya di bawah 4.5. Candra punya rating tertinggi tetapi tiketnya kurang dari 40. Batas disimpan di F1 dan F2 sehingga kebijakan bisa diubah tanpa menyentuh rumus.
FORMULA CARD
IF + OR
Fungsi
Menjalankan keputusan jika salah satu syarat terpenuhi. Cocok untuk aturan eskalasi dan pengecualian.
INV-1 masuk karena nominalnya di atas 50 juta. INV-2 masuk karena vendornya baru, walaupun nominalnya kecil. INV-3 tidak memenuhi satu pun syarat.
10.2 Kombinasi Lookup dan Array
FORMULA CARDExcel 2021+
IFERROR + XLOOKUP
Fungsi
XLOOKUP sudah punya argument if_not_found untuk data yang tidak ditemukan. IFERROR di luar menangkap error lain yang muncul dari perhitungan setelah lookup.
MTR-001 ditemukan dan harganya angka, jadi 12,500 × 100 = 1,250,000. MTR-003 ditemukan, tetapi harganya masih teks "TBA", sehingga perkalian menghasilkan #VALUE!. MTR-009 tidak ditemukan sehingga XLOOKUP menghasilkan #N/A. IFERROR menangkap kedua error tersebut.
FORMULA CARDExcel 2021+
FILTER + SORT
Fungsi
Menyaring data lalu langsung mengurutkannya. Pola dasar untuk daftar prioritas otomatis.
FILTER mengambil invoice yang belum lunas dan jatuh temponya sebelum tanggal acuan. INV-102 sudah lunas dan INV-104 belum jatuh tempo, jadi keduanya tidak tampil. SORT mengurutkan hasilnya dari nilai terbesar agar tim collection menagih yang paling besar lebih dulu.
FORMULA CARDExcel 2021+
UNIQUE + SORT
Fungsi
Membuat daftar unik yang langsung terurut. Dipakai untuk label rekap dan sumber dropdown.
Total Juni 21,600,000. Total Juni region West 13,900,000
Penjelasan
Rumus pertama menjumlahkan transaksi mulai 1 Juni sampai sebelum 1 Juli: 3,200,000 + 7,800,000 + 4,500,000 + 6,100,000. Transaksi 28 Mei dan 1 Juli tidak ikut. Rumus kedua menambah kriteria region West: 7,800,000 + 6,100,000.
FORMULA CARD
COUNTIFS + DATE
Fungsi
Menghitung jumlah data dalam rentang tanggal, misalnya tujuh hari terakhir.
5 tiket dalam 7 hari terakhir, 4 di antaranya masih Open
Penjelasan
Tujuh hari terakhir dihitung dari 9 Juni (15 - 6) sampai 15 Juni. Tiket 8 Juni berada di luar periode. Dari lima tiket dalam periode, hanya tiket 11 Juni yang sudah Closed.
FORMULA CARD
SUMPRODUCT (Kriteria AND + OR)
Fungsi
SUMPRODUCT (BAB 2) bisa mengalikan beberapa kondisi TRUE/FALSE dengan kolom nilai. Perkalian kondisi berarti AND, penjumlahan kondisi berarti OR, dan fungsi seperti MONTH bisa dipakai langsung pada range.
Kondisi bulan Juni menghasilkan 1 untuk baris 3 sampai 6. Kondisi region West atau East menghasilkan 1 untuk semua baris kecuali baris 5 (Central). Perkalian keduanya hanya bernilai 1 untuk baris 3, 4, dan 6. Nilai di baris tersebut dijumlahkan: 3,200,000 + 7,800,000 + 6,100,000.
10.4 LET dan LAMBDA
FORMULA CARDExcel 2021+
LET
Fungsi
Memberi nama pada hasil perhitungan di dalam rumus. Rumus panjang menjadi lebih mudah dibaca, dan perhitungan yang dipakai berulang hanya dihitung sekali.
Di BAB 4, pembersihan nomor HP memakai kolom bantu. Dengan LET, hasil SUBSTITUTE disimpan di variabel x, lalu x dipakai tiga kali di perhitungan akhir. Tanpa LET, rangkaian SUBSTITUTE harus ditulis ulang tiga kali.
FORMULA CARDExcel 2024 / 365
LAMBDA
Fungsi
Membuat fungsi sendiri yang bisa dipanggil dengan nama, seperti fungsi bawaan Excel. Didefinisikan sekali lewat Name Manager, lalu dipakai di seluruh workbook.
=LAMBDA(actual, target, IF(target=0, 0, actual/target))(45000000, 50000000) // uji langsung di cell
=ACHIEVE(C2, B2) // setelah didefinisikan di Name Manager
Hasil
Uji langsung menghasilkan 0.9 (90%). ACHIEVE menghasilkan 90% untuk Andi dan 0% untuk Gita
Penjelasan
Langkah membuat fungsi: buka Formulas > Name Manager > New. Isi Name dengan ACHIEVE, lalu isi Refers to dengan =LAMBDA(actual, target, IF(target=0, 0, actual/target)). Setelah itu =ACHIEVE(C2, B2) bisa dipakai di mana saja dalam workbook. Aturan "target 0 berarti achievement 0" kini tersimpan di satu tempat.
REAL WORLD CASE STUDY
Mini Executive Project Dashboard
Problem
Direktur operasional ingin satu halaman dashboard yang menjawab pertanyaan inti setiap minggu: berapa proyek yang berjalan, berapa yang selesai dan terlambat, seberapa jauh realisasi dibanding target, berapa lama rata-rata proyek berjalan, dan berapa persen proyek selesai tepat waktu. Semua angka harus dihitung dari database tanpa input manual.
Raw Data
Sheet Data, A1:K9. Tanggal acuan di Data!N1 = 15 Jun 2026 (di file kerja: =TODAY())
A
B
C
D
E
F
G
H
I
J
K
1
Project
Provider
Region
PIC
Plan Start
Plan Finish
Actual Start
Actual Finish
Target
Actual
Status
2
PRJ-A01
NetraCom
West
Andi
02 Mar 2026
30 Apr 2026
04 Mar 2026
28 Apr 2026
1,000
1,000
COMPLETED
3
PRJ-A02
Nusanet
West
Bella
16 Mar 2026
15 May 2026
18 Mar 2026
22 May 2026
800
800
COMPLETED
4
PRJ-A03
Selulink
Central
Candra
06 Apr 2026
05 Jun 2026
08 Apr 2026
1,200
780
DELAY
5
PRJ-A04
NetraCom
Central
Dewi
04 May 2026
31 Jul 2026
06 May 2026
1,500
600
ON PROGRESS
6
PRJ-A05
Nusanet
East
Andi
13 Apr 2026
12 Jun 2026
13 Apr 2026
10 Jun 2026
600
600
COMPLETED
7
PRJ-A06
Selulink
East
Bella
18 May 2026
17 Aug 2026
20 May 2026
900
270
ON PROGRESS
8
PRJ-A07
NetraCom
West
Andi
01 Apr 2026
29 May 2026
03 Apr 2026
700
420
DELAY
9
PRJ-A08
Nusanet
Central
Dewi
01 Jun 2026
30 Sep 2026
03 Jun 2026
1,100
110
ON PROGRESS
Formula
Definisi yang dipakai dashboard:
KPI
Definisi
Aging
Actual Finish - Actual Start untuk proyek selesai, Tanggal Acuan - Actual Start untuk proyek berjalan
SLA %
Proyek COMPLETED dengan Actual Finish ≤ Plan Finish, dibagi jumlah proyek COMPLETED
Rumus KPI (di sheet Dashboard, merujuk sheet Data):
Kartu KPI dasar memakai fungsi dari BAB 1, 2, dan 9. Dua KPI yang lebih rumit memakai SUMPRODUCT.
Average aging. Untuk setiap proyek, (Data!H2:H9="")*Data!N1 bernilai tanggal acuan jika Actual Finish kosong, dan 0 jika sudah terisi. Ditambah Actual Finish (cell kosong dihitung 0), hasilnya adalah "tanggal akhir" yang tepat untuk setiap proyek. Dikurangi Actual Start, didapat aging per proyek: 55, 65, 68, 40, 58, 26, 73, dan 12 hari. Totalnya 397 hari, dibagi 8 proyek = 49.6 hari.
SLA %. Hanya proyek COMPLETED yang dinilai. PRJ-A01 (selesai 28 Apr, rencana 30 Apr) dan PRJ-A05 (10 Jun, rencana 12 Jun) tepat waktu. PRJ-A02 selesai 22 Mei, lewat 7 hari dari rencana 15 Mei. Hasilnya 2 dari 3 = 66.67%.
Rekap region menunjukkan hal yang tidak terlihat dari achievement total 58.72%: region Central baru mencapai 39.21%, karena dua proyeknya (A04 dan A08) masih di tahap awal dan satu proyek (A03) DELAY. Daftar DELAY mengurutkan PRJ-A07 di atas karena keterlambatannya 17 hari dihitung dari Plan Finish ke tanggal acuan.
Untuk file yang dipakai di Excel 2019 atau lebih lama, semua kartu KPI tetap berfungsi. Rekap region bisa diganti dengan label manual + SUMIFS, dan daftar DELAY diganti AutoFilter.
Jawaban 1: 5 proyek belum selesai (3 ON PROGRESS dan 2 DELAY), 2 di antaranya DELAY, jadi 40%.
Jawaban 2: Andi memegang PRJ-A01, A05, dan A07 dengan target 1,000 + 600 + 700 = 2,300 dan actual 1,000 + 600 + 420 = 2,020.
Jawaban 3: Hanya PRJ-A04 yang memenuhi. Plan Finish 31 Jul berjarak 46 hari dari 15 Jun, dan achievement-nya 600/1,500 = 40%. PRJ-A06 (sisa 63 hari) dan PRJ-A08 (sisa 107 hari) masih di luar batas 60 hari.
Excel Formula Cheat Sheet
Referensi cepat fungsi Excel yang dibahas di buku ini, ditambah beberapa fungsi pendukung yang sering dipakai di kantor. Kolom Versi kosong berarti fungsi tersedia di Excel 2010 ke atas.
Setiap BAB punya 15 soal dalam tiga level. Soal memakai data studi kasus atau contoh di BAB yang bersangkutan, jadi buka kembali tabelnya dan ketik ulang di workbook latihan dengan posisi cell yang sama. Kunci jawaban ada di bagian Answer Key.
Level
Isi
Target
🟢 LEVEL 1 · BASIC
Satu fungsi, satu langkah
Hafal syntax
🟡 LEVEL 2 · INTERMEDIATE
Kriteria, referensi, atau dua fungsi
Paham cara kerja
🔴 LEVEL 3 · ADVANCED
Kombinasi fungsi untuk masalah nyata
Bisa merancang rumus sendiri
BAB 1 · Fundamental Excel & Logika Rumus
Data: tabel Studi Kasus Laporan Penjualan Sederhana (A1:D6, kolom D sudah terisi Total).
🟢 LEVEL 1 · BASIC
Hitung total qty seluruh produk.
Hitung rata-rata harga satuan.
Tampilkan harga satuan tertinggi.
Tampilkan qty terkecil.
Hitung jumlah produk berdasarkan kolom nama produk.
🟡 LEVEL 2 · INTERMEDIATE
Hitung total omzet tanpa memakai kolom D.
Diskon 10% disimpan di G1. Tulis rumus harga setelah diskon di E2 yang bisa disalin sampai E6.
Buat teks "Laptop - 5 unit" dari kolom A dan B.
Berapa hasil =10+5*2^2? Jelaskan urutannya.
Hitung selisih omzet tertinggi dan terendah.
🔴 LEVEL 3 · ADVANCED
Hitung kontribusi setiap produk terhadap total omzet dengan satu rumus di E2 yang bisa disalin ke bawah. Berapa kontribusi Monitor?
Buat tabel perkalian 5×5: angka 1-5 di B1:F1 dan A2:A6. Tulis satu rumus di B2 yang bisa disalin ke seluruh B2:F6.
Mengapa =-3^2 menghasilkan 9? Tulis rumus yang menghasilkan -9.
Hitung harga rata-rata per unit tertimbang (total omzet dibagi total qty).
Kolom E (PPN) baru terisi di E2 dan E3. Hitung berapa cell PPN yang belum diisi di E2:E6.
BAB 2 · Rumus Matematika & Statistik
Data: tabel Studi Kasus Analisis Penjualan Bulanan (A1:C7: Sales, Target, Actual).
🟢 LEVEL 1 · BASIC
Hitung total target.
Hitung rata-rata target.
Hitung median actual.
Tampilkan actual terbesar kedua.
Tampilkan target terkecil.
🟡 LEVEL 2 · INTERMEDIATE
Hitung total actual untuk sales yang targetnya tepat 50,000,000.
Hitung rata-rata actual untuk sales yang targetnya minimal 40,000,000.
Hitung selisih absolut actual dan target Dewi.
Bulatkan actual Candra ke bawah dalam satuan juta.
Tentukan peringkat Eko berdasarkan actual (terbesar = 1).
🔴 LEVEL 3 · ADVANCED
Hitung total kelebihan actual di atas target, hanya untuk sales yang melebihi target, dalam satu rumus.
Bonus 2% dari actual diberikan kepada sales dengan achievement minimal 100%. Hitung total bonus dalam satu rumus.
Bulatkan rata-rata actual ke kelipatan 500,000 terdekat.
Proyeksikan total actual tim jika tumbuh 5% per bulan selama 3 bulan.
Tampilkan achievement Bella dibulatkan ke satu desimal persen.
BAB 3 · Rumus Logika
Data: tabel Studi Kasus Project Status Monitoring (A1:G8, tanggal acuan di I1).
🟢 LEVEL 1 · BASIC
Tampilkan "SELESAI" jika progress 100%, selain itu "BELUM".
Tampilkan TRUE jika BAST belum ada.
Tampilkan "LEWAT" jika tanggal acuan sudah melewati Plan Finish, selain itu "-".
Tampilkan TRUE jika progress di atas 0% dan di bawah 100%.
Ubah kode "OP", "DL", "CP" di cell K2 menjadi "ON PROGRESS", "DELAY", "COMPLETED", dengan default "-".
🟡 LEVEL 2 · INTERMEDIATE
Buat kategori progress dengan IFS: minimal 80% "Tinggi", minimal 40% "Sedang", selain itu "Rendah".
Buat kategori yang sama dengan Nested IF.
Tampilkan "PERHATIAN" jika status DELAY atau progress di bawah 30%.
Hitung jumlah proyek DELAY.
Hitung rasio progress terhadap Plan % tanpa error untuk proyek yang Plan %-nya 0.
🔴 LEVEL 3 · ADVANCED
Tampilkan TRUE jika tepat satu dari dua kondisi terpenuhi: progress 100% atau BAST ada.
Buat singkatan status dengan SWITCH: ON TRACK → OT, ON PROGRESS → OP, DELAY → DL, lainnya "-".
K1 berisi kode "PRJ-04". Ambil status proyek tersebut dari tabel (kolom A berisi kode dan nama). Tampilkan "Tidak ada" jika kodenya tidak ditemukan.
Hitung jumlah proyek ON TRACK atau ON PROGRESS dalam satu rumus.
Buat kolom Health: DELAY = MERAH, ON PROGRESS = KUNING, NOT STARTED = ABU, status lain = HIJAU.
BAB 4 · Rumus Text & Data Processing
Data: contoh di BAB 4 dan hasil Studi Kasus Membersihkan Database Customer. Teks yang diuji ditulis di A2.
🟢 LEVEL 1 · BASIC
Ambil kode region dari "JKT-2026-0147".
Hitung jumlah karakter "Budi Santoso".
Ubah "siti nurhaliza" menjadi "Siti Nurhaliza".
Ubah "SITI.N@YAHOO.CO.ID" menjadi huruf kecil.
Buang spasi berlebih dari "··andi··pratama" (· = spasi).
🟡 LEVEL 2 · INTERMEDIATE
Ambil domain dari "budi.santoso@gmail.com".
Ambil nama depan dari "Siti Nurhaliza".
A2 berisi angka 45. Buat kode "CST-0045".
Hapus semua tanda strip dari "0819-7777-8888".
A2 berisi "Bandung" dan B2 berisi 40115. Buat teks "Bandung, 40115".
🔴 LEVEL 3 · ADVANCED
Samarkan email "budi.santoso@gmail.com" menjadi "bud***@gmail.com".
Hitung jumlah kata dalam "Jl. Merdeka No. 5".
Ambil kata terakhir (nama belakang) dari "Budi Santoso", dengan rumus yang juga bekerja untuk nama tiga kata.
Periksa apakah kode "cst-12" sudah ditulis kapital semua.
Ubah teks "Rp1.250.000" menjadi angka 1250000.
BAB 5 · Rumus Tanggal & Waktu
Data: tabel Studi Kasus Project Aging & SLA Monitoring (tanggal acuan 15 Jun 2026).
🟢 LEVEL 1 · BASIC
Tampilkan tanggal hari ini.
Ambil tahun dari Start P-01.
Tampilkan nama bulan Start P-01 dalam bahasa Indonesia.
Hitung selisih hari Actual dan Start P-02.
Susun tanggal 31 Desember 2026 dari angka.
🟡 LEVEL 2 · INTERMEDIATE
Tampilkan tanggal akhir bulan dari Start P-04.
Tampilkan tanggal 3 bulan setelah Start P-01.
Tampilkan nama hari Target P-03 dalam bahasa Indonesia.
Hitung jumlah hari kerja (Senin-Jumat) dari 1 sampai 15 Juni 2026.
Tampilkan nomor minggu dari 15 Juni 2026.
🔴 LEVEL 3 · ADVANCED
Tampilkan masa kerja karyawan yang masuk 10 Aug 2019 per 15 Jun 2026 dalam format "6 thn 10 bln".
Pekerjaan 15 hari kerja dimulai 15 Jun 2026, dengan libur 17 dan 22 Jun 2026 di H2:H3. Kapan selesainya?
Hitung jumlah hari Sabtu dan Minggu di bulan Juni 2026 dengan rumus.
Hitung umur (tahun penuh) orang yang lahir 20 Aug 1990 per 15 Jun 2026.
A2 berisi jam masuk 08:15 dan B2 jam pulang 17:45. Hitung jam kerja desimal setelah dikurangi istirahat 1 jam.
BAB 6 · Lookup & Pencarian Data
Data: tabel master material (A1:G7) di BAB 6.
🟢 LEVEL 1 · BASIC
Ambil nama material MTR-005 dengan VLOOKUP.
Ambil harga MTR-002.
Tentukan posisi MTR-006 di kolom kode.
Ambil isi baris ke-3, kolom ke-3 dari range A2:G7.
Tampilkan "Malam" dari daftar "Pagi", "Siang", "Malam" dengan CHOOSE.
🟡 LEVEL 2 · INTERMEDIATE
Ambil kode material dari nama "ODP 16 Port".
Ambil stok MTR-010 dengan XLOOKUP, tampilkan "Tidak ada" jika tidak ditemukan.
Ambil estimasi hari untuk Zona 3 dari tabel HLOOKUP.
Dengan tabel komisi di contoh LOOKUP, berapa komisi untuk penjualan 25,000,000?
Hitung nilai stok MTR-004 (harga × stok) dengan lookup.
🔴 LEVEL 3 · ADVANCED
Ambil nama material terakhir yang brand-nya NexCom.
Ambil stok MTR-001 dengan INDEX dan dua MATCH.
Tampilkan nama material dengan harga tertinggi.
Cari kode material yang namanya mengandung kata "Drop".
Ambil Brand dan Harga MTR-003 sekaligus dalam satu rumus.
BAB 7 · Filter, Sort & Dynamic Array
Data: data proyek (A1:F9) di BAB 7.
🟢 LEVEL 1 · BASIC
Tampilkan semua proyek berstatus COMPLETED.
Urutkan seluruh data berdasarkan nama proyek A-Z. Proyek apa yang muncul pertama?
Tampilkan daftar status unik.
Buat angka 1 sampai 10 ke bawah.
Hitung jumlah provider unik.
🟡 LEVEL 2 · INTERMEDIATE
Tampilkan proyek Nusanet yang nilainya di atas 400.
Tampilkan nama proyek diurutkan dari nilai terkecil.
Tampilkan 2 proyek dengan nilai terkecil (semua kolom).
Tampilkan proyek di Banten atau DKI Jakarta.
Hitung total nilai proyek ON PROGRESS dengan FILTER.
🔴 LEVEL 3 · ADVANCED
Buat tabel rekap total nilai per provinsi (urut abjad) dalam satu rumus.
Tampilkan nama semua proyek DELAY dalam satu cell, dipisah koma.
Tampilkan nama proyek yang nilainya di atas rata-rata.
Tampilkan ID dan Project milik NetraCom lengkap dengan baris judul, dalam satu rumus.
Buat daftar 12 tanggal akhir bulan sepanjang tahun 2026 dalam satu rumus.
BAB 8 · Data Cleaning & Validation
Data: RAW DATA dan hasil tahap cleaning/validasi di Studi Kasus BAB 8 (baris 2 sampai 9).
🟢 LEVEL 1 · BASIC
Hitung jumlah nama yang kosong di B2:B9.
Periksa apakah G2 ('1250000) berisi angka.
Periksa apakah G2 berisi teks.
Periksa apakah B6 kosong.
Bersihkan spasi di "surabaya·".
🟡 LEVEL 2 · INTERMEDIATE
Tandai ID yang merupakan kemunculan kedua atau seterusnya.
Ubah teks tanggal "03/01/2026" (F2) menjadi tanggal asli.
Hitung total belanja semua baris yang nilainya bisa dikonversi menjadi angka, dalam satu rumus.
Hitung jumlah email tidak valid dari kolom R.
Periksa apakah nomor HP "0812999" memenuhi aturan 10-13 digit angka.
🔴 LEVEL 3 · ADVANCED
Uji rumus validasi email pada "siti.aminah@yahoo". Apa hasilnya dan mengapa?
Hitung persentase baris VALID dari seluruh baris.
Tulis rumus Data Validation Custom agar tanggal daftar tidak boleh melewati hari ini.
Hitung jumlah ID unik di A2:A9 dengan rumus yang bekerja di semua versi Excel.
Hitung jumlah nama di B2:B9 yang mengandung spasi berlebih.
BAB 9 · Database & Reporting
Data: database proyek FTTH (A1:H11) di BAB 9.
🟢 LEVEL 1 · BASIC
Hitung jumlah proyek COMPLETED.
Hitung total target NetraCom.
Hitung jumlah proyek di Banten.
Hitung rata-rata actual seluruh proyek.
Hitung jumlah proyek yang Kab/Kota-nya mengandung "Tangerang".
🟡 LEVEL 2 · INTERMEDIATE
Hitung total actual Selulink yang COMPLETED.
Hitung jumlah proyek Bella yang belum COMPLETED.
Hitung rata-rata target proyek di Jawa Barat.
Hitung achievement Nusanet.
Tampilkan actual terbesar di Banten tanpa D-function.
🔴 LEVEL 3 · ADVANCED
Dengan DSUM, hitung total target Selulink di Jawa Barat.
Dengan DCOUNTA, hitung proyek yang berstatus DELAY atau dipegang Candra.
Dengan DGET, ambil Kab/Kota proyek yang actual-nya 240.
Hitung sisa target (target - actual) seluruh proyek ON PROGRESS.
Hitung jumlah proyek dengan achievement di bawah 50%.
BAB 10 · Advanced Formula & Formula Combination
Data: contoh di BAB 10 dan database dashboard (sheet Data, A1:K9, tanggal acuan di N1).
🟢 LEVEL 1 · BASIC
Dengan data contoh IF + AND, apakah Andi mendapat bonus?
Dengan data transaksi di contoh SUMIFS + DATE, hitung total transaksi bulan Mei 2026.
Dengan data tiket di contoh COUNTIFS + DATE, hitung seluruh tiket Open.
Hitung achievement dashboard dengan LET (variabel total target dan total actual).
Tampilkan daftar region unik yang terurut dari database dashboard.
🟡 LEVEL 2 · INTERMEDIATE
Hitung total transaksi region East di bulan Juni 2026.
Hitung jumlah proyek COMPLETED yang selesai melewati Plan Finish.
Tampilkan proyek ON PROGRESS diurutkan dari target terbesar (kolom Project dan Target saja).
Dengan data contoh IFERROR + XLOOKUP, berapa nilai order MTR-002 sebanyak 50?
Hitung aging PRJ-A03.
🔴 LEVEL 3 · ADVANCED
Buat fungsi SISA dengan LAMBDA yang menghitung sisa target (tidak boleh negatif). Berapa hasilnya untuk PRJ-A03?
Buat tabel achievement per PIC dalam satu rumus.
Hitung rata-rata aging khusus proyek yang belum selesai.
Hitung jumlah proyek yang Actual Start-nya lebih dari 1 hari setelah Plan Start.
Buat tabel total transaksi Juni 2026 per region dalam satu rumus.
Answer Key
Jawaban ditulis untuk baris pertama data (baris 2) kecuali disebutkan lain. Jika rumus Anda berbeda tetapi hasilnya sama, jawaban Anda tetap benar. Excel hampir selalu punya lebih dari satu cara.
BAB 1 · Fundamental Excel & Logika Rumus
No
Formula
Hasil
1
=SUM(B2:B6)
100
2
=AVERAGE(C2:C6)
2,404,000
3
=MAX(C2:C6)
7,500,000
4
=MIN(B2:B6)
5
5
=COUNTA(A2:A6)
5
6
=B2*C2+B3*C3+B4*C4+B5*C5+B6*C6 (atau =SUMPRODUCT(B2:B6,C2:C6) dari BAB 2)
91,000,000
7
=C2*(1-$G$1)
Laptop 6,750,000
8
=A2&" - "&B2&" unit"
Laptop - 5 unit
9
Pangkat dulu: 2^2 = 4, lalu 5×4 = 20, lalu 10+20
30
10
=MAX(D2:D6)-MIN(D2:D6)
32,100,000
11
=D2/SUM($D$2:$D$6)
Monitor 24.40%
12
=$A2*B$1
F6 = 25
13
Tanda negatif diproses sebelum pangkat. Tulis =-(3^2) atau =0-3^2
Penjelasan no. 58: setiap spasi diganti 100 spasi, sehingga kata terakhir pasti berada di 100 karakter paling kanan. TRIM lalu membuang spasi yang ikut terambil.
Penjelasan no. 103: rata-rata nilai adalah 3,830 ÷ 8 = 478.75, sehingga FTTH Medan (470) tidak ikut. Penjelasan no. 105: hari ke-0 sebuah bulan adalah hari terakhir bulan sebelumnya (lihat DATE di BAB 5).
BAB 8 · Data Cleaning & Validation
No
Formula
Hasil
106
=COUNTBLANK(B2:B9)
1
107
=ISNUMBER(G2)
FALSE
108
=ISTEXT(G2)
TRUE
109
=ISBLANK(B6)
TRUE
110
=TRIM(A2)
surabaya
111
=COUNTIF($A$2:A2,A2)>1
TRUE hanya di baris 5
112
=DATE(RIGHT(F2,4),MID(F2,4,2),LEFT(F2,2))
03 Jan 2026
113
=SUM(IFERROR(VALUE(G2:G9),0))
8,655,000
114
=COUNTIF(R2:R9,FALSE)
2
115
=AND(ISNUMBER(--A2),LEN(A2)>=10,LEN(A2)<=13)
FALSE
116
Rumus email di Studi Kasus BAB 8
FALSE, karena tidak ada titik setelah @
117
=COUNTIF(S2:S9,"VALID")/COUNTA(A2:A9)
37.5%
118
Data Validation Custom: =N2<=TODAY()
Tanggal masa depan ditolak
119
=SUMPRODUCT(1/COUNTIF(A2:A9,A2:A9))
7
120
=SUMPRODUCT(--(LEN(B2:B9)<>LEN(TRIM(B2:B9))))
1
Catatan no. 113: di Excel 2019 ke bawah, akhiri dengan Ctrl+Shift+Enter karena rumus memproses array.
Central 4,500,000, East 3,200,000, West 13,900,000
Glossary
Istilah
Arti
Absolute Reference
Referensi cell yang dikunci dengan $ sehingga tidak bergeser saat rumus disalin, misalnya $A$2
Argument
Nilai atau referensi yang dimasukkan ke dalam fungsi, dipisahkan koma (atau titik koma di regional Indonesia)
Array
Kumpulan nilai dalam bentuk baris, kolom, atau tabel. Bisa berupa range atau hasil rumus
Array Konstan
Array yang diketik langsung di rumus dengan kurung kurawal, misalnya {"DELAY","ON PROGRESS"}
BAST
Berita Acara Serah Terima, dokumen penanda pekerjaan sudah diserahterimakan (dipakai di studi kasus)
Case-sensitive
Membedakan huruf besar dan kecil. FIND dan EXACT bersifat case-sensitive, SEARCH tidak
Cell
Pertemuan satu kolom dan satu baris, misalnya D2
Criteria
Syarat yang harus dipenuhi data agar dihitung, misalnya "DELAY" atau ">=1000"
Criteria Range
Range berisi judul kolom dan syarat, dipakai oleh fungsi database seperti DSUM
Ctrl+Shift+Enter (CSE)
Cara memasukkan array formula di Excel 2019 ke bawah
Data Validation
Fitur untuk membatasi isian cell, misalnya dropdown atau aturan rumus
Database (Excel)
Range berbentuk tabel dengan baris judul dan satu record per baris
Delimiter
Karakter pemisah, misalnya koma pada TEXTJOIN(", ", ...)
Dynamic Array
Kemampuan Excel modern mengembalikan banyak nilai dari satu rumus
Excel Table
Range yang diubah dengan Ctrl+T. Otomatis meluas saat data bertambah dan memakai structured reference
Formula
Instruksi perhitungan yang diawali tanda =
Formula Bar
Kotak di atas sheet yang menampilkan isi asli cell aktif
Function
Rumus siap pakai buatan Excel, misalnya SUM atau XLOOKUP
Helper Column
Kolom bantu untuk memecah perhitungan panjang menjadi beberapa langkah
Lookup
Proses mencari nilai di satu tabel lalu mengambil data terkait
Mixed Reference
Referensi yang hanya mengunci kolom atau baris, misalnya $A2 atau A$2
Name Box
Kotak di kiri formula bar yang menampilkan alamat cell aktif atau nama range
Name Manager
Menu untuk membuat dan mengelola nama range serta fungsi LAMBDA
Named Range
Range yang diberi nama, misalnya Libur untuk daftar hari libur
Nested Function
Fungsi di dalam fungsi, misalnya ROUND(AVERAGE(...), 0)
Operator
Simbol perhitungan atau perbandingan: + - * / ^ & = <> > < >= <=
Paste Special > Values
Menempel hasil rumus sebagai nilai tetap, tanpa rumusnya
Range
Kumpulan cell yang berdekatan, misalnya A2:D6
Relative Reference
Referensi yang bergeser mengikuti posisi rumus saat disalin, misalnya A2
Serial Number
Angka yang dipakai Excel untuk menyimpan tanggal. 15 Juni 2026 = 46188
SLA
Service Level Agreement, batas waktu penyelesaian yang disepakati
Spill
Hasil rumus dynamic array yang mengisi beberapa cell sekaligus
Spill Reference
Referensi ke seluruh hasil spill dengan tanda #, misalnya K2#
Structured Reference
Referensi berbasis nama Table dan kolom, misalnya TabelPenjualan[Total]
Syntax
Aturan penulisan fungsi: nama, tanda kurung, dan urutan argument
Text Number
Angka yang tersimpan sebagai teks sehingga tidak ikut dihitung
Wildcard
Karakter pengganti di kriteria: * untuk banyak karakter dan ? untuk satu karakter
Workbook
File Excel secara keseluruhan
Worksheet
Satu lembar kerja di dalam workbook
#CALC!
Error perhitungan array, misalnya hasil kosong pada fungsi tertentu
#DIV/0!
Error pembagian dengan nol
#N/A
Error data tidak ditemukan
#NAME?
Nama fungsi tidak dikenal, salah ketik, atau tidak ada di versi Excel tersebut
#REF!
Referensi tidak valid, biasanya karena baris atau kolom sumber dihapus
#SPILL!
Area spill terhalang data lain
#VALUE!
Tipe data tidak sesuai, misalnya teks ikut dihitung
Penutup
Anda sudah melewati sepuluh BAB: dari mengenal cell dan referensi, rumus matematika dan logika, pengolahan teks dan tanggal, lookup, dynamic array, pembersihan data, laporan manajemen, sampai dashboard eksekutif.
Rumus di buku ini sengaja dibangun dari data yang mirip pekerjaan sehari-hari. Jadi saat menghadapi file kerja yang sesungguhnya, coba cari kemiripannya. Laporan penjualan cabang Anda mungkin hanya versi lain dari studi kasus BAB 2. Monitoring vendor di kantor mungkin punya pola yang sama dengan Project Status Monitoring di BAB 3.
Beberapa kebiasaan yang membuat file Excel tetap rapi dan bisa dipercaya:
Pisahkan data mentah, perhitungan, dan laporan di sheet yang berbeda.
Simpan angka kebijakan (tarif, batas, tanggal acuan) di cell tersendiri, jangan ditulis di dalam rumus.
Bersihkan data sebelum menghitung.
Cocokkan grand total laporan dengan total database setiap kali laporan selesai dibuat.
Tulis rumus yang bisa dibaca orang lain, termasuk Anda sendiri tiga bulan lagi.
Simpan buku ini di tempat yang mudah dijangkau. Saat lupa urutan argument SUMIFS, ragu memilih VLOOKUP atau XLOOKUP, atau perlu contoh cepat menghitung hari kerja, buka Cheat Sheet atau BAB terkait.
"Jangan hanya belajar rumus Excel. Belajarlah memahami masalah, kemudian gunakan Excel untuk menyelesaikannya."
Pictor Roito Tumanggor
MASTER RUMUS EXCEL
Panduan Lengkap 300+ Rumus Excel dari Basic hingga Advanced