belajarexceladmin.id

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

  1. Simpan file sebagai .xlsm (Excel Macro-Enabled Workbook) — file .xlsx biasa tidak bisa menyimpan macro.
  2. Tekan Alt+F11 untuk buka VBA Editor.
  3. Klik kanan nama file di panel kiri → Insert → Module.
  4. 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 Function

Fungsi 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:

AB
1Jumlah (Angka)Terbilang
21.500.000Satu 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