Hai Virda,

Kasus seperti ini membutuhkan penataan keyword yang dicari mengikuti
prioritas tertentu. Hal ini membutuhkan kemampuan user untuk mendefinisikan
daftar keyword mengikuti urutan (prioritas) tertentu.

Formula dasarnya begini :
1. Untuk keyword dengan prioritas First Match : keyword disusun user
sedemikian rupa agar yang pertama sesuai yang diambil
                 =Index( Data_Yang_diambil , Match( *1* , Index( Search(
"*" & Data_Keyword & "*" , Nilai_Teks ) , 0 ) *, 0* ) )

2. Untuk keyword dengan prioritas Last Match : keyword disusun user
sedemikian rupa agar yang terakhir sesuai yang diambil
                 =Index( Data_Yang_diambil , Match( *2* , Index( Search(
"*" & Data_Keyword & "*" , Nilai_Teks ) , 0 ) *, 1* ) )

Pemanfaatan Index dan Match bisa diganti dengan LookUp jika memperbolehkan
pengambilan nilai yang terakhir ditemukan.
Artinya, pada kasus seperti ini, fungsi LookUp hanya bisa digunakan untuk
keyword prioritas Last Match.
Bunyi formula nomor 2 akan berubah menjadi :
                 =*LookUp(*  *2* , *1 / *Search( "*" & Data_Keyword & "*" ,
Nilai_Teks ) , Data_Yang_diambil  )
Berhubung 1 dibagi nilai berapapun selain 0 akan selalu maksimal 1 karena
Search menghasilkan nilai > 0 jika menemukan teks yang dicari, maka formula
LookUp di atas dapat disederhanakan menjadi :
                 =*LookUp(*  *2* , *1 / *Search(
Data_Keyword          , Nilai_Teks ) , Data_Yang_diambil  )

Dari formula-formula di atas, perlu dipahami bahwa :
Search( "*" & Data_Keyword & "*" , Nilai_Teks )         -> menghasilkan 1
jika ditemukan, dan error value jika TIDAK ditemukan      ::=> Itu
sebabnya, Match *1* untuk First Match dengan fungsi Match opsi *Exact*
*1 / *Search( "*" & Data_Keyword & "*" , Nilai_Teks )    -> menghasilkan 1
jika ditemukan (hasil 1 / 1), dan error value jika tidak ditemukan (hasil 1
/ error value)
*1 / *Search(         Data_Keyword          , Nilai_Teks )   ->
menghasilkan maksimal 1 jika ditemukan (hasil 1 / 1 atau 1 / 5 dsb), dan
error value jika tidak ditemukan (hasil 1 / error value)

Regards,
Kid




2017-09-15 10:32 GMT+07:00 Virdania Ve vvarest...@gmail.com [belajar-excel]
<belajar-excel@yahoogroups.com>:

>
>
> Halo Nando dan Ade
>
> makasih banget buat bantuan jawabannya.
>
> Aku sudah coba pake formula yg disaranin nando yaitu pake
> =LOOKUP(2;1/(SEARCH($I$3:$I$24;C3));$J$3:$J$24)
> tapi, ada hasil yang berbeda antara rumusan tersebut dengan nilai yang
> seharusnya. Sudah aku coba liat kesalahannya dimana, cuma kesusahan karna
> aku kurang familiar dengan rumusan *1/search(i3:i24;c3).*
> File terlampir dengan keterangan "FALSE". Mohon bantuannya lagi yaaa para
> master :)
> Dan sekalian penjelasannya, biar ikutan pinter nih.
>
> Terimakasih.
>
> Salam.
> Virda
>
>
> Pada 13 September 2017 11.54, Virdania Ve <vvarest...@gmail.com> menulis:
>
>> Salam.
>>
>> Dear master excel.
>>
>> Mohon bantuannya dong, rumusan apa yang harus saya pakai jika saya ingin
>> mengelompokkan banyak data ke beberapa grup dengan keyword ada dalam data
>> tersebut (tapi keyword tidak di urutan depan atau belakang).
>> Saya sudah mencoba memakai rumusan search, tapi karna ada banyak grup
>> dengan keyword yang berbeda maka saya menggunakan banyak sekali
>> iferror(iferror(search(xxxxx), dan terasa seperti mengelompokan manual.
>>
>> Tolong solusinya master.
>>
>> (file terlampir)
>>
>> Trimakasih.
>>
>
> 
>

Attachment: re-Ask.xlsx
Description: MS-Excel 2007 spreadsheet

Kirim email ke