VBA tìm giá trị theo điều kiện (3 người xem)

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

eagle12

Thành viên mới
Tham gia
18/12/13
Bài viết
26
Được thích
5
Chào các bác, xin nhờ anh chị về code VBA lấy giá trị theo điều kiện thay cho hàm sumifs cho bảng như sau ah

VD em có bảng dữ liệu sắp xếp "B3:Exxx",
Bảng báo cáo xoay sang chiều ngang với 2 dải điều kiên là cột H4:Hxxx và hàng I3:Uxxx

Em đang sử dụng hàm sumifs để lấy được số tiền của từng mã theo ngày

Xin nhờ anh chị code VBA lấy giá trị đổ vào từ ô I4:U thay cho hàm sumifs

1762411255538.png
 

File đính kèm

Trong khi chờ VBA Code, tham khảo kết quả M Code:
Mã:
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Date Text", type date}, {"Mã", type text}, {"So tien", Currency.Type}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"Date Text", "Mã"}, {{"Count", each List.Sum([So tien]), Currency.Type }}),
    #"Pivoted Column" = Table.Pivot(Table.TransformColumnTypes(#"Grouped Rows", {{"Date Text", type text}}, "vi-VN"), List.Distinct(Table.TransformColumnTypes(#"Grouped Rows", {{"Date Text", type text}}, "vi-VN")[#"Date Text"]), "Date Text", "Count", List.Sum)
in
    #"Pivoted Column"
 

File đính kèm

  • Untitled.png
    Untitled.png
    378.7 KB · Đọc: 4
Upvote 0
Một trong những phương thức rùa bò:
PHP:
Sub TongHopMa_Ngay()
 Dim Dg As Long, Cot As Integer, Rws As Long
 Dim WF As Object, CSDL As Range, Cls As Range
 Dim Tmr As Double
 
 Tmr = Time()
 Rws = [C3].CurrentRegion.Rows.Count
 Set WF = Application.WorksheetFunction
 Set CSDL = [C3].Resize(Rws, 3)
 [I20].Value = [C3].Value:          [J20].Value = [D3].Value
 For Each Cls In Range([I3], [I3].End(xlToRight))
    [I21].Value = Cls.Value
    For Dg = 4 To 17
        [j21].Value = Cells(Dg, "H").Value
        Cells(Dg, Cls.Column).Value = WF.DSum(CSDL, [E3], [I20:J21])
    Next Dg
 Next Cls
 MsgBox Timer() - Tmr
End Sub
 
Upvote 0

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

Back
Top Bottom