Tính doanh thu với công thức mảng

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

nothingtolove140591@yahoo

Thành viên mới
Tham gia
29/8/23
Bài viết
1
Được thích
0
Chào các anh chị!!!
Mong các anh chị giúp em công thức trong file em có đính kèm ạ
(Tính tổng doanh số từng người; biết nếu nhiều người phụ trách 1 đơn vị thì doanh số được chia đều cho người phụ trách công ty đó.)
Em xin cảm ơn ạ!
 

File đính kèm

Chào các anh chị!!!
Mong các anh chị giúp em công thức trong file em có đính kèm ạ
(Tính tổng doanh số từng người; biết nếu nhiều người phụ trách 1 đơn vị thì doanh số được chia đều cho người phụ trách công ty đó.)
Em xin cảm ơn ạ!
Excel 2007 mình chưa nghĩ ra công thức nào. Bạn chạy thử code sau và kiểm tra kết quả xem.
Mã:
Sub GPE()
Dim dic As Object, Lr&, i&, Arr(), a, t
Dim b, Res(1 To 10000, 1 To 2), k
    Set dic = CreateObject("Scripting.Dictionary")
    With ThisWorkbook.Sheets("Sheet1")
        Lr = .Range("C" & Rows.count).End(xlUp).Row
        Arr = .Range("C2:D" & Lr).Value
        For i = 1 To UBound(Arr)
            t = Split(Arr(i, 1), "+"): b = UBound(t)
            For a = LBound(t) To UBound(t)
                If Not dic.exists(t(a)) Then
                    dic.Add (t(a)), Arr(i, 2) / (b + 1)
                Else
                    dic.Item(t(a)) = dic.Item(t(a)) + (CDbl(Arr(i, 2)) / (b + 1))
                End If
            Next a
        Next i
        For Each Key In dic.keys
            k = k + 1
            Res(k, 1) = Key
            Res(k, 2) = Format(dic.Item(Key), "#,##0")
        Next Key
        .Range("G2").Resize(k, 2).Value = Res
    End With
    MsgBox "Done"
    Set dic = Nothing
End Sub
 
Chào các anh chị!!!
Mong các anh chị giúp em công thức trong file em có đính kèm ạ
(Tính tổng doanh số từng người; biết nếu nhiều người phụ trách 1 đơn vị thì doanh số được chia đều cho người phụ trách công ty đó.)
Em xin cảm ơn ạ!
Mã:
D2 =SUMPRODUCT(SUMIFS($D$2:$D$9,$C$2:$C$9,"*"&G2&"*",$D$2:$D$9,$D$2:$D$9)/(LEN($C$2:$C$9)-LEN(SUBSTITUTE($C$2:$C$9,"+",""))+1))
Copy xuống . . .
 
Thêm cách cho bạn tham khảo
Mã:
=SUMPRODUCT(D$2:D$9/MMULT(--ISNUMBER(FIND(TRANSPOSE(G$2:G$4),C$2:C$9)),D$2:D$4^0)*ISNUMBER(FIND(G2,C$2:C$9)))
 
Thêm dữ liệu vào cột C ,D
Click phải vùng xanh lá --> Refresh...
Mã:
let
  Source = Excel.CurrentWorkbook(){[Name = "Data"]}[Content],
  DynamicColumnList = Table.AddColumn(Source, "Custom", each List.Count(Text.PositionOfAny( [Nguoi], {"+"}, Occurrence.All ))+1),
    #"Added Custom" = Table.AddColumn(DynamicColumnList, "Custom.1", each [Doanh]/[Custom]),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Added Custom","Nguoi",Splitter.SplitTextByDelimiter("+"),{"Nguoi.1", "Nguoi.2", "Nguoi.3", "Nguoi.4"}),
    #"Changed Type" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Nguoi.1", type text}, {"Nguoi.2", type text}, {"Nguoi.3", type text}}),
    #"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"Doanh", "Custom"}),
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Removed Columns", {"Custom.1"}, "Attribute", "Value"),
    #"Removed Columns1" = Table.RemoveColumns(#"Unpivoted Other Columns",{"Attribute"}),
    #"Grouped Rows" = Table.Group(#"Removed Columns1", {"Value"}, {{"Tien", each List.Sum([Custom.1]), type number}})
in
  #"Grouped Rows"
 

File đính kèm

Web KT

Bài viết mới nhất

Back
Top Bottom