Skip to main content

Rumus Terbilang di Excel: Cara Mengubah Angka Jadi Tulisan Rupiah (Tanpa Add-in, Pakai VBA Aman + Contoh Tabel)

Diperbarui: 29 Desember 2025

Ringkasan cepat:

  • Excel tidak punya fitur bawaan “terbilang” bahasa Indonesia, jadi cara paling stabil adalah membuat fungsi terbilang (UDF) lewat VBA lalu memakainya seperti rumus biasa (mis. =TERBILANG_RUPIAH(A2)).
  • Tutorial ini tanpa unduh template: Anda buat sendiri modul VBA-nya, lalu pakai di invoice/kwitansi/slip gaji.
  • Kalau angka Anda sering terbaca teks (mis. “Rp 1.250.000”), rapikan dulu agar benar-benar angka; cek juga panduan Audit Data “Angka Tersimpan sebagai Teks” agar SUMIF/SUMIFS Normal: TRIM, CLEAN, NUMBERVALUE, dan Checklist 5 Menit Sebelum Rekap.
  • Disertai contoh tabel nominal → hasil terbilang (Rupiah + opsi sen), plus troubleshooting error #NAME?.

Daftar isi

Kapan perlu rumus terbilang di Excel?

“Terbilang” berguna saat Anda butuh dokumen yang lebih jelas dan minim sengketa, misalnya:

  • Invoice: total angka + total terbilang supaya klien tidak salah baca nol.
  • Kwitansi: “Uang sejumlah … rupiah” untuk memperjelas nominal.
  • Slip gaji: beberapa instansi butuh terbilang untuk arsip/pencairan tertentu.

Untuk contoh penggunaan terbilang di penagihan, Anda bisa bandingkan alur membuat tabel tagihan di artikel Cara Buat Invoice di Excel dengan Rumus Otomatis untuk UMKM dan Freelancer (Lengkap + Contoh Tabel).

Syarat sebelum mulai (biar hasilnya tidak aneh)

1. Pastikan nilai benar-benar angka (bukan teks “Rp …”)

Terbilang hanya masuk akal jika inputnya angka. Kalau input Anda masih teks (mis. ada “Rp”, spasi, atau pemisah ribuan campur), rapikan dulu agar Excel membacanya sebagai number. Panduan lengkapnya ada di Audit Data “Angka Tersimpan sebagai Teks” agar SUMIF/SUMIFS Normal.

2. Tentukan aturan pembulatan

  • Untuk rupiah harian, biasanya tanpa sen (dibulatkan 0 desimal).
  • Jika Anda memang butuh sen (mis. sistem tertentu), kita sediakan opsi “tampilkan sen”.

3. Pisahkan rumus rekap dan rumus terbilang

Praktiknya: hitung total dulu dengan rumus biasa (SUM/SUMIF/SUMIFS), baru ubah total itu menjadi terbilang. Kalau Anda masih pemula rumus dasar, lihat Cara Menghitung Jumlah di Excel untuk Pemula: SUM, AutoSum, SUMIF, SUMIFS, dan SUBTOTAL.

Metode utama: rumus terbilang pakai VBA (paling realistis)

Metode ini membuat fungsi baru di Excel. Nanti Anda cukup mengetik rumus seperti fungsi biasa: =TERBILANG_RUPIAH(A2).

Langkah 1: Tampilkan tab Developer (sekali saja)

  1. Klik File → Options.
  2. Pilih Customize Ribbon.
  3. Centang Developer → OK.

Langkah 2: Buat modul VBA untuk fungsi terbilang

  1. Masuk tab Developer → Visual Basic.
  2. Klik Insert → Module.
  3. Paste kode di bawah ini ke jendela Module.
Option Explicit

'========================
'  TERBILANG (INDONESIA)
'  UDF untuk Excel
'========================

Private Function _Satuan(ByVal n As Long) As String
    Select Case n
        Case 0: _Satuan = "nol"
        Case 1: _Satuan = "satu"
        Case 2: _Satuan = "dua"
        Case 3: _Satuan = "tiga"
        Case 4: _Satuan = "empat"
        Case 5: _Satuan = "lima"
        Case 6: _Satuan = "enam"
        Case 7: _Satuan = "tujuh"
        Case 8: _Satuan = "delapan"
        Case 9: _Satuan = "sembilan"
        Case 10: _Satuan = "sepuluh"
        Case 11: _Satuan = "sebelas"
        Case Else: _Satuan = ""
    End Select
End Function

Private Function _TerbilangInt(ByVal n As Double) As String
    Dim q As Double, r As Double
    n = Fix(n)

    If n < 0 Then
        _TerbilangInt = "minus " & _TerbilangInt(Abs(n))
        Exit Function
    End If

    If n < 12 Then
        _TerbilangInt = _Satuan(CLng(n))
    ElseIf n < 20 Then
        _TerbilangInt = _Satuan(CLng(n - 10)) & " belas"
    ElseIf n < 100 Then
        q = Fix(n / 10)
        r = n - (q * 10)
        _TerbilangInt = _Satuan(CLng(q)) & " puluh"
        If r > 0 Then _TerbilangInt = _TerbilangInt & " " & _TerbilangInt(r)
    ElseIf n < 200 Then
        _TerbilangInt = "seratus"
        r = n - 100
        If r > 0 Then _TerbilangInt = _TerbilangInt & " " & _TerbilangInt(r)
    ElseIf n < 1000 Then
        q = Fix(n / 100)
        r = n - (q * 100)
        _TerbilangInt = _Satuan(CLng(q)) & " ratus"
        If r > 0 Then _TerbilangInt = _TerbilangInt & " " & _TerbilangInt(r)
    ElseIf n < 2000 Then
        _TerbilangInt = "seribu"
        r = n - 1000
        If r > 0 Then _TerbilangInt = _TerbilangInt & " " & _TerbilangInt(r)
    ElseIf n < 1000000 Then
        q = Fix(n / 1000)
        r = n - (q * 1000)
        _TerbilangInt = _TerbilangInt(q) & " ribu"
        If r > 0 Then _TerbilangInt = _TerbilangInt & " " & _TerbilangInt(r)
    ElseIf n < 1000000000# Then
        q = Fix(n / 1000000#)
        r = n - (q * 1000000#)
        _TerbilangInt = _TerbilangInt(q) & " juta"
        If r > 0 Then _TerbilangInt = _TerbilangInt & " " & _TerbilangInt(r)
    ElseIf n < 1000000000000# Then
        q = Fix(n / 1000000000#)
        r = n - (q * 1000000000#)
        _TerbilangInt = _TerbilangInt(q) & " miliar"
        If r > 0 Then _TerbilangInt = _TerbilangInt & " " & _TerbilangInt(r)
    Else
        q = Fix(n / 1000000000000#)
        r = n - (q * 1000000000000#)
        _TerbilangInt = _TerbilangInt(q) & " triliun"
        If r > 0 Then _TerbilangInt = _TerbilangInt & " " & _TerbilangInt(r)
    End If

    _TerbilangInt = Trim(_TerbilangInt)
End Function

'========================
' Fungsi yang dipakai di sel Excel
'========================
Public Function TERBILANG_RUPIAH(ByVal nilai As Variant, Optional ByVal tampilSen As Boolean = False) As String
    If Not IsNumeric(nilai) Then
        TERBILANG_RUPIAH = ""
        Exit Function
    End If

    Dim n As Double
    n = CDbl(nilai)

    Dim angkaInt As Double, sen As Double
    angkaInt = Fix(Abs(n))
    sen = Round((Abs(n) - angkaInt) * 100, 0)

    Dim teks As String
    If angkaInt = 0 Then
        teks = "nol"
    Else
        teks = _TerbilangInt(angkaInt)
    End If

    If n < 0 Then teks = "minus " & teks
    teks = Trim(teks) & " rupiah"

    If tampilSen Then
        If sen > 0 Then teks = teks & " " & _TerbilangInt(sen) & " sen"
    End If

    TERBILANG_RUPIAH = Application.WorksheetFunction.Trim(teks)
End Function

Langkah 3: Simpan file sebagai .XLSM (wajib)

  1. Klik File → Save As.
  2. Pilih tipe: Excel Macro-Enabled Workbook (*.xlsm).
  3. Simpan, tutup, lalu buka lagi file-nya.

Langkah 4: Cara pakai rumus terbilang di sel

Misalnya nominal ada di sel A2:

  • Tanpa sen: =TERBILANG_RUPIAH(A2)
  • Dengan sen (2 desimal): =TERBILANG_RUPIAH(A2,TRUE)
  • Jika ingin huruf kapital: =UPPER(TERBILANG_RUPIAH(A2))

Catatan: Jika Excel Anda memakai pemisah argumen ;, maka rumusnya jadi =TERBILANG_RUPIAH(A2;TRUE).

Kalau Anda sering menarik nominal dari file master (harga/karyawan/pelanggan) dan ingin terbilang mengikuti total otomatis, konsep “file master” dan link data bisa Anda pelajari di Cara VLOOKUP Excel Beda File (Workbook) Tanpa Pusing: Link Data Antar File, Contoh Rumus, dan Solusi Error #N/A.

Contoh tabel: nominal → terbilang (siap ditiru)

Ketik contoh data berikut di Excel (kolom A dan B). Rumusnya saya tulis per sel supaya jelas.

Sel Isi Keterangan
A1 Nominal Header
B1 Terbilang Header
A2 12500 Contoh belasan ribu
A3 150000 Contoh ratusan ribu
A4 1250000 Contoh jutaan
A5 -12000 Contoh minus
A6 1000.50 Contoh ada sen (opsional)
B2 =TERBILANG_RUPIAH(A2) Tarik ke bawah sampai B5
B6 =TERBILANG_RUPIAH(A6,TRUE) Khusus contoh sen

Hasil yang diharapkan (kurang-lebih):

  • 12500 → “dua belas ribu lima ratus rupiah”
  • 150000 → “seratus lima puluh ribu rupiah”
  • 1250000 → “satu juta dua ratus lima puluh ribu rupiah”
  • -12000 → “minus dua belas ribu rupiah”
  • 1000.50 → “seribu rupiah lima puluh sen” (jika opsi sen aktif)

Cara pakai terbilang di invoice/kwitansi

Ini contoh mini yang paling sering dipakai: Total dihitung dulu, lalu Terbilang mengambil dari sel Total.

Kolom Judul Contoh isi Rumus (jika ada)
A Item Jasa Desain -
B Qty 2 -
C Harga 750000 -
D Subtotal 1500000 =B2*C2
D5 Total 1500000 =SUM(D2:D4)
D6 Terbilang satu juta lima ratus ribu rupiah =TERBILANG_RUPIAH(D5)

Untuk format invoice yang lebih lengkap (header usaha, data klien, PPN, dan layout cetak), ikuti struktur yang sudah dibahas di Cara Buat Invoice di Excel dengan Rumus Otomatis untuk UMKM dan Freelancer. Dari sisi syariat, terbilang dan pencatatan yang jelas membantu menjaga amanah, mengurangi gharar (ketidakjelasan), dan meminimalkan sengketa transaksi.

Alternatif tanpa macro (opsi darurat & terbatas)

Kalau perangkat Anda melarang macro (mis. kebijakan kantor), opsi “tanpa VBA” itu ada, tapi biasanya:

  • Rumusnya sangat panjang.
  • Sering hanya nyaman untuk rentang tertentu (mis. 0–99 atau 0–999).
  • Sulit dirawat kalau ada kebutuhan “ribu/juta/miliar”.

Berikut contoh rumus terbilang sederhana untuk 0–99 (darurat). Asumsikan angka di A2 adalah bilangan bulat 0–99.

=IF(A2=0,"nol",
IF(A2<12,CHOOSE(A2+1,"nol","satu","dua","tiga","empat","lima","enam","tujuh","delapan","sembilan","sepuluh","sebelas"),
IF(A2<20,CHOOSE(A2-10,"dua belas","tiga belas","empat belas","lima belas","enam belas","tujuh belas","delapan belas","sembilan belas"),
CHOOSE(INT(A2/10)-1,"dua puluh","tiga puluh","empat puluh","lima puluh","enam puluh","tujuh puluh","delapan puluh","sembilan puluh")
& IF(MOD(A2,10)=0,""," "&CHOOSE(MOD(A2,10),"satu","dua","tiga","empat","lima","enam","tujuh","delapan","sembilan"))
)))

Rekomendasi saya: jika kebutuhan Anda serius (invoice/kwitansi berulang), gunakan metode VBA supaya tidak mengelola rumus monster.

Troubleshooting: kenapa muncul #NAME? / macro tidak bisa aktif

1. Muncul #NAME? saat mengetik =TERBILANG_RUPIAH(A2)

  • Pastikan kodenya ditaruh di Module (bukan di Sheet/ThisWorkbook).
  • Pastikan nama fungsi persis: TERBILANG_RUPIAH.
  • Pastikan file disimpan sebagai .xlsm (kalau .xlsx, macro hilang).
  • Tutup lalu buka ulang file.

2. Macro disabled (tidak bisa di-enable)

  • Coba buka file, lalu klik tombol Enable Content jika muncul bar kuning.
  • Jika tidak ada pilihan, cek pengaturan Trust Center/macro security. Panduan resmi Microsoft (Indonesia) tentang enable/disable macro bisa Anda lihat di sini: Mengaktifkan atau menonaktifkan makro dalam file Microsoft 365.
  • Jika perangkat kantor dikunci kebijakan, solusi paling aman adalah minta izin admin/IT (jangan memaksa bypass).

3. Hasil terbilang aneh karena angka terbaca teks

Ini sering terjadi jika angka Anda berasal dari WhatsApp/PDF/web dan ada “Rp”, spasi, atau pemisah ribuan campur. Rapikan dulu memakai langkah di Audit Data “Angka Tersimpan sebagai Teks” agar SUMIF/SUMIFS Normal.

4. Terbilang butuh dipakai di slip gaji/pembukuan

Kalau konteks Anda payroll/pembukuan, pastikan struktur datanya rapi dulu. Anda bisa pakai terbilang di bagian output (slip/kwitansi), bukan di tabel transaksi mentah. Untuk struktur dasar yang rapi, lihat Cara Membuat Pembukuan Keuangan di Excel untuk UMKM Pemula (Template & Contoh Tabel).

FAQ rumus terbilang Excel

1. Apakah rumus terbilang ini bisa dipakai di semua Excel?

Bisa dipakai di banyak versi Excel Windows yang mendukung VBA, asalkan file disimpan sebagai .xlsm dan macro diizinkan. Jika macro diblokir kebijakan organisasi, Anda perlu izin admin/IT.

2. Kenapa harus .xlsm, bukan .xlsx?

Karena .xlsx tidak menyimpan macro/VBA. Jika Anda simpan ke .xlsx, fungsi terbilang akan hilang.

3. Bagaimana kalau saya ingin “Rupiah” huruf besar semua?

Gunakan =UPPER(TERBILANG_RUPIAH(A2)). Jika ingin kapital di awal kata, coba =PROPER(TERBILANG_RUPIAH(A2)).

4. Apakah bisa menambah teks seperti “Terbilang: …”?

Bisa. Contoh: ="Terbilang: "&TERBILANG_RUPIAH(D5).

5. Apakah bisa dipakai untuk angka desimal?

Bisa dengan opsi sen: =TERBILANG_RUPIAH(A2,TRUE). Jika Anda tidak butuh sen, tetap pakai default (FALSE) agar output fokus “rupiah” saja.

6. Apakah terbilang ini aman dipakai untuk transaksi?

Secara praktik, terbilang membantu memperjelas nominal dan mengurangi salah baca nol. Namun, tetap jadikan angka sebagai sumber utama perhitungan (total dihitung dengan rumus angka), sedangkan terbilang sebagai pelengkap dokumen.

Baca juga di Beginisob.com

Comments

Edukasi Terpopuler

Connect With Us

Copyright @ 2023 beginisob.com, All right reserved