Dear Karsono, Salah satu caranya, dengan udf berikut :
Public Function Gabung(rData As Range, rKriteria As Range, vSyarat As
Variant, sDelimiter As String) As String
Dim sTemp As String
Dim lTemp As Long
Dim vData As Variant
Dim vKriteria As Variant
If rData.Rows.Count = 1 Then
vData = Application.Transpose(rData)
End If
If rKriteria.Rows.Count = 1 Then
vKriteria = Application.Transpose(rKriteria)
End If
sTemp = vbNullString
For lTemp = 1 To UBound(vKriteria)
If vKriteria(lTemp, 1) = vSyarat Then
sTemp = sTemp & vData(lTemp, 1) & sDelimiter
End If
Next lTemp
If LenB(sTemp) = 0 Then
sTemp = vbNullString
Else
sTemp = Left(sTemp, Len(sTemp) - Len(sDelimiter))
End If
Gabung = sTemp
End Function
dan pada cell hasil, gunakan =Gabung(range_data, range_kriteria, syarat,
delimiter)
range_data adalah baris data yang akan di concatenate (dalam hal ini, header
tabel)
range_kriteria adalah baris data kriteria
syarat adalah nilai yang akan dibandingkan terhadap range_kriteria
delimiter dalam string (diapit oleh karakter ")
file terlampir
kid.
2009/2/25 Karsono - <[email protected]>
> Dear master excel, mohon bantuannya nich, aku mo melakukan penggabungan
> atau biasa disebut concatenate dengan kondisi tertentu, dimana datanya
> berdasarkan dari range A2:E1, dengan kondisi apabila di baris 3 ada angka 1,
> maka data di baris kedua akan di gabung dalam satu sel, sedangkan yang
> kosong di cuekin aja... rada bingung ya... klo lebih jelasnya di attach
> ya...
>
> permasalahan ini apabila kolomnya cuman 10 atau 20 bisa di pake kondisi
> if... tetapi apabila kolomnya ratusan jatahnya if dah pasti abis.
>
> aku pernah pake rumus aplikasi Add In "MCONCAT", cuman terkadang suka error
> sendiri... heran aku sampe'an...
>
> jadi please yach dear master excel... mohon bantuannya ... terima kasih
> buanyakk....
>
> .
>
>
>
re-gabung_cell.xlsm
Description: Binary data

