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 <[email protected]
> 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

