TL;DR
Excel nggak punya fungsi terbilang bawaan, jadi kamu harus bikin sendiri. Cara paling bersih di Excel 365 adalah pakai LET plus LAMBDA: angka dipecah jadi kelompok juta, ribu, dan satuan, lalu tiap kelompok diubah jadi kata pakai CHOOSE. Hasilnya rumus murni yang jalan tanpa add-in dan tanpa macro, jadi file kamu tetap .xlsx dan aman dikirim ke siapa aja.
Excel nggak punya fungsi TERBILANG. Nggak di versi 2016, nggak di 2021, nggak juga di Microsoft 365.
Jadi kalau kamu butuh "1.500.000" berubah jadi "satu juta lima ratus ribu rupiah" buat kwitansi, kamu harus bikin sendiri.
Kebanyakan tutorial nyuruh install add-in atau nempel macro VBA. Aku nggak. File jadi .xlsm, macro sering diblok kebijakan IT kantor, dan begitu dikirim ke orang lain rumusnya error. Di sini kita bikin pakai rumus murni.
Add-in dan macro VBA bikin file kamu harus disimpan sebagai .xlsm. Tiga masalah muncul dari situ.
Rumus murni jalan di mana aja. Nggak ada yang perlu diinstall, dan file tetap .xlsx.
Angka dipecah jadi tiga kelompok: juta, ribu, dan satuan. Tiap kelompok isinya maksimal 3 digit. Kamu bikin satu logika yang bisa ngubah 3 digit jadi kata, terus panggil logika itu tiga kali dan sambung hasilnya.
1.500.000
↓
juta = 1 → "satu" → "satu juta"
ribu = 500 → "lima ratus" → "lima ratus ribu"
satuan = 0 → "" → ""
↓
"satu juta lima ratus ribu"
Cara mecahnya pakai pembagian dan sisa bagi:
juta = INT(n/1000000)
ribu = MOD(INT(n/1000), 1000)
satuan = MOD(n, 1000)
MOD ngasih sisa pembagian. Detailnya ada di halaman fungsi MOD.
Terus ada 4 aturan khusus bahasa Indonesia yang harus ditangani:
| Angka | Salah | Bener |
|---|---|---|
| 10 | satu puluh | sepuluh |
| 11 | satu belas | sebelas |
| 100 | satu ratus | seratus |
| 1.000 | satu ribu | seribu |
Empat pengecualian ini yang bikin rumus terbilang keliatan panjang. Logikanya sendiri sederhana.
Ini versi paling bersih. Taruh angka di A2, tempel rumus ini di B2.
=LET(
n, A2,
T3, LAMBDA(x, LET(
r, INT(x/100),
s, MOD(x,100),
p, INT(s/10),
u, MOD(s,10),
d, LAMBDA(y, CHOOSE(y+1,"","satu","dua","tiga","empat",
"lima","enam","tujuh","delapan","sembilan")),
ratus, IF(r=0, "",
IF(r=1, "seratus ", d(r) & " ratus ")),
puluh, IF(s=0, "",
IF(s<10, d(u),
IF(s=10, "sepuluh",
IF(s=11, "sebelas",
IF(s<20, d(u) & " belas",
d(p) & " puluh " & d(u)))))),
TRIM(ratus & puluh)
)),
jt, INT(n/1000000),
rb, MOD(INT(n/1000),1000),
sa, MOD(n,1000),
hasil, TRIM(
IF(jt=0, "", T3(jt) & " juta ") &
IF(rb=0, "", IF(rb=1, "seribu ", T3(rb) & " ribu ")) &
T3(sa)),
IF(n=0, "nol", hasil)
)
Cara bacanya dari dalam ke luar:
d itu kamus digit, angka 1 sampai 9 jadi kata. CHOOSE(y+1, ...) pakai +1 soalnya CHOOSE mulai dari posisi 1, sementara digit kita mulai dari 0.T3 ngubah satu kelompok 3 digit jadi kata, lengkap sama pengecualian sepuluh dan sebelas.T3 tiga kali, tempelin "juta" dan "ribu", terus TRIM buat ngerapiin spasi.Mau ditambahin kata rupiah? Sambung di ujung: & " rupiah".
Mau huruf pertama kapital? Bungkus pakai fungsi PROPER atau kombinasi UPPER dan MID.
Rumus di atas panjang. Nggak lucu kalau harus di-copy tiap kali. Simpan aja jadi nama fungsi.
TERBILANGn, A2 jadi bagian dari LAMBDA, bungkus seluruhnya: =LAMBDA(n, LET(T3, ..., IF(n=0,"nol",hasil)))Sekarang di sel mana pun kamu tinggal ketik =TERBILANG(A2). Nama fungsinya ikut kesimpen di file, jadi orang lain yang buka file itu juga bisa pakai, tanpa install apa-apa.
Dokumentasi resminya ada di halaman LAMBDA Microsoft.
LET dan LAMBDA belum ada di sana. Solusinya pakai kolom bantu, sedikit lebih berantakan, tapi jalan.
Siapin 4 kolom:
A2 = 1500000 (angka)
B2 = =INT(A2/1000000) → 1
C2 = =MOD(INT(A2/1000),1000) → 500
D2 = =MOD(A2,1000) → 0
Terus bikin rumus konversi 3 digit. Ini versi tanpa LET, contohnya buat sel B2:
=IF(B2=0,"",
IF(INT(B2/100)=0,"",
IF(INT(B2/100)=1,"seratus ",
CHOOSE(INT(B2/100),"satu","dua","tiga","empat","lima",
"enam","tujuh","delapan","sembilan") & " ratus "))
& IF(MOD(B2,100)=0,"",
IF(MOD(B2,100)<10,
CHOOSE(MOD(B2,10),"satu","dua","tiga","empat","lima",
"enam","tujuh","delapan","sembilan"),
IF(MOD(B2,100)=10,"sepuluh",
IF(MOD(B2,100)=11,"sebelas",
IF(MOD(B2,100)<20,
CHOOSE(MOD(B2,10),"satu","dua","tiga","empat","lima",
"enam","tujuh","delapan","sembilan") & " belas",
CHOOSE(INT(MOD(B2,100)/10),"satu","dua","tiga","empat","lima",
"enam","tujuh","delapan","sembilan") & " puluh " &
IF(MOD(B2,10)=0,"",
CHOOSE(MOD(B2,10),"satu","dua","tiga","empat","lima",
"enam","tujuh","delapan","sembilan"))
))))))
Copy rumus itu ke tiga kolom (buat juta, ribu, satuan), ganti referensinya. Terus gabung di kolom terakhir:
=TRIM(
IF(B2=0,"", E2 & " juta ") &
IF(C2=0,"", IF(C2=1,"seribu ", F2 & " ribu ")) &
G2 & " rupiah")
Sembunyiin kolom bantunya, beres. Nggak seelegan versi LAMBDA, tapi hasilnya sama.
Toko_berkah bikin kwitansi buat 6 transaksi grosir bulan Maret. Ini hasil rumusnya:
| Nominal | Terbilang |
|---|---|
| Rp 1.500.000 | satu juta lima ratus ribu rupiah |
| Rp 275.000 | dua ratus tujuh puluh lima ribu rupiah |
| Rp 1.011.000 | satu juta sebelas ribu rupiah |
| Rp 100.000 | seratus ribu rupiah |
| Rp 12.750.000 | dua belas juta tujuh ratus lima puluh ribu rupiah |
| Rp 1.000 | seribu rupiah |
Tiga baris terakhir itu yang paling sering jebol di rumus terbilang buatan sendiri. "Seratus ribu", "sebelas ribu", dan "seribu", kalau pengecualiannya nggak ditangani, hasilnya jadi "satu ratus ribu" dan "satu ribu".
Aku selalu tes rumus terbilang pakai 6 angka ini: 1.000, 11.000, 100.000, 1.011.000, 1.500.000, 12.750.000. Kalau keenamnya bener, rumusnya udah aman buat dipakai.
CHOOSE(0, ...) ngasih #VALUE!. Makanya semua CHOOSE di rumus atas dibungkus IF(...=0,"",...) dulu.1500000,75, rumusnya bakal ngaco. Bungkus input pakai INT() dulu, atau pisahin sen-nya sendiri.mi, INT(n/1000000000) dan jt, MOD(INT(n/1000000),1000).TRIM cuma buang spasi di ujung, buat spasi dobel di tengah, bungkus lagi: SUBSTITUTE(hasil," "," ").Nggak ada. Excel versi mana pun (2016, 2019, 2021, sampai Microsoft 365) nggak punya fungsi TERBILANG. Yang ada cuma SPELLNUMBER, itu pun contoh kode VBA dari Microsoft dan hasilnya bahasa Inggris. Jadi buat terbilang bahasa Indonesia, kamu harus bikin sendiri, entah pakai rumus murni atau macro VBA.
Rumus biasa lebih aman. Add-in dan macro bikin file kamu harus disimpan sebagai .xlsm, dan banyak kantor yang nge-blok macro lewat kebijakan IT. Waktu file dikirim ke orang lain, terbilangnya jadi error. Rumus murni jalan di mana aja. Nggak perlu install, nggak kena blokir, dan file tetap .xlsx.
Bisa. Google Sheets udah support LET dan LAMBDA, jadi rumus yang sama bisa langsung di-copy paste. Bedanya cuma pemisah argumen. Kalau Excel kamu pakai titik koma, Sheets biasanya pakai koma. Sheets juga punya Named Functions, jadi kamu bisa simpan rumusnya sekali dan panggil sebagai =TERBILANG(A2).
Sambung pakai ampersand di ujung rumus: tambahin & " rupiah" setelah hasilnya. Buat kwitansi resmi biasanya ditulis dengan huruf kapital di awal dan diakhiri "rupiah", misalnya "Satu juta lima ratus ribu rupiah". Bungkus hasilnya pakai PROPER kalau mau tiap kata kapital, atau kombinasi UPPER dan MID kalau cuma huruf pertama yang mau dibesarkan.
CHOOSE.=TERBILANG(A2).Coba tempel rumusnya di file kwitansi kamu sekarang, terus tes pakai 6 angka di atas. Kalau ada yang meleset, biasanya di bagian pengecualian "se-".
Lanjut belajar rumus teks: CONCATENATE dan TEXTJOIN buat gabungin teks, atau lihat referensi fungsi TEXT buat ngatur format angka jadi string.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Cara pakai rumus FV dan PV Excel buat hitung nilai uang di masa depan dan sekarang. Lengkap dengan contoh tabungan dan target modal UMKM.
Investasi kelihatan untung di atas kertas, tapi nilai uang berubah tiap tahun. NPV dan IRR Excel bantu kamu nilai apakah proyek beneran layak, bukan cuma kelihatan untung.
Sebelum ambil pinjaman, kamu bisa hitung sendiri cicilan bulanannya pakai satu rumus. Ini cara PMT Excel bekerja, lengkap dengan contoh modal usaha dan jebakan bunga tahunan.