返回列表 上一主題 發帖

[發問] 求助陣列問題

回復 6# K0l1CHEN6

在Excel Home已發問好幾通, 無人回應,
應是沒人懂意思,

有數量欄, 所以"單價"依比率扣是不符合邏輯的,
參考檔:
test1-1.rar (11.31 KB)

TOP

Sub TEST_A01()
Dim Arr, xD, i&, j%, N&, T$, U&
Set xD = CreateObject("Scripting.Dictionary")
Sheets("工作表2").UsedRange.EntireRow.Delete
Arr = Range([工作表1!I1], [工作表1!A1].Cells(Rows.Count, 1).End(xlUp))
For i = 2 To UBound(Arr)
    T = Arr(i, 2) & "|"
    If Arr(i, 4) = "組合折扣" Then T = T & "S"
    For j = 6 To 9:  xD(T & j) = xD(T & j) + Arr(i, j):  Next
Next i
'-----------------------------------
For i = 2 To UBound(Arr)
    If Arr(i, 4) = "組合折扣" Then GoTo i01
    T = Arr(i, 2) & "|"
    N = N + 1
    For j = 1 To 5: Arr(N + 1, j) = Arr(i, j): Next
    For j = 6 To 9
        Arr(N + 1, j) = Arr(i, j) + Arr(i, j) * (xD(T & "S" & j) / xD(T & j))
    Next j
i01: Next i
'-----------------------------------
[工作表2!A1:I1].Resize(N + 1) = Arr
End Sub

test1-A01.rar (16.61 KB)

小數不進位, 若要進位, 可能其加總後有因進1或退1所產生的誤差


'=====================================

TOP

回復 11# K0l1CHEN6


組別編號 654855
654855| > 主要的關鍵字---J=6 TO 9--- 654855|6 ~ 654855|9 --- 6~9欄各自獨立的加總
654855|S > 組合折扣的前綴關鍵字----654855|S6 ~ 654855|S9 --- 6~9欄組合折扣的金額

字典的KEYS用以上方法, 即可區分各項目的加總金額

TOP

        靜思自在 : 太陽光大、父母恩大、君子量大,小人氣大。
返回列表 上一主題