Untuk mencari data di sebuah tabel di
dalam worksheet, Excel menyediakan beberapa fungsi. Kita dapat
menggunakan fungsi VLookup, HLookup, atau fungsi Index yang sering kali dikombinasikan dengan
fungsi Match.
Misalnya, Anda memiliki sebuah tabel yang
berisi informasi siswa di sebuah sekolah. Ada 6 kolom di sana. Kolom pertama
berisi NISN, kolom kedua berisi nomor induk, selanjutnya adalah nama,
kemudian tempat lahir, tanggal lahir, dan alamat.
Lalu di sheet lain pada file yang
sama, sel A4 sudah berisi nomor induk salah seorang siswa. Anda ingin mengisi
sel B4 dengan nama siswanya, sel C4 berisi tanggal lahir, dan sel D4 berisi
NISN. Bagaimana caranya? (Perhatikan bahwa Nomor Induk pada tabel pertama tidak
terurut.)
Untuk memudahkan, Anda dapat memberi beberapa
label pada tabel tersebut. Pada sheet pertama, sorotlah range A2:F11,
lalu klik Insert > Name >Define….
Ketikkan “tabel_siswa” (tanpa tanda petik) pada ruas Names in workbook,
lalu klik tombol OK. Dengan demikian, sekarang “tabel_siswa” akan
mengacu pada range A2:F11. Ulangi hal yang sama untuk range B2:F11
(beri nama “data_siswa”), dan “nomor_induk” untuk range B2:B11. Catatan:dari
tiga label yang kita buat, tidak semuanya kita perlukan secara bersamaan.
Tergantung metode mana di bawah ini yang akan Anda pakai.
FUNGSI VLOOKUP, INDEX, DAN MATCH
Kembali ke sheet berikutnya
(gambar kedua), kita akan mengisi nilai di sel B4, C4, dan D4 dengan mengacu
pada data yang telah tersedia di sel A4. Dengan fungsi standar Excel,
setidaknya ada dua cara yang dapat kita gunakan.
Cara pertama adalah dengan menggunakan fungsi VLookup.
Tulislah di sel B4 formula ini: =VLOOKUP(A4,data_siswa,2,FALSE). Argumen FALSE kita pakai karena kolom Nomor Induk tidak
terurut. Sementara itu, nilai sel C4 dapat diisi dengan menulis formula =VLOOKUP(A4,data_siswa,4,FALSE).
Sekarang, bagaimana mengisi sel D4?
Fungsi VLookup tidak dapat melakukan ini karena data acuan kita adalah
kolom Nomor Induk, dan VLookup hanya bisa mengindeks data pada kolom di sebelah
kanan kolom acuan. Padahal data NISN yang kita butuhkan berada di sebelah kiri
kolom acuan kita.
Cara kedua adalah dengan fungsi Index yang
akan kita kombinasikan denganMatch. Di sel B4, Anda bisa menulis ini:=INDEX(tabel_siswa,MATCH(A4,nomor_induk,FALSE),3). Nilai sel C4 adalah=INDEX(tabel_siswa,MATCH(A4,nomor_induk,FALSE),5). Nilai sel D4? Tentu saja ini: =INDEX(tabel_siswa,MATCH(A4,nomor_induk,FALSE),1).
Dengan fungsi Index, Anda
bisa mengisi semua kolom.
MENULIS MAKRO
Anda bisa juga membuat fungsi sendiri dengan
membuat makro. Misalnya, dengan hanya mengetikkan =Siswa(n,m), Anda
dapat memperoleh data yang diinginkan.
Tulislah kode makro berikut ini di bagian Module.
Function Siswa(ByVal NIS, Order)
Check
= WorksheetFunction.CountIf(Range("nomor_induk"), NIS)
If Check = 0 Then
Siswa = "Tidak
ada"
ElseIf Check = 1 Then
With Range("nomor_induk")
Siswa = .Find(What:=NIS, LookIn:=xlValues, LookAt:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Offset(0, Order)
End With
Else: Siswa = "Data lebih dari satu"
End If
End Function
Dengan fungsi yang kita buat ini, kita dapat
mengisi sel B4 dengan=Siswa(A4,1). Sel C4 berisi =Siswa(A4,3), dan
sel D4 berisi =Siswa(A4,-1).
Dari beberapa metode di atas, Anda bisa memilih salah satu
yang sesuai dengan kebutuhan Anda.
Tidak ada komentar:
Posting Komentar