Cần ACE giúp đỡ về hàm gom dữ liệu(Đã thêm file)

Liên hệ QC

phuteo

Thành viên mới
Tham gia
6/12/08
Bài viết
39
Được thích
3
SUMIF không ổn

Các bác có thể giúp em dùng hàm (không dùng lệnh) gom dữ liệu của cột A và B lại như cột D và E được không.Cám ơn nhiều
 

File đính kèm

  • TEST.xls
    13.5 KB · Đọc: 28
Lần chỉnh sửa cuối:
Cái này dùng SUMIF là OK
 

File đính kèm

  • TEST.xls
    13.5 KB · Đọc: 26
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 :
 

File đính kèm

  • Cons.xls
    57 KB · Đọc: 40
(mấy bác hiểu sai ý câu hỏi hết rồi)

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
 
Lần chỉnh sửa cuối:
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

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.
 

File đính kèm

  • Cons.xls
    55 KB · Đọc: 37
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
 
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?
 
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 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 đấy
Công thức cũng làm được, nhưng "chua" hơn nhiều ---> Bạn xem đây (nếu là tôi thì tôi cóc thèm dùng công thức trong trường hợp này)
-------------------------------
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?
Tôi vẫn nghĩ PivotTable có thể làm được đấy ---> Bạn đưa file cụ thể lên xem!
 

File đính kèm

  • Test_2.rar
    10.2 KB · Đọc: 29
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
Nếu không muốn sử dụng các công cụ có sẵn như các bạn ptlongndu 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é
Sao trên đời lại có nhiều người muốn tự làm cực mình thêm nhỉ?
Thân
 

File đính kèm

  • sum.xls
    93.5 KB · Đọc: 23
Ngoài các cách làm ở trên. Học anh NDU làm cho bạn bằng VBA. Bạn thử file nhé. Thân
 

File đính kèm

  • sum1.rar
    18.3 KB · Đọc: 9
Cả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
 
Cả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
 
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

Mình gửi bác file này bác test thử
 

File đính kèm

  • sum1.rar
    20.3 KB · Đọc: 9
Mì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
 

File đính kèm

  • sum1.rar
    26.6 KB · Đọc: 9
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

Đú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
 

File đính kèm

  • Test-Ham.rar
    129.7 KB · Đọc: 20
Lần chỉnh sửa cuối:
Đú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
 
"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

Cám ơn bạn nhiều lắm bây giờ thì OK rồi rất tuyệt vời.Nếu bạn có thể giải thích cho mình những hàm bạn viết để gom dữ liệu lại nữa thì thật không còn gì bằng.Một lần nữa xin cám ơn
 
Web KT
Back
Top Bottom