Các câu hỏi về lọc ra danh sách duy nhất (loại bỏ dữ liệu trùng)

Liên hệ QC
anhtuan1066 đã viết:
Bạn đâu cần chia ra thành 3 sheet chứ... muốn lọc Mã kho nào thì cứ chọn vào Drop down list tại cell B2 ấy... nó sẽ trích danh sách cho bạn... Đàng nào trong cùng 1 thời điểm bạn cũng chỉ nhìn hoặc in có 1 list nên đâu cần làm 3 list 1 lúc, đúng ko?
Xem file, tôi dùng Advanced Filter
ANH TUẤN

Phương pháp trích lọc dữ liệu của bác Anhtuan1066, ngắn gọn mà cũng rất hay, tuy nhiên nếu được bác phát triển thêm code để có thể thực hiện thêm được một số chức năng theo yêu cầu người dùng trong các trường hợp sau:
(Em mô tả dựa trên file Locdulieu mà bác đã post ở bài trên)

1/- Nếu ta chỉ cần trích xuất một số cột bên sheet dữ liệu gốc (sheet1) (có thể là những cột không liền kề nhau, ví dụ ta chỉ cần trích cột số 1,2,3,5,7,8,10,... sang bên sheet trich (tạm gọi là báo cáo)?

3/- Sau khi đã lọc dữ liệu từ sheet dữ liệu gốc (sheet1) sang bên sheet trich (sheet báo cáo), yêu cầu: đánh số thứ tự liên tục từ dòng dữ liệu đầu tiên đến dòng cuối của báo cáo. Cuối báo cáo phải có dòng Tổng cộng & In đậm?. Cuối báo cáo phải có mục đọc số tổng cộng cuối báo cáo thành chữ? đồng thời bên dưới dòng tổng cộng của báo cáo phải có các thành phần của 1 báo cáo như: Ngày .... tháng .... năm ....... hiện hành thực hiện báo cáo cùng với các dòng Người lập biểu, Người xem xét, Người duyệt, ...

Những trường hợp mà em nêu trên đây rất thường gặp (và hầu như là phải có) gắn liền với việc trích lọc dữ liệu thành báo cáo.

Mong các bác tham gia để hoàn thiện các vấn đề nêu trên.

Thân ái!
 
vungoc đã viết:
Phương pháp trích lọc dữ liệu của bác Anhtuan1066, ngắn gọn mà cũng rất hay, tuy nhiên nếu được bác phát triển thêm code để có thể thực hiện thêm được một số chức năng theo yêu cầu người dùng trong các trường hợp sau:
(Em mô tả dựa trên file Locdulieu mà bác đã post ở bài trên)
1/- Nếu ta chỉ cần trích xuất một số cột bên sheet dữ liệu gốc (sheet1) (có thể là những cột không liền kề nhau, ví dụ ta chỉ cần trích cột số 1,2,3,5,7,8,10,... sang bên sheet trich (tạm gọi là báo cáo)?

3/- Sau khi đã lọc dữ liệu từ sheet dữ liệu gốc (sheet1) sang bên sheet trich (sheet báo cáo), yêu cầu: đánh số thứ tự liên tục từ dòng dữ liệu đầu tiên đến dòng cuối của báo cáo. Cuối báo cáo phải có dòng Tổng cộng & In đậm?. Cuối báo cáo phải có mục đọc số tổng cộng cuối báo cáo thành chữ? đồng thời bên dưới dòng tổng cộng của báo cáo phải có các thành phần của 1 báo cáo như: Ngày .... tháng .... năm ....... hiện hành thực hiện báo cáo cùng với các dòng Người lập biểu, Người xem xét, Người duyệt, ...
Những trường hợp mà em nêu trên đây rất thường gặp (và hầu như là phải có) gắn liền với việc trích lọc dữ liệu thành báo cáo.

Mong các bác tham gia để hoàn thiện các vấn đề nêu trên.

Thân ái!

Chào bác, mới thay Avata hoành tráng quá!!

Thật ra vấn đề này đã có rất nhiều trên GPE rồi, em xin tóm lược lại :

  • Dùng công thức : Dùng cột phụ hoặc name để định ra các dòng thỏa mãn, sau đó dùng các hàm như Index, match . . . để "lọc" sang
  • Dùng Advanced Filter : Lọc số liệu ra 1 sheet tạm, sau đó lọc ại một lần nữa những cột mà ta cần, sau đó copy ngược trở lại báo cáo
  • Dùng vòng lặp trong VBA : Sẽ duyệt một vòng trong toàn bộ dữ liệu, nếu thấy tại dòng nào có dữ liệu thỏa mã điều kiện thì sẽ trích lọc các cột mà ta cần qua báo cáo.
  • Dùng SQL trong Data/ Import External Data : Không phổ biến
  • Dùng Pivot Table : Không phổ biến

Mỗi một phương pháp có những ưu điểm riêng mà em đã có bài phân tích về nó (giữa Vòng lặp và AF), vì vậy tùy ý thích và trình độ của mọi người thôi.

Còn về Format, theo quan điểm của riêng em thì vẫn nên có mẫu sẵn, và ước chừng số dòng tối ta trong báo cáo (khoảng 5.000 dòng chẳng hạn), ta copy vào trong mẫu có sẵn, dòng nào thừa thì hide nó đi.

Như vậy vừa đẹp lại vừa tiện lợi.

Hoặc nếu muốn thì có thể tự format nó bằng cách record macro lại, cũng đơn giản thôi mà.

Thân!
 
To: VuNgoc,
Việc lọc dữ liệu, đây là vấn đề nhiều người đã đề cập.
Phương pháp thì có nhiều. Mỗi phương pháp có những điểm hay, dỡ khác nhau.
Nhưng vấn đề là dữ liệu của mỗi bài toán lọc là khác nhau. Chính vì vậy khó đưa ra được một bài toán tổng quát cho tất cả các trường hợp. (Tương tự như một bài toán tạo Form nhập liệu vậy)
Anh thấy A-Tools của Tuân rất hay nếu chúng ta biết áp dụng. Dự định có một buổi sinh hoạt giới thiệu về Add-In này.

Lê Văn Duyệt
 
Tôi thấy như vầy:
1> Dùng công thức: Tuy đây là nhưng công thức phổ biến, nhưng kết hợp chúng với nhau 1 cách nhuần nhuyển e rằng ko phải là dể... ngay như tôi làm hoài mà còn lộn tới lộn lui
2> Dùng VBA: có 2 cách vòng lập và AF...
Tôi xét thấy trong vụ lọc này, nếu phải chọn giữa công thức và VBA thì tôi sẽ chọn VBA (mặc dù rất khoái công thức)... Và nếu phải chọn giữa vòng lập và AF thì tôi sẽ chọn AF (vì nó dể dùng nhất)
Như bạn Vungoc có nêu vấn đề, rất có thể người ta chỉ muốn lọc và lấy 1 vài cột thôi... Vậy tôi đề xuất giãi pháp: Cứ lọc hết, muốn xài cột nào thì hiện cột ấy, những cột khác ẩn đi... như vậy công việc sẽ gọn gàng mà cách thức thao tác cũng khá dể
Các bạn nghĩ sao?
Chỉ với 2 đoạn code: 1. Advanced Filter2. Ẩn cột chúng ta có thể tự record lấy rồi chỉnh sửa đôi chút là đạt yêu cầu... Hoàn toàn nằm trong khả năng của người dùng
Mến
ANH TUẤN
 
Chào DVC's student !
y/c of bạn rất đơn giản mà, bạn chỉ cần dùng lệnh consolidate là giải quyết xog y/c of bạn rồi, chứ đâu cần dùng Autofile..,Code,.. tùm lum hết vậy. Chúc bạn thành công.
Thân chào!
 
Lọc dữ liệu không trùng nhau của 2 bảng

Xin cho hỏi? Tôi có 2 bảng dữ liệu (xin xem tập tin đính kèm). Tôi muốn lấy ra các dữ liệu không có ở cả 2 bảng. Bác nào biết xin chỉ giúp. Xin cảm ơn.
 

File đính kèm

  • samples.xls
    14 KB · Đọc: 108
Xin cho hỏi? Tôi có 2 bảng dữ liệu (xin xem tập tin đính kèm). Tôi muốn lấy ra các dữ liệu không có ở cả 2 bảng. Bác nào biết xin chỉ giúp. Xin cảm ơn.

Chào bạn,
làm gì có dữ liệu không có ở cả hai bảng, chỉ có dữ liệu có ở bảng 1 và không có ở bảng 2 và ngược lại thôi.

Bạn xem thử file đính kèm xem.
 

File đính kèm

  • samples.xls
    15 KB · Đọc: 326

File đính kèm

  • lọc tim không trùng ở hai cột, ghép lại dùng name.xls
    16.5 KB · Đọc: 445
À, tai vì em nói không rõ ràng, xin lỗi các Bác. "Dữ liệu không có cả 2 bảng" nghĩa là không có ở bảng 1 hoặc không có ở bảng 2. Tại em nói ngắn gọn quá thành ra bị sai.

Xin cảm ơn 2 Bác

- Cách giải quyết của Bác ca_dafi đơn giản dễ hiểu.
- Cách giải quyết của Bác hoangdanh82vn thì quá pro. Dữ liệu không trùng đã được đặt riêng ra 1 bảng.

Em thì là lính mới nên em sẽ chọn cách của Bác ca_dafi.
 
CHÀO ANH hoangdanh282 vn , anh vui chi rõ cho em biết cái công thức mà anh xài không ?
sao trong công thức không thấy tên cột mà ra kết quả hay vậy? Pro thiệt !!!
 
CHÀO ANH hoangdanh282 vn , anh vui chi rõ cho em biết cái công thức mà anh xài không ?
sao trong công thức không thấy tên cột mà ra kết quả hay vậy? Pro thiệt !!!

Thì hoangdanh282vn ý ghi ở tên file là dùng NAME rùi đó: hãy vào Insert \ Name \ Define... sẽ thấy

@hoangdanh282vn: oh, sao name nhiều thế và loằng ngoằng thế - đâu phức tạp thế nhỉ, thử tối ưu lại xem sao


TUY nhiên
@quachhuydinh bạn nên dùng giải pháp VBA theo bác SA_DQ trên kia đi - vì DL của bạn trên 2000 dòng dùng công thức sẽ rất chậm,
.
 
Thì hoangdanh282vn ý ghi ở tên file là dùng NAME rùi đó: hãy vào Insert \ Name \ Define... sẽ thấy

@hoangdanh282vn: oh, sao name nhiều thế và loằng ngoằng thế - đâu phức tạp thế nhỉ, thử tối ưu lại xem sao


TUY nhiên
@quachhuydinh bạn nên dùng giải pháp VBA theo bác SA_DQ trên kia đi - vì DL của bạn trên 2000 dòng dùng công thức sẽ rất chậm,
.

Thật ra ko nhiều Name thế đâu, chỉ 3 Name thôi, vì đây là gợi ý để tham khảo nên mình chia nhỏ ra để các bạn dễ nhìn thôi.
 
Xem lại bài mình gửi mới thấy chưa thất chính xác, mình gửi lại file khác chính xác hơn và gọn hơn.
To Anh tiger :
Cách nhanh nhất có lẻ là VBA, nhưng dùng công thức bình thường cũng nhanh nếu dùng thêm cột phụ. Không phải cái gì VBA cũng tiện lợi nhất, mà chúng ta phải nên kết hợp các phương pháp lại với nhau sao cho thật đơn giản dễ hiểu và nhanh
 

File đính kèm

  • lọc tim không trùng ở hai cột, ghép lại dùng name.xls
    16.5 KB · Đọc: 263
Tìm điểm hòa vốn!

Cách nhanh có lẻ là VBA, nhưng dùng công thức bình thường cũng nhanh nếu dùng thêm cột phụ. . . mà chúng ta phải kết hợp các phương pháp lại với nhau sao cho thật đơn giản dễ hiểu và nhanh
Mình có 1 câu hỏi đến các 'Siêu nhân Công thức' tẹo: Làm sao trong trang tính nhiêu công thức ta biết được thời lương để hoàn thành việc cập nhật?
Í mình là tìm điểm 'Huề vón' giữa giải pháp công thức & giải pháp VBA trên 1 CSDL cụ thể nào đó;
VD trong trường hợp này, nếu dùng CT mất khoảng 30'' ( 1 khi có 2.345 record), nhưng dùng VBA thì mất 33'' cùng trên số record như vậy?
 
À đây là vấn đề cũng hay nhỉ ?
1. Đối với VBA thì chúng ta đã có topic giới thiệu về PerfMon Utility
http://www.giaiphapexcel.com/forum/showthread.php?t=5146
2. Về Công thức thì làm sao nhỉ?
Thông thường có phải là khi tính các công thức, Excel sẽ bắt đầu từ Sheet1, Sheet2,...
Và khi Tính công thức tại các Sheet thì từ trái sang phải, và từ trên xuống dưới hay không?
Nếu biết được thì chúng ta có thể đưa ra giải pháp.

Lê Văn Duyệt
 
Lọc dữ liệu trong từng ô, loại bỏ trùng nhau

Kính thưa mấy anh chị, em đang cần lọc một dữ liệu dạng như sau:


Trong các ô có chưa nhiều loại cont, nếu nó là A,B,C thì mình đếm nó là 3. Và cứ như thế mình đếm xuống nhưng khi trong một ô nào đó có xuất hiện lại A hoặc B hoặc C thì mình không tính cho ô đó là 1, mà tính là 0 ( Trong hình em có minh họa). Hay đếm tổng số container lại mà laọi những cái nào trùng.
Các anh chị giúp giùm em. Thank you!
 

File đính kèm

  • Dem so container.JPG
    Dem so container.JPG
    7.5 KB · Đọc: 459
Lần chỉnh sửa cuối:
Đếm thì chắc ko có vấn đề, nhưng phải hiểu ý đồ đếm của tác giả!
Tôi đang thắc mắc tại sao A, B, C thì đếm là 3 còn A, G lại đếm là 1
Vậy cho hỏi thế nào là đếm 1, thế nào là đếm 2, còn thế nào là đếm 3?
vân vân
ANH TUẤN
 
Thưa anh!
Thế này nhé, A,B, C là 3 bởi vì dòng đầu tiên nó xuất hiện là 3 ký tự khác nhau, nên ta sẽ đếm nó là 3. Còn đi dần xuống những ô tiếp theo sau thì ta thấy A, G thì ở đây A đã lặp lại rồi. Ta chỉ ghi nhận lại giá trị G thôi, nên ta chỉ tính là 1.
Tóm lại là đềm từ trên xuống dưới, thấy ký tự trùng là bỏ qua và ký tự chưa có ở các ô phía trên tì tính là 1. Anh Tuan hieu chua ah. Giúp giùm em nhé

VD: 1. A, B, C->3 ký tự khác nhau nên ta đềm là 3
2: D, C -> 2 ký tự khác nhau đáng lẻ ghi 2 nhưng C đã có ở phía trên rồi nên ta chỉ tính là 1 thôi.
Kết quả:
1. A, B, C: Đếm là 3
2. D, C : Đếm là 1
Kết quả đếm là : 4 ký tự khác nhau

Giúp giùm em nhé: Mail của em: tiencruise@yahoo.com
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom