Xóa dòng trùng, chỉ để lại dòng đầu tiên. (1 người xem)

Liên hệ QC

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

kydang1989

Thành viên chính thức
Tham gia
17/10/14
Bài viết
63
Được thích
3
Mình muốn xóa dòng trùng (part no). Xóa Level thấp, để lại level cao(dòng đầu tiên)
để lại : Xe1 C; Xe2 00003; Xe3 00006

[TABLE="width: 216"]
[TR]
[TD]PART No[/TD]
[TD]LEVEL[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]XE1[/TD]
[TD]C[/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]XE1[/TD]
[TD]B[/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]XE1[/TD]
[TD]A[/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]XE2[/TD]
[TD]00003[/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]XE2[/TD]
[TD]00002[/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]XE2[/TD]
[TD]00001[/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]XE3[/TD]
[TD]00006[/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]XE3[/TD]
[TD]00005[/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]XE3[/TD]
[TD]00004[/TD]
[TD] [/TD]
[/TR]
[/TABLE]

Có thể dùng macro hoặc trên excel có sẵn chức năng đó không vậy?
A/ce giúp mình với.
 

File đính kèm

Bạn sort bảng theo 2 tiêu chí, cột A tăng dần, cột B giảm dần. Tại C1 gõ công thức =COUNTIF($B$11:B11,B11)>1, fill xuống. Dùng auto filter cột C chọn các giá trị TRUE rồi xóa cả bảng. Xóa cột phụ C đi.
 
Upvote 0
Mình muốn xóa dòng trùng (part no). Xóa Level thấp, để lại level cao(dòng đầu tiên)
để lại : Xe1 C; Xe2 00003; Xe3 00006

[TABLE="width: 216"]
[TR]
[TD]PART No[/TD]
[TD]LEVEL[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]XE1[/TD]
[TD]C[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]XE1[/TD]
[TD]B[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]XE1[/TD]
[TD]A[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]XE2[/TD]
[TD]00003[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]XE2[/TD]
[TD]00002[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]XE2[/TD]
[TD]00001[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]XE3[/TD]
[TD]00006[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]XE3[/TD]
[TD]00005[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]XE3[/TD]
[TD]00004[/TD]
[TD][/TD]
[/TR]
[/TABLE]

Có thể dùng macro hoặc trên excel có sẵn chức năng đó không vậy?
A/ce giúp mình với.
có thể sử dụng hàm countif để đếm luỹ tiến, sau đó so sánh với số 1, sau đó trích lọc , muốn xoá true hoặc false thì tuỳ bạn
 
Upvote 0
Mình muốn xóa dòng trùng (part no). Xóa Level thấp, để lại level cao(dòng đầu tiên)
để lại : Xe1 C; Xe2 00003; Xe3 00006

[TABLE="width: 216"]
[TR]
[TD]PART No[/TD]
[TD]LEVEL[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]XE1[/TD]
[TD]C[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]XE1[/TD]
[TD]B[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]XE1[/TD]
[TD]A[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]XE2[/TD]
[TD]00003[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]XE2[/TD]
[TD]00002[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]XE2[/TD]
[TD]00001[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]XE3[/TD]
[TD]00006[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]XE3[/TD]
[TD]00005[/TD]
[TD][/TD]
[/TR]
[TR]
[TD]XE3[/TD]
[TD]00004[/TD]
[TD][/TD]
[/TR]
[/TABLE]

Có thể dùng macro hoặc trên excel có sẵn chức năng đó không vậy?
A/ce giúp mình với.

Nếu muốn dùng macro bạn làm theo các bước dưới đây !
1- Bật chức năng record macro
2- Sort vùng dữ liệu theo 2 điều kiện ( thỏa mãn cột Level từ cao đến thấp , đối với các part No trùng nhau )
3- sử dung Remove Duplicate
4- Stop macro , --> hiệu chỉnh macro nếu bạn thấy cần thiết !

-- good luck !
 
Upvote 0
Bạn sort bảng theo 2 tiêu chí, cột A tăng dần, cột B giảm dần. Tại C1 gõ công thức =COUNTIF($B$11:B11,B11)>1, fill xuống. Dùng auto filter cột C chọn các giá trị TRUE rồi xóa cả bảng. Xóa cột phụ C đi.

Không cần phải TRUE/FALSE. Chỉ cần countif, lúc filter thì untick 1 sau đó select visible (tức là select các dòng có trị từ 2 trở lên), delete row. Bỏ filter. Xoá cột phụ.
 
Upvote 0
File của tác giả có định dạng XLSX, vậy dùng công cụ Remove Duplicates là nhanh nhất, khỏi công thức hay sort, filter gì cả
 
Upvote 0
File của tác giả có định dạng XLSX, vậy dùng công cụ Remove Duplicates là nhanh nhất, khỏi công thức hay sort, filter gì cả

remove duplicates sẽ dữ lại giá trị đầu tiên của dữ liệu bị trùng lặp , do đó muốn giữ lại giá trị max ( theo ý của topic) thì em nghĩ phải sort trước !
Nếu như mặc định file ban đầu đã đc sắp xếp từ max đến min thì chỉ cần remove duplicate là ok !
 
Upvote 0
Web KT

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

Back
Top Bottom