xóa dữ liệu trùng có điều kiện (2 người xem)

Liên hệ QC

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

sputnikvn

Thành viên mới
Tham gia
5/6/18
Bài viết
6
Được thích
0
e có vấn để nhờ các anh chị nào biết giúp đỡ, về vấn đề xóa liệu trùng trong excel, cách tìm và lọc ra dữ liệu trùng e cũng nắm dc rồi, còn vấn đề xóa; e có 2 cột mã vận đơn và ngày, lọc ra dữ liệu trùng, giờ e muốn xóa dòng dữ liệu bị trùng có ngày cũ hơn, giữ lại thông tin mới nhất. e phải làm thế nào ạ?tks
 

File đính kèm

e có vấn để nhờ các anh chị nào biết giúp đỡ, về vấn đề xóa liệu trùng trong excel, cách tìm và lọc ra dữ liệu trùng e cũng nắm dc rồi, còn vấn đề xóa; e có 2 cột mã vận đơn và ngày, lọc ra dữ liệu trùng, giờ e muốn xóa dòng dữ liệu bị trùng có ngày cũ hơn, giữ lại thông tin mới nhất. e phải làm thế nào ạ?tks
Bạn làm theo các bước sau:
- Bước 1: chọn toàn bộ dữ liệu cột C và cột D, chọn Data/Sort. Bảng Sort hiện ra, bạn chọn theo hình
Sort.jpg
- Bước 2: tại cột E, sử dụng công thức:
Mã:
E3=IF(COUNTIF(C3:$C$3,C3)>1,1,0)
Fill xuống
- Bước 3: sử dụng Data/Filter, lọc ở cột E các ô có giá trị là 1
- Bước 4: quét chọn vùng các dòng hiển thị tại cột C (từ dòng C2), ấn tổ hợp phím (Alt và ; ), chuột phải/Delete Row
 
Bạn làm theo các bước sau:
- Bước 1: chọn toàn bộ dữ liệu cột C và cột D, chọn Data/Sort. Bảng Sort hiện ra, bạn chọn theo hình
View attachment 198775
- Bước 2: tại cột E, sử dụng công thức:
Mã:
E3=IF(COUNTIF(C3:$C$3,C3)>1,1,0)
Fill xuống
- Bước 3: sử dụng Data/Filter, lọc ở cột E các ô có giá trị là 1
- Bước 4: quét chọn vùng các dòng hiển thị tại cột C (từ dòng C2), ấn tổ hợp phím (Alt và ; ), chuột phải/Delete Row
Hi, tks a, nhưng E muốn giữ lại mã vận đơn có ngày mới nhất, nếu e lọc ra số 1 và xóa thì xóa mã có ngày mới nhất (lớn hơn) rồi ạ?
Bài đã được tự động gộp:

Trùng đơn lấy ngày lớn nhất. Chạy code
Mã:
Public Sub GPE()
Dim cn As Object, Str As String
Set cn = CreateObject("ADODB.Connection")
    cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=No"";"
    Str = "Select f1,max(f2) from [Sheet1$C3:D] where f1 is not null group by f1"
    Range("I3").CopyFromRecordset cn.Execute(Str)
    cn.Close
End Sub
Tks a nhiều! code hay quá ạ! :)
 
Bạn làm theo các bước sau:
- Bước 1: chọn toàn bộ dữ liệu cột C và cột D, chọn Data/Sort. Bảng Sort hiện ra, bạn chọn theo hình
View attachment 198775
- Bước 2: tại cột E, sử dụng công thức:
Mã:
E3=IF(COUNTIF(C3:$C$3,C3)>1,1,0)
Fill xuống
- Bước 3: sử dụng Data/Filter, lọc ở cột E các ô có giá trị là 1
- Bước 4: quét chọn vùng các dòng hiển thị tại cột C (từ dòng C2), ấn tổ hợp phím (Alt và ; ), chuột phải/Delete Row
Cách này hợp lý và dễ làm khi có nhiều cột dữ liệu thêm, quan trọng và cách lọc ngày hợp lý! tks a lần nữa :)
 
Web KT

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

Back
Top Bottom