phongvutinh
Thành viên chính thức


- Tham gia
- 3/5/09
- Bài viết
- 55
- Được thích
- 0



Có 2 cách làm nhưng không biết có đúng ý của bạn không nữaem hiện đang làm thống kê (cũng mới đi làm thôi), do yêu cầu công việc là nhanh chóng và kịp thời về số liệu. Chưa kịp đi xa, thì đã gặp trục trặc rồi, các bác xem file đính kèm và giúp em hoàn thành sheet bc nhé. Với yêu cầu, khi nhập vào "ca" có thể là a, b, l bên sheet sp, còn để trống có nghĩa là thông tin tổng hợp của cả 3 ca luôn, "từ ngày", "đến ngày" thì trong phạm vi 31 ngày, thì sẽ cho ra thông tin theo các yêu cầu đó
. Mong nhận được nhiều hồi ôm, em cảm ơn.
Em hiện đang làm thống kê (cũng mới đi làm thôi), do yêu cầu công việc là nhanh chóng và kịp thời về số liệu. Chưa kịp đi xa, thì đã gặp trục trặc rồi, các bác xem file đính kèm và giúp em hoàn thành sheet BC nhé. Với yêu cầu, khi nhập vào "Ca" có thể là A, B, L bên sheet SP, còn để trống có nghĩa là thông tin tổng hợp của cả 3 ca luôn, "từ ngày", "đến ngày" thì trong phạm vi 31 ngày, thì sẽ cho ra thông tin theo các yêu cầu đó
. Mong nhận được nhiều hồi ôm, em cảm ơn.
vậy bạn xem file xem đúng ý chưa nhađầu tiên em cảm ơn anh đã trả lời post của em, nhưng mong muốn của em ở bài tập trên là khi mình nhập bằng tay vào ô "ca" (có thể là a, b, l or để trống sẽ là tất cả ba tên a, b, l), và "từ ngày", "đến ngày" thì theo công thức (mà em đang nhờ mọi người giúp), sẽ theo 3 điều kiện trên mà ra kết quả ở sheet bc. Chứ nếu dùng hàm sumif như bài anh giải thì em cũng làm dc rồi. Mong nhân dc câu trả lời hay của mọi người.
vậy bạn xem file xem đúng ý chưa nha
Đầu tiên em cảm ơn anh đã trả lời post của em, nhưng mong muốn của em ở bài tập trên là khi mình nhập bằng tay vào ô "Ca" (có thể là A, B, L or để trống sẽ là tất cả ba tên A, B, L), và "từ ngày", "đến ngày" thì theo công thức (mà em đang nhờ mọi người giúp), sẽ theo 3 điều kiện trên mà ra kết quả ở sheet BC. Chứ nếu dùng hàm sumif như bài anh giải thì em cũng làm dc rồi. Mong nhân dc câu trả lời hay của mọi người.
Option Explicit
Dim jJ As Byte, Dat As Date, Mau As Byte: Const Color_ As Byte = 35
Dim sRng As Range
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [B3]) Is Nothing Then
Dim Sh As Worksheet, Rng As Range
Dim MyAdd As String: Dim Cuoi As Byte
Dat = [b4].Value: Cuoi = [d4].Value - [b4].Value
Set Sh = Sheets("SP"): Set Rng = Sh.Range(Sh.[a6], Sh.[a65500].End(xlUp))
[A10].Resize(31, 41).Clear
[A10].Resize(99).EntireRow.Hidden = False
For jJ = 0 To Cuoi
Set sRng = Rng.Find(Dat + jJ, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then
MyAdd = sRng.Address
Do
If Target.Value = "All" Then
GPE_TongHopSoLieuTheoCaVaNgay (Dat + jJ)
ElseIf sRng.Offset(, 2).Value = [B3].Value Then
GPE_TongHopSoLieuTheoCaVaNgay (Dat + jJ)
End If
Set sRng = Rng.FindNext(sRng)
Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
End If
Next jJ
If Mau > 200 Then Mau = 1
Range([a104], [a104].End(xlUp).Offset(2)).EntireRow.Hidden = True
End If
End Sub
[B]Sub GPE_TongHopSoLieuTheoCaVaNgay(Dat0 As Date)[/B]
With [A105].End(xlUp).Offset(1)
If Weekday(Dat0) = 1 Then
.Interior.ColorIndex = Color_ + (Mau Mod 14)
Mau = Mau + 1
End If
.Value = Dat0
.Offset(, 1).Resize(, 41).Value = sRng.Offset(, 3).Resize(, 41).Value
End With
[B]End Sub[/B]
Mượn File của Bạn dat_butmuc làm theo yêu cầu của tác giả: Ô B6 để trống là cả 3; công thức Sumproduct để "tành bành" trong các ô, Bạn tự "ngâm cứu" nhé.Mình coi fie của bạn gửi rồi, mình rất cám ơn, nhưng có điều hình như công thức không chạy dc. nhập ngày, và ca vào rôi nhưng nó không ra đúng kết quả. Công thức nhiều và mình cũng chưa hiểu lắm vê hàm sungproduct (nghe nói hay lắm) bạn có thể giải thích chó mình về công thức trong bai tập trên dc k?. mình cảm ơn.
Mình quên không để giá trị tuyệt đối ô B3 (= If($b$3="ALL") nên khi bạn copy công thức nó bị chạy vị trí ô.Mình coi fie của bạn gửi rồi, mình rất cám ơn, nhưng có điều hình như công thức không chạy dc. nhập ngày, và ca vào rôi nhưng nó không ra đúng kết quả. Công thức nhiều và mình cũng chưa hiểu lắm vê hàm sungproduct (nghe nói hay lắm) bạn có thể giải thích chó mình về công thức trong bai tập trên dc k?. mình cảm ơn.