Selasa, 15 Februari 2011

Memisahkan Nama Dengan 3 (Tiga) Kata

Menjawab pertanyaan saudara Yoga pada postingan saya yang berjudul "Memisahkan Nama Depan dan Nama Belakang" dan meminta saya untuk dibuatkan rumusnya, maka berikut adalah rumusnya.

Rumus saya buat dalam dua versi:

  1. Mencari karakter spasi (" ") sebagai pemisah di antara ketiga nama (kolom B & C) sedang nama yang terpisah terdapat di kolom D, E, dan F.
  2. Menggabungkan rumus (tanpa kolom B & C)

Lihat ilustrasi berikut:

Versi I:


Rumus:
  • Kolom B: =(FIND(" ",A1,1)+1)
    • Mencari karakter spasi pertama. Spasi ditemukan di karakter ke-8. Plus 1 (+1) artinya mencari karakter untuk nama kedua, yaitu karakter ke 9.
  • Kolom C: =FIND(" ",A1,B1)
    • Mencari karakter spasi kedua. Karakter spasi kedua ditemukan dikarakter ke-14.
  • Kolom D: =LEFT(A1,FIND(" ",A1,1)-1)
    • Mendapatkan nama pertama, yaitu karakter paling kiri sebanyak karakter sebelum (-1) spasi.
  • Kolom E: =MID(A1,FIND(" ",A1,1)+1,(C1-B1))
    • Mendapatkan nama tengah, yaitu dimulai dari karakter di kolom B, sebanyak karakter kolom C minus kolom B. Kolom C minus kolom B akan mendapatkan nilai sebanyak jumlah karakter nama kedua. 
  • Kolom F: =MID(A1,FIND(" ",A1,C1)+1,100)
    • Mendapatkan nama belakang, yaitu dimulai dari karakter di kolom C, asumsi sebanyak 100 karakter.

Versi II


Jika digabung, maka rumusnya akan sebagai berikut:
  • Kolom B: =LEFT(A1,FIND(" ",A1,1)-1)
  • Kolom C: =MID(A1,FIND(" ",A1,1)+1,(FIND(" ",A1,(FIND(" ",A1,1)+1))+1)-(FIND(" ",A1,1)+1)-1)
  • Kolom D: =MID(A1,FIND(" ",A1,(FIND(" ",A1,1)+1))+1,100)


MENGATASI HASIL ERROR (#VALUE)

Ketiga rumus di atas harus berisikan 3 nama seperti "Maulana Malik Ibrahim". Jika namanya hanya "Maulana Malik" atau "Maulana" saja maka hasilnya akan menjadi #VALUE. Untuk mengatasi masalah ini maka rumus harus ditambah dengan rumus ISERROR dan IF.

Syntaxnya seperti ini:
=IF(ISERROR(rumus_awal)=TRUE,rumus_alternatif,rumus_awal)

Artinya: Jika rumus_awal mengasilkan nilai error (TRUE), maka jalankan rumus_alternatif, jika tidak error maka jalankan rumus_awal. Maka rumusnya akan seperti ini:

  • Kolom B: =IF(ISERROR(FIND(" ",A1,1))=TRUE,LEFT(A1,100),LEFT(A1,FIND(" ",A1,1)-1))
  • Kolom C: =IF(ISERROR(FIND(" ",A1,1))=TRUE,"",IF(ISERROR(MID(A1,FIND(" ",A1,1)+1,(FIND(" ",A1,(FIND(" ",A1,1)+1))+1)-(FIND(" ",A1,1)+1)-1))=TRUE,MID(A1,FIND(" ",A1,1)+1,100),MID(A1,FIND(" ",A1,1)+1,(FIND(" ",A1,(FIND(" ",A1,1)+1))+1)-(FIND(" ",A1,1)+1)-1)))
  • Kolom D: =IF(ISERROR(MID(A1,FIND(" ",A1,(FIND(" ",A1,1)+1))+1,100))=TRUE,"",MID(A1,FIND(" ",A1,(FIND(" ",A1,1)+1))+1,100))
Hasilnya memang akan menjadi panjang, tapi dengan rumus ini hasilnya akan menjadi fleksibel yaitu bisa dengan 1 nama, 2 nama, maupun 3 nama. Selamat mencoba!

0 komentar:

Posting Komentar

Backlinks to my website? ping fast  my blog, website, or RSS feed for Free Tips dan Trik Sukses Bisnis OnlineindotradingUAW BMKGNTTfree indotradingcms | indotradingsakpa
Search Engine
www.e-referrer.com