Lớn hơn hoặc bằng giá trị cột week là sao? cái nào lớn hơn hoặc bằng giá trị đó?Chào mọi người,
Hiện tại em có bảng dự liệu tính toán khoảng > 10k dòng. Nếu tính toán bằng hàm Sumifs bảng tính bị chậm.
Nhờ anh Chị hỗ trợ giúp em code VBA ạ.
Vd bên dưới: Em muốn tính tổng cột H với điều kiện theo từng Item, và >= giá trị cột Week
Em cảm ơn
View attachment 251449
dk > 1 giá trị nghĩa là nhiều hơn 1 điều kiện, mỗi điều kiện là 1 giá trị để so sánhLớn hơn hoặc bằng giá trị cột week là sao? cái nào lớn hơn hoặc bằng giá trị đó?
và cái này tính tổng nhiều điều kiện thì cái dk>1 giá trị là điều kiện gì xuất hiện nhiều hơn 1 lần?
Dạ, em xl vì đã diễn đạt không rõ ý ạ. Em muốn tính tổng của cột FC, theo điều kiện là Item ở cột A, và lớn hơn >= cột Week và hàng tương ứng hàng tính tổng. Em ví dụ nếu tính hàm Sumifs sẽ công thức thế này ạ. Tổng =SUMIFS([FC],[Item],[@Item],[Week],">="&[@Week])dk > 1 giá trị nghĩa là nhiều hơn 1 điều kiện, mỗi điều kiện là 1 giá trị để so sánh
lớn hơn hoặc bằng giá trị cột week nghĩa là chỉ tính cho những dòng có week > dk
Cái cần phải hỏi lại tác giả là cộng cột nào (chả thấy cột nào có số trừ cột FC, mà FC nghĩa là gì?), kết quả để ở đâu (trong file chả có cột H và nếu để ở H thì quá vô nghĩa),
Dạ, em xl vì đã diễn đạt không rõ ý ạ. Em muốn tính tổng của cột FC, theo điều kiện là Item ở cột A, và lớn hơn >= cột Week và hàng tương ứng hàng tính tổng. Em ví dụ nếu tính hàm Sumifs sẽ công thức thế này ạ. Tổng =SUMIFS([FC],[Item],[@Item],[Week],">="&[@Week])
View attachment 251462
Option Explicit
Sub Tinh_Tong()
Dim DL(), KQ(), j As Long, I As Long
Dim DK1 As String, DK2 As Double
With Sheet1
DL = .Range("A2", .Range("A" & Rows.Count).End(xlUp)).Resize(, 7).Value
ReDim KQ(1 To UBound(DL), 1 To 1)
For I = 1 To UBound(DL)
DK1 = DL(I, 1)
DK2 = DL(I, 4)
For j = 1 To UBound(DL)
If DL(j, 1) = DK1 And DL(j, 4) >= DK2 Then
KQ(I, 1) = KQ(I, 1) + DL(j, 6)
End If
Next
Next
.Range("H2").Resize(UBound(DL), 1) = KQ
End With
End Sub
Lúc đầu em tưởng là cho một điều kiện cụ thể rồi cột week cứ lớn hơn hoặc bằng giá trị đó thì cộng theo item .giờ có kết quả mô tả mới biết là mỗi dòng là một điều kiệndk > 1 giá trị nghĩa là nhiều hơn 1 điều kiện, mỗi điều kiện là 1 giá trị để so sánh
lớn hơn hoặc bằng giá trị cột week nghĩa là chỉ tính cho những dòng có week > dk
Cái cần phải hỏi lại tác giả là cộng cột nào (chả thấy cột nào có số trừ cột FC, mà FC nghĩa là gì?), kết quả để ở đâu (trong file chả có cột H và nếu để ở H thì quá vô nghĩa),
Dạ, đây em dùng đưa vào Data để tính theo kiểu khấu hao sản phẩm khi tuần nào hết hàng để đặt hàng ạ. a hướng dẫn code VBA giúp e ạ.Công thức để ở cột H đúng là vô nghĩa mà. Cái kết quả này không thể gọi là 1 báo cáo được, chỉ có thể gọi là dữ liệu thô thôi, tính trên đó không có ý nghĩa gì cả. Bạn phải thiết kế 1 báo cáo ít dòng hơn và lọc động hay cách nào đó để xem kết quả.
Ghi chú: đơn vị tính là Unit Of Measure, viết tắt là UOM chứ không phải OUM đâu nha
cảm ơn a ạBạn thử codeMã:Option Explicit Sub Tinh_Tong() Dim DL(), KQ(), j As Long, I As Long Dim DK1 As String, DK2 As Double With Sheet1 DL = .Range("A2", .Range("A" & Rows.Count).End(xlUp)).Resize(, 7).Value ReDim KQ(1 To UBound(DL), 1 To 1) For I = 1 To UBound(DL) DK1 = DL(I, 1) DK2 = DL(I, 4) For j = 1 To UBound(DL) If DL(j, 1) = DK1 And DL(j, 4) >= DK2 Then KQ(I, 1) = KQ(I, 1) + DL(j, 6) End If Next Next .Range("H2").Resize(UBound(DL), 1) = KQ End With End Sub
Bài đã được tự động gộp:
Lúc đầu em tưởng là cho một điều kiện cụ thể rồi cột week cứ lớn hơn hoặc bằng giá trị đó thì cộng theo item .giờ có kết quả mô tả mới biết là mỗi dòng là một điều kiện
Vậy UoM của iPhone là Female?...
Ghi chú: đơn vị tính là Unit Of Measure, viết tắt là UOM chứ không phải OUM đâu nha
Nói chung chữ viết tắt tiếng Anh của bài này tôi không hiểu (bên trên đã nói không biết FC là gì). Thấy Kg thì hiểu là kilogram, bèn liên tưởng UOM. Female là trừu tượng quá sức tưởng tượng. Không "contacting" (beverage) nổi tới iphoneVậy UoM của iPhone là Female?
Theo như cách tính ở bài #7 thì FC là fulfillment centre. Nó là nơi hàng chuyển vào để gởi cho khách hàng.Nói chung chữ viết tắt tiếng Anh của bài này tôi không hiểu (bên trên đã nói không biết FC là gì).
Mới đầu tôi cho rằng bảng này là kết quả bán theo tuần (quá khứ), cần thống kê theo từng thời kỳ nên mới bảo ghi thẳng vào cột H là vô nghĩa.Tôi cũng không hiểu thớt muốn tính cái gì với mấy cái weeks như trong hình.