Cái này dùng SUMIF là OK
Mình chỉ đưa dữ liệu VD là ABC vậy thôi chứ dữ liệu như file này thì làm sao mà SUMIF được.Làm sao để cột B và C sau khi gom lại thì được kq như cột E và F.
Dùng Consolidate, 1 phát là có kết quả, xem file :
Mình muốn dữ liệu ở 2 cột B và C thay đổi thì cột E và F cũng thay đổi theo vì vậy mình mới cần dùng hàm.Nếu dùng lệnh có thể dung pivot cũng OK.Bạn nhớ chú ý đến STT trước và sau khi gom lại.Mình muốn là sau khi dung hàm gom tất cả các mã giống nhau lại thì sl cuả mã đó cũng phải được cộng lại để lấy tổng.Vd có 5 mã A với Sl lần lượt là 1,2,3,4,5 làm sao dung hàm để chỉ có 1 mã A nhưng Sl phải là tổng của 5 mã A kia 1+2+3+4+5=15.Kq cuối cùng là chỉ có 1 mã A với sl=15
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [b2:c65000]) Is Nothing Then Exit Sub
[h2.i65000].ClearContents
Range("h2").Consolidate "Sheet1!r2c2:r65000c3", -4157, , True
End Sub
Vậy thôi dùng code đi :
PHP:Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, [b2:c65000]) Is Nothing Then Exit Sub [h2.i65000].ClearContents Range("h2").Consolidate "Sheet1!r2c2:r65000c3", -4157, , True End Sub
Bạn sửa dữ liệu ở cột B, C thì cột H, I sẽ tự động cập nhật.
Dùng sao vậy chỉ mình với
Mình đính kèm file rồi đó thôi, thử sửa dữ liệu trong cột B, C để xem dữ liệu trong cột H, I cập nhật theo thế nào.
Bạn nói thế sao không dùng PivotTable luôn đi ---> Đó là giải pháp hiệu quả và đơn giản nhất đấyMình muốn dữ liệu ở 2 cột B và C thay đổi thì cột E và F cũng thay đổi theo vì vậy mình mới cần dùng hàm.Nếu dùng lệnh có thể dung pivot cũng OK
Tôi vẫn nghĩ PivotTable có thể làm được đấy ---> Bạn đưa file cụ thể lên xem!ptlong04x1 ơi. Nếu thêm điều kiện nữa cho bài này có được không?
VD: Mã hàng ở cột B, số lượng ở cột C và thêm điều kiện ở cột D là kho nhận (có thể có nhiều kho: khoA,khoB,KhoC..) Dl vẫn tổng hợp như bạn đã làm nhưng số lượng cộng dồn cho từng khoA,B,C được không?
Nếu không muốn sử dụng các công cụ có sẵn như các bạn ptlong và ndu trợ giúp mà cứ muốn dùng hàm thì mình tặng bạn một mớ hàm, cột STT bạn không cần nhập, cứ nhập các con số dài "lằn ngoằn" của bạn và số lượng rồi xem kết quả ở kế bên, mình làm công thức đến hàng 300 nhéMình muốn dữ liệu ở 2 cột B và C thay đổi thì cột E và F cũng thay đổi theo vì vậy mình mới cần dùng hàm.Nếu dùng lệnh có thể dung pivot cũng OK.Bạn nhớ chú ý đến STT trước và sau khi gom lại.Mình muốn là sau khi dung hàm gom tất cả các mã giống nhau lại thì sl cuả mã đó cũng phải được cộng lại để lấy tổng.Vd có 5 mã A với Sl lần lượt là 1,2,3,4,5 làm sao dung hàm để chỉ có 1 mã A nhưng Sl phải là tổng của 5 mã A kia 1+2+3+4+5=15.Kq cuối cùng là chỉ có 1 mã A với sl=15
Ai nói sai,mình không dám nói đến code, nếu đúng cấu trúc dữ liệu bạn đưa lên, bài mình làm bạn đưa dữ liệu khoảng 5000 dòng ( hay bi nhiêu dòng cũng được miễn EC cho phép) xem có sai không , trong 5000 dòng đó có 3000 dòng trùng vẫn lọc ra được, bạn hãy chứng minh sai chỗ nàoCảm ơn tất cả những câu trả lời của các bạn,nhưng thực sự thì những hàm và code đó chỉ đúng được với file mình đưa lên thôi nhưng dùng cho file khác với ma và sl nhiều hơn,trùng lặp cũng nhiều hơn thì đều sai cả vì mình thử lại bằng pivot thì thấy kq khác nhiều lắm(Pivot 100% ok với tất cả các file) thôi thì đành phải quay lại với Pivot kết hợp với Macro vậy
Ai nói sai,mình không dám nói đến code, nếu đúng cấu trúc dữ liệu bạn đưa lên, bài mình làm bạn đưa dữ liệu khoảng 5000 dòng ( hay bi nhiêu dòng cũng được miễn EC cho phép) xem có sai không , trong 5000 dòng đó có 3000 dòng trùng vẫn lọc ra được, bạn hãy chứng minh sai chỗ nào
Thân
Bạn kết luận quá vội vàng, trong file mình gởi bạn mình có nói là làm công thức dến hàng 300,mà đã làm tới 300 thì trong name mình đặt vùng dữ liệu tới 300, bạn thêm đến hàng 301 nó cũng chẳng chịu tính 1 hàng thêm đó đâu, ở file bạn test bạn thêm bao nhiêu dữ liệu vào mà sao công thức bạn không kéo theo( cái này bạn không biết??? trong test của bạn kéo đến hàng 414 mà không kéo công thức theo, mình đề nghị bạn kéo đến 5000 rồi thử lại xem, vì các name mình đã sửa đến 5000), trong bảng tính cơ bản nhất là khi mình đặt công thức đã đúng với 50 trường hợp đầu thì nó cũng sẽ đúng với 500, 5.000, 50.000 trường hợp sau khi bạn copy công thức xuống, bài của mình thật ra là lọc dữ liệu duy nhất mà không sử dụng tiện ích có sẵn, vì mỗi lần thêm dữ liệu bạn phải làm lại từ đầuMình gửi bác file này bác test thử
Bạn kết luận quá vội vàng, trong file mình gởi bạn mình có nói là làm công thức dến hàng 300,mà đã làm tới 300 thì trong name mình đặt vùng dữ liệu tới 300, bạn thêm đến hàng 301 nó cũng chẳng chịu tính 1 hàng thêm đó đâu, ở file bạn test bạn thêm bao nhiêu dữ liệu vào mà sao công thức bạn không kéo theo( cái này bạn không biết??? trong test của bạn kéo đến hàng 414 mà không kéo công thức theo, mình đề nghị bạn kéo đến 5000 rồi thử lại xem, vì các name mình đã sửa đến 5000), trong bảng tính cơ bản nhất là khi mình đặt công thức đã đúng với 50 trường hợp đầu thì nó cũng sẽ đúng với 500, 5.000, 50.000 trường hợp sau khi bạn copy công thức xuống, bài của mình thật ra là lọc dữ liệu duy nhất mà không sử dụng tiện ích có sẵn, vì mỗi lần thêm dữ liệu bạn phải làm lại từ đầu
Bài test của bạn mình kéo công thức xuống đến hàng 414, bạn cứ thử tiếp đi, mình đã sửa tới 5.000, chỉ xin bạn nhớ thêm dữ liệu đến đâu thì kéo công thức theo đến đó nhé
Thân
"Hổng " biết có đúng ý bạn không nữa, nhưng hình như bạn thắc mắc ở sheet test thì phải, tại bạn không nói rõ,(thật sự mình cũng chưa nắm rõ vấn đề bạn test ở đó) nhưng có lẽ bạn quên cố định cái vùng mà bạn cần tham chiếu để lấy kết quảĐúng là mình quên không copy công thức.Cám ơn bạn nhiều,nhưng mình có một thắc mắc là sao khi mình dùng hàm của bạn thì mình sử dụng thêm hàm vlookup lại báo lỗi không tìm thấy,bạn có thể giúp mình sửa lỗi được ko
"Hổng " biết có đúng ý bạn không nữa, nhưng hình như bạn thắc mắc ở sheet test thì phải, tại bạn không nói rõ,(thật sự mình cũng chưa nắm rõ vấn đề bạn test ở đó) nhưng có lẽ bạn quên cố định cái vùng mà bạn cần tham chiếu để lấy kết quả
[E5]=VLOOKUP(B5,$H$5:$I$504,2,0) => bạn phải cố định địa chỉ H5, tương tự ở ô J5
Giá trị ở [b5]=9780071497015, nếu ct ở J5 bạn không cho giá trị tuyệt đối [J5]=VLOOKUP(H5,$B$5:$D$504,3,0) thì [B5] sẽ bị " ngoài vùng phủ sóng" ==> "tèo"
Nếu đúng ý bạn thì tốt còn chưa đúng bạn cho ý kiến ta lại tiếp tục "xử" nó.
Thân