UDF Terbilang Nilai

Dalam dunia pendidikan, terutama dalam proses penilaian siswa, angka sering kali menjadi representasi dari prestasi atau pencapaian.

Namun, untuk kebutuhan administratif atau laporan tertentu, terkadang angka penilaian perlu diubah menjadi bentuk kata, misalnya nilai “85,35” menjadi “delapan puluh lima koma tiga lima”.

Untuk mempermudah proses tersebut, kita bisa memanfaatkan UDF (User Defined Function) di Excel. UDF ini dapat dirancang khusus untuk mengonversi nilai-nilai penilaian sekolah (yang umumnya tidak lebih dari 100) ke dalam format teks secara otomatis.

Dalam artikel ini, kita akan membahas cara membuat UDF Terbilang Nilai yang dapat mengubah angka penilaian menjadi kata dengan mudah dan efisien.

Sama seperti pembahasan-pembahasan UDF sebelumnya, simpan script dibawah ini kedalam module, jika masih bingung, silahkan baca kembali materi tentang apa itu UDF?

'-----------------------------------------
' Sctipt VBA    : Fungsi Terbilang Nilai
' Author        : https://vba.co.id
'                 Situs belajar VBA No.1
'                 di Indonesia
'
' =TerbilangNilai(Nilai)
'
'-----------------------------------------

Function TerbilangNilai(Angka As Double) As String
    Dim Satuan As Variant, TmpStr As String
    Dim Utama As Long, Desimal As String

    Satuan = Array("", "satu", "dua", "tiga", "empat", "lima", "enam", "tujuh", "delapan", "sembilan", "sepuluh", "sebelas")
   
    Utama = Fix(Angka)
    Desimal = Right(CStr(Format(Angka, "#,###.00")), 2)

    TmpStr = Konversi(Utama, Satuan)

    If Desimal <> "" Then
        TmpStr = TmpStr & " koma"
        For i = 1 To Len(Desimal)
            If Mid(Desimal, i, 1) = "0" Then
                TmpStr = TmpStr & " nol"
            Else
                TmpStr = TmpStr & " " & Satuan(CLng(Mid(Desimal, i, 1)))
            End If
        Next i
    End If
    
    TerbilangNilai = Application.Trim(TmpStr)
End Function
Private Function Konversi(ByVal Angka As Long, Satuan As Variant) As String
    Select Case Angka
        Case Is < 12
            Konversi = Satuan(Angka)
        Case Is < 20
            Konversi = Satuan(Angka - 10) & " belas"
        Case Is < 100
            Konversi = Satuan(Angka \ 10) & " puluh " & Konversi(Angka Mod 10, Satuan)
        Case 100
            Konversi = "seratus"
    End Select
End Function

Untuk penggunan rumus diatas cukup mudah, bisa digunakan sebagaimana rumus Excel pada umumnya.

Gunakan rumus

=TerbilangNilai(CellNilai)

Untuk lebih jelaskan bisa dilihat pada gambar dibawah ini.

Selain itu kamu juga bisa menambahkan Proper, Upper atau Lower jika ingin tampilan terbilang berubah menjadi Hurup kecil atau hurup besar.

Leave a Reply

Your email address will not be published. Required fields are marked *

Chat WhatsApp
WhatsApp