Câu hỏi Làm thế nào để tôi nhận được các giá trị riêng biệt / duy nhất trong một cột trong Excel?


Nếu tôi có một cột với các giá trị, và tôi muốn tìm ra những giá trị khác biệt trong đó (không bao nhiêu - nhưng các giá trị riêng biệt thực tế), làm thế nào tôi có thể làm điều đó?

Trong SQL Server tôi sẽ làm một cái gì đó như

SELECT Distinct(MyColumn) FROM MyTable

250
2017-10-01 15:34


gốc


Liên quan: stackoverflow.com/questions/13307927/… - alexanderbird


Các câu trả lời:


Đơn giản hơn bạn có thể nghĩ:

  • Nhấn vào Dữ liệu Menu Ribbon
  • Chọn Nâng cao Nút trong Sắp xếp & lọc phần
  • Điền vào hộp thoại, sao chép kết quả đến vị trí khác và đảm bảo bạn chỉ đánh dấu vào các bản ghi duy nhất

enter image description here


270
2017-10-01 15:48



Đối với những người trong chúng ta vẫn sống một sự tồn tại không có ribbon, đó là Dữ liệu-> Lọc-> Nâng cao. - J.T. Grimes
+1 Phương pháp này vượt trội hơn để loại bỏ các bản sao nếu bạn muốn giữ nguyên dữ liệu gốc. - Excellll
Nếu sao chép dữ liệu vào trang tính khác, bạn phải khởi tạo hộp thoại Nâng cao từ trang tính bạn muốn sao chépnếu không bạn sẽ nhận được You can only copy filtered data to the active sheet lỗi. - Dave Zych
Điều này không cập nhật khi giá trị phạm vi nguồn thay đổi. Có cách nào để làm cho nó năng động? - hughes


Excel 2007 và 2010:
Sử dụng Remove Duplicates tùy chọn menu bên dưới Dữ liệu tiêu đề.

Excel 2003:
Cách dễ dàng:

  1. Đảm bảo dữ liệu của bạn có tiêu đề
  2. Dữ liệu -> Bộ lọc -> Bộ lọc Nâng cao
  3. Chỉ kiểm tra bản ghi duy nhất
  4. Chọn Sao chép vào một vị trí khác
  5. Nhấp vào OK

Cách khó:

Viết macro với mã sau:

'Remove duplicates from sorted list
Sub getDistinct()
    Do While ActiveCell.Value <> ""
        If ActiveCell.Value = ActiveCell.Offset(1, 0).Value Then
            ActiveCell.Select
            Selection.Delete Shift:=xlUp
        Else
            ActiveCell.Offset(1, 0).Activate
        End If
    Loop
End Sub

Điều đó cung cấp cho bạn danh sách riêng biệt của bạn. Bạn có thể muốn sao chép danh sách của mình sang một trang tính khác trước tiên.


126
2017-10-01 15:43



Cảm ơn! Đây là một bằng chứng cho thấy Stack Exchange tốt hơn bất kỳ nguồn thông tin kỹ thuật nào khác. Tất cả các kết quả khác của google đều vô dụng và không được đánh giá. Ngoài ra tôi tự hỏi làm thế nào các chuyên gia trao đổi tồn tại - Eran Medan


Tôi sử dụng hai phương pháp chính để có được các giá trị khác biệt - thứ nhất là vô giá Remove Duplicates công cụ như đề xuất bởi Nathan DeWitt.

Nhược điểm của Remove Duplicates là bạn mất dữ liệu. Mặc dù sức mạnh của Ctrl+z bạn có thể không muốn làm điều này vì nhiều lý do khác nhau - ví dụ: bạn có thể có các bộ lọc hiện được chọn làm cho nó khá lộn xộn để loại bỏ các bản sao để có được danh sách giá trị riêng biệt của bạn.

Phương pháp khác, không được đề cập ở trên là sử dụng Bảng tổng hợp.

Giả sử đây là bảng của bạn và bạn muốn có danh sách các Nền tảng riêng biệt. dummy table

Chèn một Pivot Table với bảng làm nguồn dữ liệu của bạn.

Bây giờ chọn Nền tảng cột của bạn Row Labels.

Thì đấy! Danh sách các giá trị khác biệt.

pivot table as distinct value list

Nếu bạn muốn dọn dẹp, bạn có thể tắt Field Headers và thiết lập Grand Totals được Off for Rows and Columns.


19
2018-04-04 09:38



Kỹ thuật PivotTable thật tuyệt vời! Cám ơn vì cái này. - Thomas L Holaday


Hoặc (một cách thô lỗ đơn giản):

Trong B1,

=IF(COUNTIF(A$1:A1,A1)=1,A1,"") 

và sao chép xuống. Nó chỉ sao chép sự xuất hiện đầu tiên của mỗi giá trị trên (trong hàng mà nó xảy ra trong).


17
2017-08-16 15:35



Như với tất cả các công thức Excel, bạn có thể cần sử dụng dấu chấm phẩy (;) thay vì dấu phẩy (,) dựa trên cài đặt khu vực của hệ thống của bạn. - Scott


Hoặc bạn có thể bao gồm tùy chọn bộ lọc trong macro

    Columns("A:A").AdvancedFilter Action:=xlFilterInPlace, Unique:=True

5
2018-04-13 09:37





Đối với tôi, cách đơn giản nhất để sắp xếp là sử dụng tùy chọn "Lọc".

Bước đầu tiên là tìm các giá trị trùng lặp với Định dạng có điều kiện -> Quy tắc ô đánh dấu -> Giá trị trùng lặp.

Sau đó nhấp vào mũi tên trên cột bạn có các bản sao (trong trường hợp này là "Nền tảng") -> Lọc theo màu (Màu ô hoặc màu phông chữ).


3
2018-03-06 18:54



Kết quả ở đây là khác nhau, như tất cả các các trường hợp trùng lặp được xóa. Ví dụ. cột có giá trị [a, a, b] nên giảm xuống [a, b], không phải [b]. - Hugo Ideler