[Excel] Add-Ins Terbilang XLA (Formula Terbilang)
Dibuat oleh admin pada Sat, 18/03/2023 - 17:42
Formula terbilang adalah formula untuk Microsoft Excel yang berfungsi mengkonversi/merubah angka menjadi kata atau kalimat.
Dengan menggunakan formula terbilang ini, kita dapat merubah angka 1000 menjadi kata "seribu", angka 123 menjadi "seratus dua puluh tiga", ...dsb secara otomatis.
Untuk dapat menggunaka formula ini, terlebih dahulu kita harus menambahkan Add-ins melalui menu File -> Options. Lalu klik menu Add-Ins yang ada di bagian kiri, kemudian klik tombol "Go..." disebelah kanan pilihan Manage Excel Add-ins
Function Ratusan(cData As String) As String
Dim DataDepan, nLenData, nCount As Integer
Dim SisaData, cHuruf As String
Dim Satuan, Imbuhan As Variant
Satuan = Array(" nol", " satu", " dua", " tiga", " empat", " lima", " enam", " tujuh", " delapan", " sembilan")
Imbuhan = Array("", "", " puluh", " ratus")
nLenData = Len(cData)
SisaData = ""
cHuruf = ""
For nCount = nLenData To 1 Step -1
DataDepan = Val(Mid(cData, 1, 1))
SisaData = Mid(cData, 2, Len(cData))
If Not (DataDepan = 0) Then
If ((nCount = 2) And (CInt(Val(cData)) > 10) And (CInt(Val(cData)) < 20)) Then
cHuruf = cHuruf + IIf(CInt(Val(SisaData)) = 1, " se", Satuan(CInt(Val(SisaData))))
cHuruf = cHuruf + IIf(CInt(Val(SisaData)) = 1, "", " ") + "belas"
GoTo Keluar
Else
cHuruf = cHuruf + IIf((DataDepan = 1) And (Not (nCount = 1)), " se", Satuan(DataDepan)):
cHuruf = cHuruf + IIf((DataDepan = 1) And (Not (nCount = 1)), Trim(Imbuhan(nCount)), Imbuhan(nCount))
End If
End If
cData = SisaData
Next
Keluar:
Ratusan = cHuruf
End Function
Function Isi(cAngka As String) As String
Dim nCount, nLenData As Integer
Dim cHuruf, cData As String
Dim Akhiran As Variant
Akhiran = Array("", "", " ribu", " juta", " milyar", " triliun", " biliun", " ziliun")
cHuruf = ""
cData = ""
nLenData = Fix(Len(cAngka) / 3) + IIf((Len(cAngka) Mod 3) = 0, 0, 1)
For nCount = nLenData To 1 Step -1
cData = Mid(cAngka, 1, IIf(Len(cAngka) - (3 * (nCount - 1)) > 0, Len(cAngka) - (3 * (nCount - 1)), 1))
If Not (Fix(Val(cData)) = 0) Then
cHuruf = cHuruf + IIf((nCount = 2) And (CInt(Val(cData)) = 1), " se", Ratusan(cData))
cHuruf = cHuruf + IIf((nCount = 2) And (CInt(Val(cData)) = 1), Trim(Akhiran(nCount)), Akhiran(nCount))
cHuruf = Replace(cHuruf, "se ribu", "seribu")
End If
cAngka = Right(cAngka, 3 * (nCount - 1))
Next
Isi = cHuruf
End Function
Function Terbilang(nNumber As Double) As String
Dim cHuruf, cNumber, cFullNumber, cDecsNumber As String
Dim nPosDecs As Integer
If VarType(nNumber) = 2 Then
nNumber = CDbl(CStr(Fix(nNumber)) + Application.DecimalSeparator + "0")
Else
nNumber = nNumber
End If
cHuruf = ""
If nNumber < 0 Then
cHuruf = " minus"
cNumber = Trim(CStr((nNumber * -1)))
Else
cNumber = Trim(CStr(nNumber))
End If
nPosDecs = InStr(cNumber, Application.DecimalSeparator)
cFullNumber = Mid(cNumber, 1, IIf(nPosDecs = 0, Len(cNumber), nPosDecs - 1))
cDecsNumber = Right(cNumber, Len(cNumber) - IIf(nPosDecs = 0, Len(cNumber), nPosDecs))
If Not (Fix(Val(cFullNumber)) = 0) Then
cHuruf = cHuruf + Isi(CStr(cFullNumber))
Else
cHuruf = " nol"
End If
If Not (cDecsNumber = "") Then
If Not (Fix(Val(cDecsNumber)) = 0) Then
cHuruf = cHuruf + " koma" + Isi(cDecsNumber)
End If
End If
Terbilang = cHuruf
End Function
Untuk mendownload file Add-Ins ini, silahkan klik Terbilang.XLA