Kamis, 10 Desember 2009

Membuat Function dalam Excel

membuat function excel
Function atau formulasi yang ada dalam sofware excel sedemikian banyaknya, dapat melayani berbagai tugas formulasi yang dibutuhkan oleh beberapa bidang sekaligus. Beberapa function sederhana yang sering anda gunakan adalah SUM, AVERAGE, COUNTIF, dan masih banyak lagi. Salah satu yang sudah saya bahas dalam postingan sebelumnya adalah bagaimana menggunakan formula VLOOKUP.



Tapi bagaimana kalau function atau formula yang ada tersebut tidak cukup untuk melayani kebutuhan anda dalam mengolah database, padahal anda harus melakukan suatu perhitungan atau pengolahan database tersebut secara berulang-ulang?

Sudah saatnya anda membuat sendiri function / formula sendiri untuk menghadapi masalah diatas. Formula atau function dalam excel dapat ditulis atau dirancang dengan menggunakan Visual Basic for Application (VBA), atau sering disebut Macro.

Visual Basic? Macro? Widih ga deh, saya ga bisa pemrograman, apalagi visual basic, atau macro ini. Mungkin anda merasa seperti itu, tapi jangan salah ini tidak sesusah yang anda bayangkan ketika mendengar kata visual basic.

VBA tidak serumit Visual Basic yang biasa kita kenal, meskipun memiliki aturan penulisan yang sama. VBA dan VBA Editor sudah teraplikasi dalam software excel, dan tidak butuh compile, karena ketika file excel disimpan, code VBA sudah menyatu dalam file excel itu sendiri. Cukup untuk perkenalan VBA, sekarang mari kita belajar secara bertahap cara membuat function dalam excel.

Contoh function yang kita buat diberinama kapital().Function ini berguna untuk mengubah kata atau kalimat menjadi huruf besar/kapital. Meskipun sebenarnya excel sudah memiliki function built-in untuk tugas seperti ini. Sekarang, mari kita mulai membuat function extract untuk menjalankan tugas tersebut.


Buka aplikasi Excel dan simpan file baru yang masih kosong tersebut dengan nama yang diinginkan, misalnya "F_Kapital.xls". Tekan tombol "Alt+F11" atau pilih menu "Tools" > "Macro" > "Visual Basic Editor". Muncul windows baru yang bernama Microsoft Visual Basic. Dari jendela tersebut pilih menu "Insert" > "Module". Seperti ditunjukkan pada gambar, masukkan kode berikut:

Function kapital(txt)
  dim txt as String
  kapital = UCase(txt)

End Function

Simpan file excel, dan kembali ke jendela aplikasi Excel. Pada cell A1 dari Excel, tuliskan kalimat tersebut "jakarta akhir-akhir ini panas sekali". Pada cell B1 tuliskan formula ini "=kapital(A1)". Seharusnya hasil tampilan dari cell B1 adalah "JAKARTA AKHIR-AKHIR INI PANAS SEKALI".

Sekarang kita bahas function kapital() diatas.

Function kapital(txt)
Format standar dalam menuliskan function, txt ini adalah data/string yang harus diolah dalam function. Bila data yang harus diolah lebih dari satu, format penulisannya bisa diubah menjadi kapiltal(txt1, txt2, txt3).

dim txt as String
Defenisikan terlebih dahulu data txt tersebut sebagai String, tidak terbatas pada string, txt bisa juga dalam bentuk angka Integer atau format yang lain.

kapital = UCase(txt)
Perintah untuk mengubah data txt menjadi huruf kapital.

End Function
Akhir dari function.

Contoh diatas adalah function yang sederhana, untuk contoh yang sedikit lebih rumit, coba buat baru dan gunakan kode ini.

Function extract(txt, n, separator)
jum = 0
temp = ""
txt = txt & separator
For i = 1 To Len(txt)
    If Mid(txt, i, 1) = separator Then
        jum = jum + 1
        If jum = n Then
            extract = temp
            Exit Function
        Else
            temp = ""
        End If
    Else
        temp = temp & Mid(txt, i, 1)
    End If
Next i
extract = ""
End Function

Pada cell A5 tuliskan kalimat ini " Jakarta+Sangat+Panas+Sekali", dan pada cell B5 tuliskan formulanya =extract(A5, 3, "+"). Seharusnya cell B5 akan menghasilkan kata "Panas". Yup, fungsi dari function Extract() ini adalah memecah suatu kalimat berdasarkan karakter tertentu, dalam contoh kalimat dipecah dengan karakter "+", dan diambil pecahan kata yang berada di urutan ke "3".

Nah itu tadi contoh membuat function dalam excel, semoga bisa membantu...
GBKTZVFU58CH

Tidak ada komentar:

Posting Komentar