26 April 2012

Cara Sederhana Menterjemahkan angka ke huruf di MS Excel

Baru saja saya menyelesaikan sebuah tantangan dalam pekerjaan yang saya hadapi. Saya diminta oleh sekolah dimana saya bekerja untuk membuat daftar nilai ujian praktik untuk masing-masing siswa. Dalam daftar tersebut di samping memuat bio data siswa peserta ujian juga memuat nilai Ujian Praktik dalam bentuk angka dan huruf. Misalnya seorang siswa mendapat nilai Ujian Praktik Agama 8,50 maka di sebuah kolom khusus harus ditulis “delapan, lima nol”.
Daftar nilai itu harus dalam format seperti layaknya ijazah atau sertifikat yang pada sisi halamannya diberi border. Maka daftar itu saya buat dengan mail merge di MS word yang datanya saya ambil dari MS Excel. Dengan begitu saya bisa mencetaknya sebagaimana mencetak surat massal.

Pada kesempatan ini saya ingin berbagi bagaimana cara menterjemahkan format angka ke huruf secara sederhana dengan MS Excel. Saya katakan sederhana karena cara ini hanya dengan memadukan beberapa fungsi Excel dan terbatas pada angka desimal dengan 2 angka di belakang koma dari 1,00 sampai dengan 10,00. Para pakar Excel saya percaya mempunyai cara yang lebih canggih untuk menterjemahkan angka ke huruf yang berlaku untuk semua angka pecahan. Kalau tingkat kepakaran saya sih belum sampai. Mesti belajar lagi. Namun mudah-mudahan yang sederhana ini bisa membantu siapa saja yang membutuhkan, terutama teman-teman operator di sekolah-sekolah (ngeles.com).
Sementara itu soal bagaimana memadukan data excel untuk dimerge dengan word agar formatnya tidak kacau beliau, anda bisa pelajari di link ini lah.

Dalam hal ini cara yang saya gunakan adalah dengan memadukan beberapa fungsi seperti vlookup, left, mid, dan text. Untuk itu diperlukan tabel bantu untuk mendefinisikan masing-masing angka dalam masing-masing bilangan, kemudian memilah masing-masing angka untuk diterjemahkan.

Hal yang harus diperhatikan, angka nol di belakang koma bila tidak diikuti angka yang lebih besar di Excel dianggap tidak ada. Misalnya pada bilangan 8,50 bila angka 0 akan kita ambil dengan fungsi mid maka hasilnya kosong dan itu tidak sama dengan nol. Alhasil ketika kita kombinasikan dengan fungsi vlookup maka akan error.


(klik gambar untuk melihat lebih jelas)

Maka yang harus dilakukan adalah membuat masing-masing angka itu menjadi teks dengan fungsi text, baru kemudian kita ambil dengan fungsi “mid” agar bisa di lookup. Angka di tabel bantu semuanya juga harus dibuat dalam format teks dengan diawali tanda petik satu (‘) saat mengentrinya.


















Karena bilangan tertinggi adalah 10,00 maka khusus untuk bilangan ini tidak perlu dimasukkan tabel bantu. Cukup dimasukkan dalam sintaks saja.

Berikutnya kita terjemahkan bilangan tadi dengan memadukan fungsi if, vlookup, left, mid, dan text.
Sebagai contoh untuk tabel di atas formula yang saya masukan untuk cell B4 adalah :
=IF(A4=10;"sepuluh, nol nol";VLOOKUP(LEFT(TEXT(A4;"0,00");2);$J$4:$K$13;2)&", "&VLOOKUP(MID(TEXT(A4;"0,00");3;1);$J$4:$K$13;2)&" "&VLOOKUP(MID(TEXT(A4;"0,00");4;1);$J$4:$K$13;2))
selanjutnya tinggal dikopi untuk cell-cell berikutnya. Jadi deh... siap digunakan untuk di-merge di Word.
Semoga bermanfaat.

6 komentar:

senirupasmasa mengatakan...

Artikelnya sangat membantu, terima kasih sudah meberikan pengetahuan kepada saya, semoga bermanfaat

Misbahul Anwar mengatakan...
Komentar ini telah dihapus oleh pengarang.
Ojos Nusa mengatakan...

Kalau nilai max-nya 100 bagaimana?

Misbahul Anwar mengatakan...

=IF(--INT(C5)=0,"Nol ",IF(--(LEFT(TEXT(INT(C5),"000")))=1,"Seratus ",IF(--(LEFT(TEXT(INT(C5),"000")))>1,INDEX(N,--(LEFT(TEXT(INT(C5),"000"))))&"Ratus ","")))&IF(--(MID(TEXT(INT(C5),"000"),2,1))=0,"",IF(--(MID(TEXT(INT(C5),"000"),2,1))=1,CHOOSE((--(RIGHT(TEXT(INT(C5),"0")))=0)*1+((--(RIGHT(TEXT(INT(C5),"0")))=1)*2)+((--(RIGHT(TEXT(INT(C5),"0")))>1)*3),"Sepuluh ","Sebelas ",INDEX(N,--(RIGHT(TEXT(INT(C5),"0"))))&"Belas "),IF(--(MID(TEXT(INT(C5),"000"),2,1))>1,INDEX(N,--(MID(TEXT(INT(C5),"000"),2,1)))&"Puluh ")))&IF(OR(--(MID(TEXT(INT(C5),"000"),2,1))=1,--(RIGHT(TEXT(INT(C5),"0")))=0),"",INDEX(N,--(RIGHT(TEXT(INT(C5),"0")))))&"Koma "&IF(--LEFT(TEXT(MOD(C5,1)*100,"00"))=0,"Nol ",INDEX(N,LEFT(TEXT(MOD(C5,1)*100,"00"))))&IF(--RIGHT(TEXT(MOD(C5,1)*100,"00"))=0,"Nol ",INDEX(N,RIGHT(TEXT(MOD(C5,1)*100,"00"))))

Pro-Syariah mengatakan...
Komentar ini telah dihapus oleh administrator blog.
Langgeng mengatakan...

@ Misbahul Anwar : tatarengkyu

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Bluehost Coupons