Kamis, 03 Mei 2012

Latihan Menggunakan Text Function

Wah, ternyata sudah lama sekali blog ini tidak di-update. Berbagai kesibukan yang tak kunjung berhenti memaksa saya untuk meng-alpakan sementara perhatian untuk update status. (Alasannya sibuk, padahal kenyataannya kehabisan ide, hehehe). Baiklah, postingan kali ini bukan berupa tutorial atau ngebahas program aplikasi, namun kita mencoba berlatih menggunakan formula untuk menyelesaikan masalah di Excel.



Beberapa waktu yang lalu, saya diminta untuk membantu memotong-motong sebuah data yang diimport dari PDF ke Excel seperti berikut:




Karena datanya sampai ribuan, maka kalau dikerjakan secara manual tentu butuh waktu yang cukup lama. Permasalahannya adalah bagaimana mengambil NAMA dari kolom B, TEMPAT LAHIR, dan TAHUN LAHIR. Dengan catatan, semua rumus tidak menggunakan kolom bantuan, dan masing-masing rumus hanya tergantung ke kolom B saja. Artinya rumus pada masing-masing kolom hanya boleh mengambil refensi dari kolom B saja. 
Contoh data di atas sudah mewakili karakteristik dari semua data. Sehingga jika sebuah rumus sudah bisa digunakan untuk data di atas, berarti rumus sudah dianggap berhasil.
Tempat lahir hanya satu kata saja. Sehingga hasil yang diinginkan adalah sebagai berikut:






Oke, teman-teman. Mari bantu saya memecahkan masalah ini dengan menuliskan jawaban di komentar di bawah ini.
File bisa dilihat di sini



Artikel Terkait:

7 komentar:

sekhu akhmad mengatakan...

kalo diutak-atik pake RIGHT atau LEFT bisa ndak pak?

Udin mengatakan...

Bisa

Dhimas bayu mengatakan...

rumus nama =MID(B3,1,FIND("*",SUBSTITUTE(MID(B3,1,FIND(",",B3,1))," ","*",LEN(MID(B3,1,FIND(",",B3,1)))-LEN(SUBSTITUTE(MID(B3,1,FIND(",",B3,1))," ","")))))

rumus tempat lahir =MID(B3,FIND("*",SUBSTITUTE(MID(B3,1,FIND(",",B3,1))," ","*",LEN(MID(B3,1,FIND(",",B3,1)))-LEN(SUBSTITUTE(MID(B3,1,FIND(",",B3,1))," ","")))),FIND(",",B3,1)-FIND("*",SUBSTITUTE(MID(B3,1,FIND(",",B3,1))," ","*",LEN(MID(B3,1,FIND(",",B3,1)))-LEN(SUBSTITUTE(MID(B3,1,FIND(",",B3,1))," ","")))))

rumus tahun lahir=MID(SUBSTITUTE(MID(B3,FIND(",",B3,1),LEN(B3)),"-","*",LEN(MID(B3,FIND(",",B3,1),LEN(B3)))-LEN(SUBSTITUTE(MID(B3,FIND(",",B3,1),LEN(B3)),"-",""))),FIND("*",SUBSTITUTE(MID(B3,FIND(",",B3,1),LEN(B3)),"-","*",LEN(MID(B3,FIND(",",B3,1),LEN(B3)))-LEN(SUBSTITUTE(MID(B3,FIND(",",B3,1),LEN(B3)),"-",""))))+1,4)

kalo ada rumus yg lbih singkat mohon infonya ya pak.. :D

Udin Haeruddin mengatakan...

Mantap pak Dhimas Bayu.
Telah dicoba dan berhasil.
Mungkin ada pembaca lain yang bisa memberikan solusi dengan pendekatan yang berbeda.

Catatan: Panjang karakter Rumus dari pak Dhimas, untuk Nama adalah 143, untuk Tempat lahir adalah 290 karakter dan untuk Tahun adalah 302 karakter.

Kayaknya masih bisa dibuat lebih pendek lagi.

TEMPAT LAHIR, selalu diakhiri dengan tanda koma (,) dan hanya satu kata
TAHUN LAHIR selalu berada di belakang Tempat lahir, dan tidak ada karakter koma selain setelah tempat lahir

Untuk nama semua huruf sebelum TEMPAT LAHIR.

So, sepertinya masih banyak kemungkinan rumus lain yang mungkin juga lebih pendek.

Salut untuk pak Dhimas Bayu

Udin Haeruddin mengatakan...

Untuk Tahun lahir, sebenarnya sangat sederhana. Karena hanya berpatokan pada tanda baca koma (,). Sehingga rumusnya menjadi:
=MID(B3,Find(",",B3)+8,4)

kalau mau jadi format angka :
=0+MID(B3,FIND(",",B3)+8,4)

Dhimas bayu mengatakan...

sebenarnya saya pake tabel pembantu pak buat bikin rumus itu, makanya hasilnya panjang bgt..
klo ada rumus yg lebih pendek n lbih simpel mohon infonya pak..
:D

den shoim mengatakan...

saya bukan mau menjawab, baru kelas menyimak pak.
kalo semisal tempat lahir itu "Gunung Kidul" atau "Kulon Progo" nantinya rumusnya berubahkah?