hai pak Pardede, coba bantu dengan UDF (User Defined Function)
scriptnya ditulis dalam sebuah modul dengan scope Public agar dapat dipanggil dari worksheet seperti fungsi Excel lainnya Option Explicit ' =============================================== ' ' UDF SumIfSC = Summary With Special Conditions ' ' Untuk milis belajar-excel ' ' Miss Jan Raisin ' ' Di bawah langit yang sama , 06-Feb-2014 ' ' =============================================== ' Public Function SUMIFSC(sData As String, sDel As String, sDelPart As String, sDelVal As String) As Double Dim sFull As String, sPart As String Dim iDel As Integer, iPart As Integer Dim i As Integer, j As Integer, k As Integer Dim dbVal As Double, dbSum As Double iDel = Len(sData) - Len(Application.WorksheetFunction.Substitute(sData, sDel, "")) sFull = sData For i = 1 To iDel + 1 For j = 1 To Len(sFull) If Mid(sFull, j, 1) <> sDel Then sPart = sPart & Mid(sFull, j, 1) Else sFull = Mid(sFull, j + 1, Len(sFull) - j) Exit For End If Next j iPart = Len(sPart) - Len(Application.WorksheetFunction.Substitute(sPart, sDelPart, "")) + 1 For k = 1 To Len(sPart) If Mid(sPart, k, 1) = sDelVal Then dbVal = CDbl(Mid(sPart, k + 1, Len(sPart) - k)) Exit For End If Next k dbSum = dbSum + (iPart * dbVal) sPart = vbNullString Next i SUMIFSC = dbSum End Function syntaxnya: =SumIfSC( data , delimiter , delimiter_dalam_setiap_bagian , delimiter_nilai ) untuk setiap delimiter harus ditulis di antara tanda kutip dua contoh penggunaan dengan data di cel A1 delimiter adalah spasi, ditulis " " delimiter di dalam setiap bagian adalah titik, ditulis "." delimiter untuk nilai adalah tanda pagar, ditulis "#" formula lengkapnya menjadi =SumIfSC( A1 , " " , "." , "#" ) jika regional setting komputer setempat adalah Indonesian maka ubah seluruh tanda koma yang berwarna merah menjadi titik koma file terlampir, pastikan macro diizinkan bekerja di komputer anda Salam, -Miss Jan Raisin- Pada 6 Februari 2014 13.32, Pukka Hamonangan Pardede <angan_l...@yahoo.co.id > menulis: > > > Dear Bagus dan Mr. Kid > rumus yg terakhir sebenarnya bekerja tapi nampaknya hanya kepada > contoh: 12.22.70.8.115#20 11.23.101.65.9#20 1300#100 (hanya 3 tanda #) > jadi mohon bantuannya sekali lg pak, karena data yg di entri biasanya > berubah ( kadang hanya 1 tanda # dan kadang sampai 30 tanda #. artinya > formula yg kita inginkan akan bekerja pada unlimited tanda #. > > nb: "panjang/pendeknya formula yg dihasilkan tidak menjadi masalah pak" > > mohon bimbingan dan kesabarannya ya pak.. > (angkat saya jadi muridmu) > > > >
MJR - Summary With Special Conditions.xlsm
Description: application/vnd.ms-excel.sheet.macroenabled.12