Bagian 1 dari 2 · Invoice & Kwitansi Otomatis
Rumus Terbilang: Ubah Angka Jadi Huruf untuk Kwitansi
Excel tidak punya fungsi bawaan untuk mengubah angka jadi tulisan. Satu-satunya cara yang praktis adalah lewat kode VBA (Macro) — bukan rumus formula biasa seperti SUM atau VLOOKUP.
1. Kenapa harus VBA
Kwitansi selalu butuh jumlah uang ditulis dua kali: angka (Rp1.500.000) dan tulisan ("Satu Juta Lima Ratus Ribu Rupiah") supaya tidak bisa diubah orang lain. Karena polanya rumit (beda kata untuk puluhan, ratusan, ribuan, jutaan, dan ada pengecualian seperti "sebelas" dan "seribu"), cara paling praktis adalah bikin satu fungsi custom lewat VBA yang bisa dipakai berulang-ulang seperti fungsi Excel biasa.
2. Cara masukkan kodenya
- Simpan file sebagai
.xlsm(Excel Macro-Enabled Workbook) — file.xlsxbiasa tidak bisa menyimpan macro. - Tekan
Alt+F11untuk buka VBA Editor. - Klik kanan nama file di panel kiri → Insert → Module.
- Salin kode di bawah ini ke dalam Module tersebut.
3. Kode fungsi Terbilang
Function Terbilang(ByVal n As Double) As String
Dim satuan(9) As String
satuan(0) = "": satuan(1) = "Satu": satuan(2) = "Dua": satuan(3) = "Tiga"
satuan(4) = "Empat": satuan(5) = "Lima": satuan(6) = "Enam": satuan(7) = "Tujuh"
satuan(8) = "Delapan": satuan(9) = "Sembilan"
Dim hasil As String
Dim sisa As Double
If n < 0 Then
Terbilang = "Minus " & Terbilang(-n)
ElseIf n = 0 Then
Terbilang = "Nol"
ElseIf n < 10 Then
Terbilang = satuan(n)
ElseIf n = 10 Then
Terbilang = "Sepuluh"
ElseIf n = 11 Then
Terbilang = "Sebelas"
ElseIf n < 20 Then
Terbilang = satuan(n - 10) & " Belas"
ElseIf n < 100 Then
sisa = n Mod 10
hasil = Terbilang(Int(n / 10)) & " Puluh"
If sisa > 0 Then hasil = hasil & " " & Terbilang(sisa)
Terbilang = hasil
ElseIf n < 200 Then
sisa = n - 100
hasil = "Seratus"
If sisa > 0 Then hasil = hasil & " " & Terbilang(sisa)
Terbilang = hasil
ElseIf n < 1000 Then
sisa = n Mod 100
hasil = Terbilang(Int(n / 100)) & " Ratus"
If sisa > 0 Then hasil = hasil & " " & Terbilang(sisa)
Terbilang = hasil
ElseIf n < 2000 Then
sisa = n - 1000
hasil = "Seribu"
If sisa > 0 Then hasil = hasil & " " & Terbilang(sisa)
Terbilang = hasil
ElseIf n < 1000000 Then
sisa = n Mod 1000
hasil = Terbilang(Int(n / 1000)) & " Ribu"
If sisa > 0 Then hasil = hasil & " " & Terbilang(sisa)
Terbilang = hasil
ElseIf n < 1000000000 Then
sisa = n Mod 1000000
hasil = Terbilang(Int(n / 1000000)) & " Juta"
If sisa > 0 Then hasil = hasil & " " & Terbilang(sisa)
Terbilang = hasil
Else
sisa = n Mod 1000000000#
hasil = Terbilang(Int(n / 1000000000#)) & " Miliar"
If sisa > 0 Then hasil = hasil & " " & Terbilang(sisa)
Terbilang = hasil
End If
End FunctionFungsi ini cukup untuk kebutuhan invoice/kwitansi pada umumnya, sampai ratusan miliar rupiah.
4. Cara pakai di sel
Setelah kode disimpan, kembali ke sheet dan pakai seperti fungsi biasa:
=Terbilang(B2)&" Rupiah"Hasilnya:
| A | B | |
|---|---|---|
| 1 | Jumlah (Angka) | Terbilang |
| 2 | 1.500.000 | Satu Juta Lima Ratus Ribu Rupiah |
5. Template siap pakai
Template Excel untuk kasus ini sudah jadi bagian dari template gabungan "Invoice & Kwitansi Otomatis" — rumus dan format sudah aktif, tinggal isi data sendiri.
Unduh Template Excel (.xlsx) ↗Ini baru 1 dari 7 template Surat & Dokumen. Mau semuanya digabung jadi 1 file siap pakai?
Kit Surat & Dokumen Lengkap — Segera hadir