Thống kê ra các dữ liệu khác nhau giữa các sheet

bosscomhcvp

Thành viên mới
Tham gia ngày
24 Tháng tám 2018
Bài viết
21
Được thích
0
Điểm
13
Tuổi
25
Chào các anh/chị,
Anh/chị nào gỡ rối giúp em bài toán này ạ:
Em có nhiều danh sách khách hàng được update theo ngày, tuy nhiên danh sách sau có thể bị mất hoặc thiếu dữ liệu khách hàng so với danh sách trước. Em cần thống kê các dữ liệu khách hàng có trong danh sách ngày hôm trước mà không có trong danh sách ngày hôm sau, để xem đã bị mất khách hàng nào. Danh sách dữ liệu khác nhau được đưa ra 2 bảng:
1. Bảng danh sách các dữ liệu có trong DS 1 mà không có trong DS 2, có trong DS 2 mà không có trong DS 3, ... để so sánh được danh sách khách hàng qua các ngày có bị thay đổi không.
2. Bảng danh sách các dữ liệu có trong sheet này nhưng các sheet khác không có.
Em đính kèm file dữ liệu.
Anh/ chị chỉ giáo giùm em ạ.
Em cảm ơn anh/chị.
 

File đính kèm

Tham gia ngày
10 Tháng mười 2017
Bài viết
2,758
Được thích
7,923
Điểm
360
Nơi ở
Sài Gòn
Chào các anh/chị,
Anh/chị nào gỡ rối giúp em bài toán này ạ:
Em có nhiều danh sách khách hàng được update theo ngày, tuy nhiên danh sách sau có thể bị mất hoặc thiếu dữ liệu khách hàng so với danh sách trước. Em cần thống kê các dữ liệu khách hàng có trong danh sách ngày hôm trước mà không có trong danh sách ngày hôm sau, để xem đã bị mất khách hàng nào. Danh sách dữ liệu khác nhau được đưa ra 2 bảng:
1. Bảng danh sách các dữ liệu có trong DS 1 mà không có trong DS 2, có trong DS 2 mà không có trong DS 3, ... để so sánh được danh sách khách hàng qua các ngày có bị thay đổi không.
2. Bảng danh sách các dữ liệu có trong sheet này nhưng các sheet khác không có.
Em đính kèm file dữ liệu.
Anh/ chị chỉ giáo giùm em ạ.
Em cảm ơn anh/chị.
Thử:
Mã:
C6=T(OFFSET(INDIRECT(B$5&"!B1"),AGGREGATE(15,6,ROW($1:$100)/ISERROR(MATCH(INDIRECT(B$5&"!B2:B100"),INDIRECT(C$5&"!B2:B100"),)),ROW($A1)),))
Enter, fill qua phải, rồi copy cả hàng xuống dưới.

Thân
 

File đính kèm

ngoctinh87

Thành viên thường trực
Tham gia ngày
17 Tháng mười 2011
Bài viết
271
Được thích
328
Điểm
410
Chào các anh/chị,
Anh/chị nào gỡ rối giúp em bài toán này ạ:
Em có nhiều danh sách khách hàng được update theo ngày, tuy nhiên danh sách sau có thể bị mất hoặc thiếu dữ liệu khách hàng so với danh sách trước. Em cần thống kê các dữ liệu khách hàng có trong danh sách ngày hôm trước mà không có trong danh sách ngày hôm sau, để xem đã bị mất khách hàng nào. Danh sách dữ liệu khác nhau được đưa ra 2 bảng:
1. Bảng danh sách các dữ liệu có trong DS 1 mà không có trong DS 2, có trong DS 2 mà không có trong DS 3, ... để so sánh được danh sách khách hàng qua các ngày có bị thay đổi không.
2. Bảng danh sách các dữ liệu có trong sheet này nhưng các sheet khác không có.
Em đính kèm file dữ liệu.
Anh/ chị chỉ giáo giùm em ạ.
Em cảm ơn anh/chị.
Góp thêm công thức áp dụng cho Excel 2003,2007, nhấn Ctrl+Shift+Enter nhé
Mã:
=IFERROR(T(INDEX(INDIRECT("'"&B$5&"'!B2:B100"),SMALL(IFERROR(ROW($1:$100)/NOT(COUNTIF(INDIRECT("'"&C$5&"'!B2:B100"),INDIRECT("'"&B$5&"'!B2:B100"))),""),ROW($A1)))),"")
 

bosscomhcvp

Thành viên mới
Tham gia ngày
24 Tháng tám 2018
Bài viết
21
Được thích
0
Điểm
13
Tuổi
25
Em cảm ơn mọi người ạ.
Em còn 1 bảng nữa, là sheet thứ 2, trong DS1 và DS10 có 2 khách hàng mà các DS khác không có, em muốn liệt kê 2 khách hàng đó ra ạ.
Các bác chỉ giáo giùm em ạ.
 
Tham gia ngày
10 Tháng mười 2017
Bài viết
2,758
Được thích
7,923
Điểm
360
Nơi ở
Sài Gòn
Em cảm ơn mọi người ạ.
Em còn 1 bảng nữa, là sheet thứ 2, trong DS1 và DS10 có 2 khách hàng mà các DS khác không có, em muốn liệt kê 2 khách hàng đó ra ạ.
Các bác chỉ giáo giùm em ạ.
Giải pháp:
  • Dùng cột phụ gom các mã của các sheet về chung 1 bảng.
  • Đếm mã khách nào chỉ phát sinh 1 lần.
1/ Sheet "TH":
Mã:
A6=IFERROR(IF(COUNTIF($A$5:A5,A5)=OFFSET($B$4,,MATCH(A5,$C$5:$M$5,)),INDEX($C$5:$M$5,MATCH(A5,$C$5:$M$5,)+1),A5),T($C5))
B6=IFERROR(INDEX(INDIRECT(A6&"!B2:B1000"),COUNTIF($A$6:$A6,$A6)),"")
2/ Sheet "KH Riêng biệt":
Mã:
A7=T(LOOKUP(2,1/(C7=TH!$B$6:$B$1000),TH!$A$6:$A$1000))
C7=IFERROR(OFFSET(TH!$B$5,AGGREGATE(15,6,ROW($1:$1000)/(COUNTIFS(TH!$B$6:$B$107,TH!$B$6:$B$107)=1),ROW(B1)),),"")
E7=VLOOKUP($C7,INDIRECT($A7&"!B2:AG1000"),MATCH(E$6,INDIRECT($A7&"!B1:AG1"),),)
Các công thức khác xem file kèm.

Thân
 

File đính kèm

bosscomhcvp

Thành viên mới
Tham gia ngày
24 Tháng tám 2018
Bài viết
21
Được thích
0
Điểm
13
Tuổi
25
Giải pháp:
  • Dùng cột phụ gom các mã của các sheet về chung 1 bảng.
  • Đếm mã khách nào chỉ phát sinh 1 lần.
1/ Sheet "TH":
Mã:
A6=IFERROR(IF(COUNTIF($A$5:A5,A5)=OFFSET($B$4,,MATCH(A5,$C$5:$M$5,)),INDEX($C$5:$M$5,MATCH(A5,$C$5:$M$5,)+1),A5),T($C5))
B6=IFERROR(INDEX(INDIRECT(A6&"!B2:B1000"),COUNTIF($A$6:$A6,$A6)),"")
2/ Sheet "KH Riêng biệt":
Mã:
A7=T(LOOKUP(2,1/(C7=TH!$B$6:$B$1000),TH!$A$6:$A$1000))
C7=IFERROR(OFFSET(TH!$B$5,AGGREGATE(15,6,ROW($1:$1000)/(COUNTIFS(TH!$B$6:$B$107,TH!$B$6:$B$107)=1),ROW(B1)),),"")
E7=VLOOKUP($C7,INDIRECT($A7&"!B2:AG1000"),MATCH(E$6,INDIRECT($A7&"!B1:AG1"),),)
Các công thức khác xem file kèm.

Thân
Cảm ơn bạn nhiều ạ. đúng ý mình đang cần rồi ạ.
Many Cảm ơn!
 

bosscomhcvp

Thành viên mới
Tham gia ngày
24 Tháng tám 2018
Bài viết
21
Được thích
0
Điểm
13
Tuổi
25

File đính kèm

Tham gia ngày
10 Tháng mười 2017
Bài viết
2,758
Được thích
7,923
Điểm
360
Nơi ở
Sài Gòn
Lại là em đây ạ. Em add dữ liệu vào thì toàn bị báo lỗi. Các bác ra tay giúp đỡ em lần nữa ạ :(((
Dữ liệu bạn quá lớn, 1 sheet hơn 1.000 dòng, 10 sheet sẽ có hơn 10.000 dòng, thì cách xử lý bằng công thức sẽ không phù hợp, nó sẽ làm cho máy bạn "quay mòng mòng".

Cách tốt nhất bạn nên tạo chủ đề mới tại box "Lập trình với Excel" nhờ anh em viết Code mới phù hợp yêu cầu của bạn.

Thân
 

bosscomhcvp

Thành viên mới
Tham gia ngày
24 Tháng tám 2018
Bài viết
21
Được thích
0
Điểm
13
Tuổi
25
Dữ liệu bạn quá lớn, 1 sheet hơn 1.000 dòng, 10 sheet sẽ có hơn 10.000 dòng, thì cách xử lý bằng công thức sẽ không phù hợp, nó sẽ làm cho máy bạn "quay mòng mòng".

Cách tốt nhất bạn nên tạo chủ đề mới tại box "Lập trình với Excel" nhờ anh em viết Code mới phù hợp yêu cầu của bạn.

Thân
Cảm ơn bạn ^^
 
Top Bottom