Nhận danh sách các giá trị duy nhất trong Excel & trích xuất các hàng duy nhất

  • Chia Sẻ Cái Này
Michael Brown

Đây là phần cuối cùng của loạt bài Giá trị duy nhất trong Excel trình bày cách lấy danh sách các giá trị riêng biệt/duy nhất trong cột bằng cách sử dụng công thức và cách điều chỉnh công thức đó cho các bộ dữ liệu khác nhau. Bạn cũng sẽ tìm hiểu cách nhanh chóng có được một danh sách riêng biệt bằng Bộ lọc nâng cao của Excel và cách trích xuất các hàng duy nhất bằng Trình xóa trùng lặp.

Trong một số bài viết gần đây, chúng ta đã thảo luận về các phương pháp khác nhau để đếm và tìm các giá trị duy nhất trong Excel. Nếu bạn có cơ hội đọc những hướng dẫn đó, bạn đã biết cách lấy danh sách duy nhất hoặc khác biệt bằng cách xác định, lọc và sao chép. Nhưng cách đó hơi dài và cho đến nay không phải là cách duy nhất để trích xuất các giá trị duy nhất trong Excel. Bạn có thể làm điều đó nhanh hơn nhiều bằng cách sử dụng một công thức đặc biệt và trong giây lát, tôi sẽ chỉ cho bạn kỹ thuật này cùng một số kỹ thuật khác.

    Mẹo. Để nhanh chóng nhận được các giá trị duy nhất trong phiên bản Excel 365 mới nhất hỗ trợ mảng động, hãy sử dụng hàm UNIQUE như được giải thích trong hướng dẫn được liên kết ở trên.

    Cách nhận các giá trị duy nhất trong Excel

    Để tránh nhầm lẫn, trước hết, hãy thống nhất về cái mà chúng ta gọi là giá trị duy nhất trong Excel. Giá trị duy nhất là những giá trị chỉ tồn tại một lần trong danh sách. Ví dụ:

    Để trích xuất danh sách các giá trị duy nhất trong Excel, hãy sử dụng một trong các công thức sau.

    Mảng giá trị duy nhất công thức (hoàn thành bằng cách nhấn Ctrl + Shift + Entertrích xuất các hàng duy nhất, chọn Sao chép sang vị trí khác , rồi chỉ định chính xác nơi bạn muốn sao chép chúng - trang tính hiện hoạt (chọn tùy chọn Vị trí tùy chỉnh và chỉ định ô trên cùng của đích phạm vi), trang tính mới hoặc sổ làm việc mới.

    Trong ví dụ này, hãy chọn trang tính mới:

  • Nhấp vào Hoàn tất và bạn đã hoàn tất!
  • Bạn thích cách nhanh chóng và đơn giản này để lấy danh sách các giá trị hoặc hàng duy nhất trong Excel? Nếu vậy, tôi khuyến khích bạn tải xuống phiên bản đánh giá bên dưới và dùng thử. Công cụ Xóa trùng lặp cũng như tất cả các công cụ tiết kiệm thời gian khác mà chúng tôi có đều được bao gồm trong Ultimate Suite dành cho Excel.

    Các bản tải xuống hiện có

    Tìm các giá trị duy nhất trong Excel - sổ làm việc mẫu (tệp .xlsx)

    Ultimate Suite - phiên bản đánh giá (tệp .exe)

    ):

    =IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1,$A$2:$A$10) + (COUNTIF($A$2:$A$10, $A$2:$A$10)1), 0)), "")

    Công thức giá trị duy nhất thông thường (hoàn thành bằng cách nhấn Enter):

    =IFERROR(INDEX($A$2:$A$10, MATCH(0,INDEX(COUNTIF($B$1:B1, $A$2:$A$10)+(COUNTIF($A$2:$A$10, $A$2:$A$10)1),0,0), 0)), "")

    Trong các công thức trên, các tham chiếu sau được sử dụng:

    • A2:A10 - danh sách nguồn.
    • B1 - ô trên cùng của danh sách duy nhất trừ 1. Trong ví dụ này, chúng tôi bắt đầu danh sách duy nhất trong B2, và do đó chúng tôi cung cấp B1 cho công thức (B2-1=B1). Nếu danh sách duy nhất của bạn bắt đầu, chẳng hạn như trong ô C3, thì hãy thay đổi $B$1:B1 thành $C$2:C2.

    Lưu ý. Vì công thức tham chiếu ô phía trên ô đầu tiên của danh sách duy nhất, thường là tiêu đề cột (B1 trong ví dụ này), hãy đảm bảo rằng tiêu đề của bạn có một tên duy nhất không xuất hiện ở bất kỳ nơi nào khác trong cột.

    Trong ví dụ này, chúng tôi đang trích xuất các tên duy nhất từ ​​cột A (chính xác hơn là từ phạm vi A2:A20) và ảnh chụp màn hình sau đây minh họa công thức mảng đang hoạt động:

    Giải thích chi tiết về logic của công thức được cung cấp trong một phần riêng biệt và sau đây là cách sử dụng công thức để trích xuất các giá trị duy nhất trong trang tính Excel của bạn:

    • Tinh chỉnh một trong các công thức theo tập dữ liệu của bạn.
    • Nhập công thức vào ô đầu tiên của danh sách duy nhất (B2 trong ví dụ này).
    • Nếu bạn đang sử dụng công thức mảng, hãy nhấn Ctrl + Shift + Enter . Nếu bạn đã chọn công thức thông thường, hãy nhấn phím Enter như bình thường.
    • Sao chép công thức xuống nếu cần bằng cách kéo núm điều khiển điền. Từ khi cả haicác công thức giá trị duy nhất được chúng tôi gói gọn trong hàm IFERROR, bạn có thể sao chép công thức đến cuối bảng và nó sẽ không làm lộn xộn dữ liệu của bạn với bất kỳ lỗi nào cho dù có bao nhiêu giá trị duy nhất được trích xuất.

    Cách lấy giá trị riêng biệt trong Excel (duy nhất + lần xuất hiện trùng lặp đầu tiên)

    Như bạn có thể đã đoán từ tiêu đề của phần này, giá trị khác biệt trong Excel đều khác nhau các giá trị trong một danh sách, tức là các giá trị duy nhất và các trường hợp đầu tiên của các giá trị trùng lặp. Ví dụ:

    Để có một danh sách riêng biệt trong Excel, hãy sử dụng các công thức sau.

    Công thức riêng biệt của mảng (yêu cầu nhấn Ctrl + Shift + Enter ):

    =IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10), 0)), "")

    Công thức riêng biệt thông thường:

    =IFERROR(INDEX($A$2:$A$10, MATCH(0, INDEX(COUNTIF($B$1:B1, $A$2:$A$10), 0, 0), 0)), "")

    Ở đâu:

    • A2:A10 là danh sách nguồn.
    • B1 là ô phía trên ô đầu tiên của danh sách riêng biệt. Trong ví dụ này, danh sách riêng biệt bắt đầu ở ô B2 (là ô đầu tiên bạn nhập công thức), vì vậy, bạn tham chiếu đến B1.

    Trích xuất các giá trị riêng biệt trong một cột bỏ qua các ô trống

    Nếu danh sách nguồn của bạn chứa bất kỳ ô trống nào, thì công thức riêng biệt mà chúng ta vừa thảo luận sẽ trả về số 0 cho mỗi hàng trống, đây có thể là một vấn đề. Để khắc phục điều này, hãy cải thiện công thức thêm một chút:

    Công thức mảng để trích xuất các giá trị riêng biệt không bao gồm khoảng trống :

    =IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10&"") + IF($A$2:$A$10="",1,0), 0)), "")

    Lấy danh sách các giá trị khác biệt giá trị văn bản bỏ qua số vàkhoảng trống

    Theo cách tương tự, bạn có thể nhận danh sách các giá trị riêng biệt không bao gồm ô trống và ô có số :

    =IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10&"") + IF(ISTEXT($A$2:$A$10)=FALSE,1,0), 0)), "")

    Nhanh chóng xin nhắc lại, trong các công thức trên, A2:A10 là danh sách nguồn và B1 là ô ngay phía trên ô đầu tiên của danh sách riêng biệt.

    Ảnh chụp màn hình sau đây hiển thị kết quả của cả hai công thức:

    Cách trích xuất các giá trị phân biệt chữ hoa chữ thường trong Excel

    Khi làm việc với dữ liệu phân biệt chữ hoa chữ thường như mật khẩu, tên người dùng hoặc tên tệp, bạn có thể cần lấy một danh sách của các giá trị phân biệt chữ hoa chữ thường. Đối với điều này, hãy sử dụng công thức mảng sau, trong đó A2:A10 là danh sách nguồn và B1 là ô phía trên ô đầu tiên của danh sách riêng biệt:

    Công thức mảng để nhận các giá trị phân biệt có phân biệt chữ hoa chữ thường (yêu cầu nhấn Ctrl + Shift + Enter )

    =IFERROR(INDEX($A$2:$A$10, MATCH(0, FREQUENCY(IF(EXACT($A$2:$A$10,TRANSPOSE($B$1:B1)), MATCH(ROW($A$2:$A$10), ROW($A$2:$A$10)), ""), MATCH(ROW($A$2:$A$10), ROW($A$2:$A$10))), 0)), "")

    Cách thức hoạt động của công thức duy nhất/khác biệt

    Phần này được viết riêng cho những người tò mò và Những người dùng Excel chu đáo, những người không chỉ muốn biết công thức mà còn hiểu đầy đủ các vấn đề cơ bản của nó.

    Không cần phải nói rằng các công thức để trích xuất các giá trị duy nhất và khác biệt trong Excel không phải là tầm thường và cũng không đơn giản. Tuy nhiên, khi xem xét kỹ hơn, bạn có thể nhận thấy rằng tất cả các công thức đều dựa trên cùng một cách tiếp cận - sử dụng hàm INDEX/MATCH kết hợp với hàm COUNTIF hoặc hàm COUNTIF + IF.

    Để phân tích chuyên sâu, chúng ta hãy sử dụng công thức mảng màtrích xuất một danh sách các giá trị riêng biệt bởi vì tất cả các công thức khác được thảo luận trong hướng dẫn này là các cải tiến hoặc biến thể của công thức cơ bản này:

    =IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10), 0)), "")

    Để bắt đầu, hãy bỏ kiểu loại bỏ hàm IFERROR rõ ràng, được sử dụng với một mục đích duy nhất là loại bỏ lỗi #N/A khi số lượng ô mà bạn đã sao chép công thức vượt quá số lượng giá trị riêng biệt trong danh sách nguồn.

    Và bây giờ, hãy chia nhỏ phần cốt lõi của công thức riêng biệt của chúng ta:

    1. COUNTIF(phạm vi, tiêu chí) trả về số lượng ô trong phạm vi đáp ứng một điều kiện cụ thể.

      Trong ví dụ này, COUNTIF($B$1:B1, $A$2:$A$10) trả về một mảng gồm 1 và 0 dựa trên việc có bất kỳ giá trị nào của danh sách nguồn ($A$2:$A$10) xuất hiện ở đâu đó trong danh sách riêng biệt ($B$1:B1). Nếu giá trị được tìm thấy, công thức trả về 1, nếu không - 0.

      Cụ thể, trong ô B2, COUNTIF($B$1:B1, $A$2:$A$10) trở thành:

      COUNTIF("Distinct", {"Ronnie"; "David"; "Sally"; "Jeremy"; "Robert"; "David"; "Robert"; "Tom"; "Sally"})

      và trả về:

      {0;0;0;0;0;0;0;0;0}

      vì không có mục nào trong danh sách nguồn ( tiêu chí ) xuất hiện trong phạm vi nơi hàm tìm kiếm kết quả khớp. Trong trường hợp này, range ($B$1:B1) bao gồm một mục duy nhất - "Distinct".

    2. MATCH(lookup_value, lookup_array, [match_type]) trả về vị trí tương đối của giá trị tra cứu trong mảng.

    Trong ví dụ này, giá trị tra cứu là 0 và do đó:

    MATCH(0,COUNTIF($B$1:B1, $A$2:$A$10), 0)

    biến thành:

    MATCH(0, { 0 ;0;0;0;0;0;0;0;0},0)

    và trả về

    vì MATCH của chúng tahàm nhận giá trị đầu tiên chính xác bằng giá trị tra cứu (như bạn nhớ, giá trị tra cứu là 0).

  • INDEX(array, row_num, [column_num]) trả về một giá trị trong một mảng dựa trên số hàng và cột (tùy chọn) đã chỉ định.
  • Trong ví dụ này, INDEX($A$2:$A$10, 1)

    trở thành:

    INDEX({"Ronnie"; "David"; "Sally"; "Jeremy"; "Robert"; "David"; "Robert"; "Tom"; "Sally"}, 1)

    và trả về "Ronnie".

    Khi công thức được sao chép xuống cột, danh sách riêng biệt ($B$1:B1) sẽ mở rộng vì tham chiếu ô thứ hai (B1) là tham chiếu tương đối thay đổi theo vị trí tương đối của ô nơi công thức di chuyển.

    Vì vậy, khi được sao chép vào ô B3, COUNTIF($B$1: B1 , $A$2:$A$10) thay đổi thành COUNTIF($B$1: B2 , $A$2:$A$10) và trở thành:

    COUNTIF({"Distinct";"Ronnie"}, {"Ronnie"; "David"; "Sally"; "Jeremy"; "Robert"; "David"; "Robert"; "Tom"; "Sally"}), 0)), "")

    và trả về:

    {1;0;0;0;0;0;0;0;0}

    bởi vì một "Ronnie" được tìm thấy trong phạm vi $B$1:B2.

    Và sau đó, MATCH(0,{1; 0 ;0;0;0;0;0;0;0},0) trả về 2 , vì 2 là vị trí tương đối của số 0 đầu tiên trong mảng.

    Và cuối cùng, INDEX($A$2:$A$10, 2) trả về giá trị từ hàng thứ 2, đó là "David".

    Mẹo. Để hiểu rõ hơn về logic của công thức, bạn có thể chọn các phần khác nhau của công thức trong thanh công thức và nhấn F9 để xem phần được chọn đánh giá như thế nào:

    Nếu bạn vẫn gặp khó khăn khi tính toán ra công thức, bạn có thể xem hướng dẫn sau để biết giải thích chi tiết về cách thức hoạt động của liên kết INDEX/MATCH: INDEX & MATCH tốt hơnthay thế cho Excel VLOOKUP.

    Như đã đề cập, các công thức khác được thảo luận trong hướng dẫn này dựa trên cùng một logic, chỉ với một vài sửa đổi:

    Công thức giá trị duy nhất - chứa thêm một hàm COUNTIF loại trừ khỏi danh sách duy nhất tất cả các mục xuất hiện nhiều lần trong danh sách nguồn: COUNTIF($A$2:$A$10, $A$2:$A$10)1 .

    Công thức giá trị riêng biệt bỏ qua các khoảng trống - ở đây bạn thêm một hàm IF để ngăn các ô trống được thêm vào danh sách riêng biệt: IF($A$2:$A$13="",1,0) .

    Công thức giá trị văn bản riêng biệt bỏ qua các số - bạn sử dụng hàm ISTEXT để kiểm tra xem một giá trị có phải là văn bản hay không và hàm IF để loại bỏ tất cả các loại giá trị khác, kể cả các ô trống: IF(ISTEXT($A$2:$A$13)=FALSE,1,0) .

    Trích xuất các giá trị riêng biệt từ một cột bằng Bộ lọc nâng cao của Excel

    Nếu bạn không muốn lãng phí thời gian vào việc tìm ra các vòng xoắn phức tạp của các công thức giá trị riêng biệt, bạn có thể nhanh chóng nhận được danh sách các giá trị riêng biệt bằng cách sử dụng Bộ lọc nâng cao. Các bước chi tiết thực hiện theo bên dưới.

    1. Chọn cột dữ liệu mà bạn muốn trích xuất các giá trị riêng biệt.
    2. Chuyển sang tab Dữ liệu > Sắp xếp & Lọc và nhấp vào nút Nâng cao :

  • Trong hộp thoại Bộ lọc nâng cao , chọn các tùy chọn sau:
    • Chọn nút radio Sao chép sang vị trí khác .
    • Trong hộp Phạm vi danh sách , xác minh rằng phạm vi nguồn được hiển thị chính xác .
    • Trong Sao chép vào hộp , nhập ô trên cùng của phạm vi đích. Xin lưu ý rằng bạn chỉ có thể sao chép dữ liệu đã lọc vào trang tính đang hoạt động .
    • Chọn Chỉ các bản ghi duy nhất

  • Cuối cùng, nhấp vào nút OK và kiểm tra kết quả:
  • Xin lưu ý rằng mặc dù Advanced Tùy chọn của bộ lọc có tên là " Chỉ các bản ghi duy nhất ", nó trích xuất các giá trị khác biệt , tức là các giá trị duy nhất và lần xuất hiện đầu tiên của các giá trị trùng lặp.

    Trích xuất các hàng duy nhất và khác biệt bằng Bản sao Công cụ xóa

    Trong phần cuối cùng của hướng dẫn này, hãy để tôi chỉ cho bạn giải pháp của riêng chúng tôi để tìm và trích xuất các giá trị khác biệt và duy nhất trong trang tính Excel. Giải pháp này kết hợp tính linh hoạt của các công thức Excel và tính đơn giản của bộ lọc nâng cao. Ngoài ra, nó còn cung cấp một số tính năng độc đáo như:

    • Tìm và trích xuất các hàng duy nhất/khác biệt dựa trên các giá trị trong một hoặc nhiều cột.
    • Tìm , tô sáng sao chép các giá trị duy nhất vào bất kỳ vị trí nào khác, trong cùng hoặc sổ làm việc khác.

    Và bây giờ, hãy xem hoạt động của công cụ Loại bỏ trùng lặp.

    Giả sử bạn có một bảng tóm tắt được tạo bằng cách hợp nhất dữ liệu từ một số bảng khác. Rõ ràng, bảng tóm tắt đó chứa rất nhiều hàng trùng lặp và nhiệm vụ của bạn là trích xuất các hàng duy nhất chỉ xuất hiện trong bảng một lần hoặc các hàng riêng biệtbao gồm các lần xuất hiện trùng lặp duy nhất và đầu tiên. Dù bằng cách nào, với phần bổ trợ Trình xóa trùng lặp, công việc được thực hiện trong 5 bước nhanh chóng.

    1. Chọn bất kỳ ô nào trong bảng nguồn của bạn và nhấp vào nút Trình xóa trùng lặp trên tab Ablebits Data , trong nhóm Dedupe .

    Trình hướng dẫn Loại bỏ trùng lặp sẽ chạy và chọn toàn bộ bảng. Vì vậy, chỉ cần nhấp vào Tiếp theo để chuyển sang bước tiếp theo.

  • Chọn loại giá trị bạn muốn tìm và nhấp vào Tiếp theo :
    • Duy nhất
    • Số lần xuất hiện +1 duy nhất (khác biệt)

    Trong ví dụ này, chúng tôi muốn trích xuất các hàng duy nhất xuất hiện trong bảng nguồn chỉ một lần, vì vậy chúng tôi chọn tùy chọn Duy nhất :

    Mẹo. Như bạn có thể thấy trong ảnh chụp màn hình ở trên, cũng có 2 tùy chọn cho giá trị trùng lặp , chỉ cần ghi nhớ điều này nếu bạn cần sao chép một số trang tính khác.

  • Chọn một hoặc nhiều cột để kiểm tra các giá trị duy nhất.

    Trong ví dụ này, chúng tôi muốn tìm các hàng duy nhất dựa trên các giá trị trong cả 3 cột ( Số thứ tự , Tên Họ ), do đó chúng tôi chọn tất cả.

  • Chọn hành động để thực hiện trên các giá trị duy nhất được tìm thấy. Bạn có các tùy chọn sau:
    • Đánh dấu các giá trị duy nhất
    • Chọn các giá trị duy nhất
    • Xác định trong cột trạng thái
    • Sao chép sang vị trí khác

    Bởi vì chúng tôi là

  • Michael Brown là một người đam mê công nghệ chuyên dụng với niềm đam mê đơn giản hóa các quy trình phức tạp bằng các công cụ phần mềm. Với hơn một thập kỷ kinh nghiệm trong ngành công nghệ, anh ấy đã trau dồi kỹ năng của mình trong Microsoft Excel và Outlook, cũng như Google Trang tính và Tài liệu. Blog của Michael dành để chia sẻ kiến ​​thức và chuyên môn của anh ấy với những người khác, cung cấp các mẹo và hướng dẫn dễ thực hiện để cải thiện năng suất và hiệu quả. Cho dù bạn là một chuyên gia dày dạn kinh nghiệm hay người mới bắt đầu, blog của Michael đều cung cấp những hiểu biết có giá trị và lời khuyên thiết thực để tận dụng tối đa những công cụ phần mềm thiết yếu này.