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....
>
> .
>
> 
>

Attachment: re-gabung_cell.xlsm
Description: Binary data

Kirim email ke