Pak Danang Yth, Jika dilihat pada contoh datanya (maaf hanya bisa dengan GDocs) ada baris data yang perlu menjadi perhatian, karena agak berbeda strukturnya, yaitu seperti baris 12 dst : (misal untuk baris 12) Kolom A Kolom B BOO012WM1_CIGOMBONGMW 17*;*18*;*19*;*20*:*22
Jika : 1. Penggunaan *karakter titik dua tersebut adalah sebuah kesalahan saja*, sedangkan yang* data asli selalu konsisten titik koma*, coba formula : =Len( b12 ) - Len( Substitute( b12 , "*;*" , "" ) ) + 1 2. Penggunaan *karakter titik dua tersebut setara maknanya* dengan titik koma (karena hasil yang diinginkan tetap bernilai 5), coba formula : =Len( b12 ) - Len( Substitute( *Substitute( b12 , ":" , "" )* , " *;*" , "" ) ) + 1 Nah, kalau ternyata penggunaan* karakter titik dua tersebut artinya sampai dengan* baru rada mumet. Dengan array formula yang agak panjang sepertinya bisa. Jika ternyata nested formulanya lebih dari 7 level, maka di excel 2003 kebawah membutuhkan kolom bantu atau named range juga bisa. Moga-moga ada BeExceler yang bersedia memberi solusinya. Kalau dengan UDF, kira-kira bunyinya seperti ini : [letakkan di sebuah module] (tapi dites dulu, sapa tahu ada yang gak pas) public function CountTextList( sData as string ) as long dim lRes as long, lTitikDua as long dim sTmp() as string dim vTmp as variant stmp=split( sdata, ";" ) for each vtmp in stmp() ltitikdua=instr(vtmp,":") select case ltitikdua case 0, 1 , len(vtmp) lres=lres+1 case else lres=lres+1+ abs( left$(vtmp,ltitikdua-1) - mid$(vtmp, ltitikdua+1) ) end select next vtmp counttextlist=lres end function cara pakai di worksheet : =counttextlist( b12 ) Wassalam. Kid. 2011/11/4 Danang Yuliyanto <d_yuliya...@yahoo.com> > ** > > > Dear All, > > Mohon pencerahannya, kira2 untuk mendapatkan data yang diinginkan > mengunakan fungsi apa? > Terlampir > > Terimakasih, > > ***Danang > * > > > >