Xử lý dữ liệu trùng trong data validation (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

anhthu0101

Thành viên mới
Tham gia
13/7/13
Bài viết
4
Được thích
0
Chào các Anh Chị,

Em đang làm báo cáo dạng data validation, nhưng bị lỗi ở phần dữ liệu "HUY" nó bị chạy các dữ liệu trùng nhau trong phần bảng hiện dữ liệu em đính kèm. Anh Chị hướng dẫn giúp em các sữa lỗi này với ạ. Em cảm ơn Anh Chị nhiều.
Bài đã được tự động gộp:

 

File đính kèm

Chào các Anh Chị,

Em đang làm báo cáo dạng data validation, nhưng bị lỗi ở phần dữ liệu "HUY" nó bị chạy các dữ liệu trùng nhau trong phần bảng hiện dữ liệu em đính kèm. Anh Chị hướng dẫn giúp em các sữa lỗi này với ạ. Em cảm ơn Anh Chị nhiều.
Bài đã được tự động gộp:
Bạn pivot đi cho nhanh
 

File đính kèm

Bài này lọc theo điều kiện, nếu làm công thức thì tham khảo file đính kèm.
 

File đính kèm

Bài này lọc theo điều kiện, nếu làm công thức thì tham khảo file đính kèm.
Bác ơi data HUY của bác không ra đúng. Vì nó lay HUY của cột G. Trong khi tác giả cần HUY của cột A.
Phải là dòng 83 của sheet thongtin mới đúng dữ liệu tác giả cần bác ơi.
 
Bác ơi data HUY của bác không ra đúng. Vì nó lay HUY của cột G. Trong khi tác giả cần HUY của cột A.
Phải là dòng 83 của sheet thongtin mới đúng dữ liệu tác giả cần bác ơi.
TTBB sửa lại giúp nhé, đang mở điện thoại nên lười mở file.
Cảm ơn!
 
TTBB sửa lại giúp nhé, đang mở điện thoại nên lười mở file.
Cảm ơn!
Ôi bác làm khó em quá, em còn đang nghiềm ngẫm cách làm của bác mà chưa hiểu đây.
Em đang thử làm cách khác là dùng aggregate mà đang bị lỗi gì em chưa hiểu nên chưa giải quyết được.
 
OK, sửa thêm tham chiếu hàm OFFSET trong công thức ở bên ngoài sheet nữa.
Hôm qua tới giờ tan sở, mắc quáng gà nên đọc kiểu gì cái đoạn -5 của offset em đọc thành +5 nên em mãi ko hiểu khúc này.

Với lại
Mã:
name cotDK =OFFSET(Thongtin!$A$3,1,,COUNTA(Thongtin!$A$4:$A$2000))
Hôm qua em chưa hiểu cách dùng của nó trong name. Bây giờ thì em đoán nó là như vầy, nhờ bác xác nhận lại:
1. Name đặt ở cell nào thì nó tự nhảy dòng đến row của cell đó tương ứng.
Vd: em đặt A6=cotdk thì nó sẽ là: OFFSET(Thongtin!$G$3,3,,148), 3 được quy ra là từ row(A6)-row(Thongtin!G3)

2. Name DK =IF(cotDK=Baocao!$B$3,ROW(cotDK)-3,"")
Cái này kết quả trả về 1 mảng (của offset từ row 3) với số thứ tự trong mảng chứa B3. Vậy thì -3 nghĩa là trừ row bắt đàu mảng offset
Vd: nếu data của em la offset(G15....) thì ở đây -15

3. B6=IFERROR(INDEX(OFFSET(cotDK,,1,,5),SMALL(DK,ROW($A1)),COLUMN(A$1)),"")
OFFSET(cotDK,,1,,5) => không cần để offset này hiểu dòng/độ cao của dòng vì name CotDK nó tự chạy dòng rồi?
Small(DK,ROW($Á) => trả về thứ tự từ nhỏ đến lớn (hay còn hiểu là từ trên xuống dưới của danh sách DK)

PS: file làm lại của bác bị ngắn so với "HEN" vì nó dài tới 79 dòng lận
 
Lần chỉnh sửa cuối:
1. OFFSET(Thongtin!$G$3,3,,148) trả về tham chiếu G6:G154, số 3 là số dòng được tính từ G3 (tức G6); cols =0, đối số height là chiều cao của tham chiếu.
2. Name DK =IF(cotDK=Baocao!$B$3,ROW(cotDK)-3,"") trả về 1 mảng số dòng thỏa điều kiện B3. Nếu áp dụng từ G6:G154 như 1. thì số dòng cần trừ ra là 5, nếu không trừ 5 thì các dòng trong ROW của tham chiếu G6:G154 là 6,7,8,...,153,154.
Vd: nếu data của em la offset(G15....) thì ở đây -15 => Cái này tùy vào đối số rows của hàm OFFSET.
3. Name cotDK nó chỉ lấy được 1 cột.
Small(DK,ROW($A1)) trả về dòng thỏa mãn DK đầu tiên (ROW($A1)=1), kéo xuống 1 ô thành Small(DK,ROW($A2)) trả về dòng thỏa DK thứ 2 (ROW($A2)=2).
 
@leonguyenz em thấy vẫn hơi mơ màng với offset nhưng dù sao em cũng ứng dụng được rồi.

Tuy nhiên, anh xem giùm em sao file đính kèm lại ra num nha.

Và vì sao CT ở L4 vẫn ra đúng kết quả.

Cám ơn anh.
 

File đính kèm

Lần chỉnh sửa cuối:
Vì offset cotDK của em lấy từ B, mà data cần lấy lại là cột B luôn, em không biết sửa CT làm sao.
Nên cố định vùng tham chiếu (ví dụ $B$1) để xác định rõ vùng tham chiếu mới khi biến hóa các đối số dòng/cột/chiều cao/chiều rộng trong hàm OFFSET.
 
Web KT

Bài viết mới nhất

Back
Top Bottom