Thử hàm này xem saoNhờ Anh/Chị áp công thức tính tổng hàng đã giao trong tháng ( tháng thay đổi linh hoạt theo ô trên) vào vba hoặc code, theo dữ liệu xuất hàng sheet data.
D3=SUMPRODUCT((MONTH(Data!$B$2:$B$10)=$D$1)*(RIGHT(Data!$C$2:$C$10,2)=B3)*Data!$F$2:$F$10)
Có cách nào sử dụng vba ko B..dữ liệu mình dùng thực tế lớn hơn nhiều nên sử dụng công thức không tiện lắm.Thử hàm này xem sao
Mã:D3=SUMPRODUCT((MONTH(Data!$B$2:$B$10)=$D$1)*(RIGHT(Data!$C$2:$C$10,2)=B3)*Data!$F$2:$F$10)
Nhiều cỡ bao nhiêu lận bạn ?Có cách nào sử dụng vba ko B..dữ liệu mình dùng thực tế lớn hơn nhiều nên sử dụng công thức không tiện lắm.
Cảm ơn !
Bạn chạy code này xemCó cách nào sử dụng vba ko B..dữ liệu mình dùng thực tế lớn hơn nhiều nên sử dụng công thức không tiện lắm.
Cảm ơn !
Sub TH_TG_LH()
Dim SArr As Variant
Dim Res As Variant
Dim i As Long, k As Integer
SArr = Sheet1.Range("a1").CurrentRegion
Res = Sheet2.Range("a2").CurrentRegion
k = Sheet2.Range("d1")
With CreateObject("Scripting.Dictionary")
For i = 2 To UBound(SArr)
If Month(SArr(i, 2)) = k Then
.Item(SArr(i, 3)) = .Item(SArr(i, 3)) + SArr(i, 6)
Else
.Item(SArr(i, 3)) = .Item(SArr(i, 3)) + 0
End If
Next i
For i = 3 To UBound(Res)
If .exists(Res(i, 1)) Then
Res(i, 4) = .Item(Res(i, 1))
Else
Res(i, 4) = 0
End If
Next i
End With
With Sheet2.Range("a1")
.Resize(UBound(Res), UBound(Res, 2)) = Res
End With
End Sub
Anh ơi,thừa giấy A2 mà thiếu giấy A5Bạn chạy code này xem
Mã:Sub TH_TG_LH() Dim SArr As Variant Dim Res As Variant Dim i As Long, k As Integer SArr = Sheet1.Range("a1").CurrentRegion Res = Sheet2.Range("a2").CurrentRegion k = Sheet2.Range("d1") With CreateObject("Scripting.Dictionary") For i = 2 To UBound(SArr) If Month(SArr(i, 2)) = k Then .Item(SArr(i, 3)) = .Item(SArr(i, 3)) + SArr(i, 6) Else .Item(SArr(i, 3)) = .Item(SArr(i, 3)) + 0 End If Next i For i = 3 To UBound(Res) If .exists(Res(i, 1)) Then Res(i, 4) = .Item(Res(i, 1)) Else Res(i, 4) = 0 End If Next i End With With Sheet2.Range("a1") .Resize(UBound(Res), UBound(Res, 2)) = Res End With End Sub
Lỗi nhà xuất bản đó bạn, file đính kèm bài 1 nó vậy đóAnh ơi,thừa giấy A2 mà thiếu giấy A5
Mai mốt cắc cớ đòi tổng hợp theo tuần hoặc theo quý nữa ....thì
Nhờ Anh/Chị áp công thức tính tổng hàng đã giao trong tháng ( tháng thay đổi linh hoạt theo ô trên) vào vba hoặc code, theo dữ liệu xuất hàng sheet data.
Mới khoảng hơn tiếng đồng hồ thôi.Có cách nào sử dụng vba ko B..dữ liệu mình dùng thực tế lớn hơn nhiều nên sử dụng công thức không tiện lắm.
Cảm ơn !
Voi và hai Bà Trưng là như vậy? Forum này miết làm mọi người mới/ hỏi lười đi - thế này CM 4.0 có thành hiện thực như các cụ mong muốnMới khoảng hơn tiếng đồng hồ thôi.
Ôi đời bể dâu...
Bạn nhận định chỗ này là chưa đúng "Forum này miết làm mọi người mới/ hỏi lười đi"Voi và hai Bà Trưng là như vậy? Forum này miết làm mọi người mới/ hỏi lười đi - thế này CM 4.0 có thành hiện thực như các cụ mong muốn
Bạn hoặc bác nào có thể giải thích dùm khúc này được không? Mình chưa hiểu khúc nàyWith Sheet2.Range("a1") .Resize(UBound(Res), UBound(Res, 2)) = Res End With
Bạn hoặc bác nào có thể giải thích dùm khúc này được không? Mình chưa hiểu khúc này
Cảm ơn!
With Sheet2.Range("a1")'Với range đang xét là a1 của sheet2'
.Resize(UBound(Res), UBound(Res, 2)) = Res
'Thay đổi kích thước của range("a1") thành UBound(Res) dòng, UBound(Res,2) cột
'Vùng mới được gán = mảng Res'
End With'Kết thúc làm việc với a1 sheet2
Cảm ơn bạn!Mã:With Sheet2.Range("a1")'Với range đang xét là a1 của sheet2' .Resize(UBound(Res), UBound(Res, 2)) = Res 'Thay đổi kích thước của range("a1") thành UBound(Res) dòng, UBound(Res,2) cột 'Vùng mới được gán = mảng Res' End With'Kết thúc làm việc với a1 sheet2
Chiều người hỏi, đưa món ăn sẵn chỉ việc đưa vào miệng rồi ra kết quả đi - thì họ không lười đi mới lạ, sau gặp gì là đưa lên Forum là xongBạn nhận định chỗ này là chưa đúng "Forum này miết làm mọi người mới/ hỏi lười đi"
Chủ Topic không nhất quán, khi hỏi thì cũng nên suy nghĩ kỹ càng trước khi quyết định cần làm cái gì và nên cụ thể, rõ ràng.
- Lúc nhờ giúp hàm (bài 1).
- Lúc lại muốn cái khác không muốn dùng hàm (bài 3)
Ít nhất là họ cũng lười xoá bài. Nó còn đó cho người khác học hỏi.Chiều người hỏi, đưa món ăn sẵn chỉ việc đưa vào miệng rồi ra kết quả đi - thì họ không lười đi mới lạ, sau gặp gì là đưa lên Forum là xong