Trong bài viết này Học Excel Online sẽ hướng dẫn các bạn cách lọc ra một danh sách các giá trị riêng biệt độc nhất trong cột bằng cách sử dụng một công thức và cách tinh chỉnh công thức đó cho các bộ dữ liệu khác nhau. Ngoài ra, Học Excel Online cũng sẽ chỉ cho các bạn cách nhanh chóng nhất để có được một danh sách riêng biệt bằng cách sử dụng Bộ lọc nâng cao của Excel, hàm liệt kê danh sách trong excel và làm thế nào để trích xuất các hàng duy nhất sử dụng Duplicate Remover.Bạn đang xem: Cách trích danh sách trong excel

Để lọc ra một danh sách các giá trị duy nhất trong Excel bạn có thể sử dụng cách xác định các giá trị duy nhất đó, lọc riêng rồi sao chép chúng. Tuy nhiên, sử dụng cách làm này sẽ tốn nhiều thời gian, để thực hiện nhanh hơn, bạn có thể sử dụng một công thức đặc biệt cùng với một vài kĩ thuật khác mà Học Excel Online sẽ chia sẻ với các bạn ngay sau đây.

Đang xem: Cách trích danh sách trong excel

Xem nhanh

Cách lọc ra các giá trị duy nhất trong ExcelCách lọc ra các giá trị khác biệt trong Excel (duy nhất + những dữ liệu giống nhau sẽ chỉ xuất hiện một lần)Cách trích xuất các giá trị khác nhau phân biệt chữ hoa chữ thường trong ExcelCách hoạt động của công thức trích xuất các giá trị duy nhất/ khác biệt

Cách lọc ra các giá trị duy nhất trong Excel

Để tránh nhầm lẫn, đầu tiên, chúng ta cần hiểu những giá trị nào được gọi là là các giá trị duy nhất trong Excel. Giá trị duy nhất là các giá trị chỉ tồn tại duy nhất một lần trong toàn bộ danh sách. Ví dụ:

*

Để trích xuất một danh sách các giá trị duy nhất trong Excel, bạn có thể sử dụng một trong các công thức sau đây.

Công thức mảng để tìm ra những giá trị duy nhất (hoàn thành công thức xong ta nhấn Ctrl + Shift + Enter):

= 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 xuyên (hoàn thành công thức xong ta 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 đó:

A2: A10 – danh sách nguồn B1 – ô đầu của danh sách duy nhất trừ đi 1. Trong ví dụ này, chúng ta bắt đầu danh sách các giá trị duy nhất ở B2, và do đó chúng ta đưa B1 vào công thức (B2-1 = B1). Nếu danh sách các giá trị duy nhất của bạn bắt đầu ở ô C3, ta sẽ thay đổi $B$1:B1 thành $C$2:C2.

*

Chú thích. Bởi vì công thức tham chiếu ô bên trên ô đầu tiên của danh sách các giá trị duy nhất, thường là tiêu đề cột (như trong ví dụ này là B1), nên bạn cần đảm bảo rằng tiêu đề của bạn là một tên duy nhất không xuất hiện ở bất cứ đâu trong cột.

Ở ví dụ này đang trích xuất các tên duy nhất từ cột A (chính xác hơn là trong phạm vi A2: A20), và ảnh chụp màn hình sau sẽ minh họa cho công thức sẽ dùng:

Dưới đây là giải thích một cách chi tiết về việc sử dụng công thức để trích xuất các giá trị duy nhất trong bảng tính Excel của bạn:

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

Cách lọc ra các giá trị khác biệt trong Excel (duy nhất + những dữ liệu giống nhau sẽ chỉ xuất hiện một lần)

Như bạn đã đoán ra từ tiêu đề của phần này, các giá trị khác biệt trong Excel là tất cả các giá trị khác nhau trong danh sách, tức là những giá trị đó chỉ xuất hiện một lần duy nhất dù nó có bao nhiêu nhân bản đi chăng nữa. Ví dụ:

Để có được một danh sách các giá trị khác biệt trong Excel, ta sử dụng công thức sau.

Công thức mảng để tìm những giá trị khác biệt (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 chuẩn để tìm những giá trị khác biệt

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

Trong đó:

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

Trích xuất các giá trị khác biệt vào trong một cột và bỏ qua các ô trống Nếu danh sách nguồn của bạn chứa ô trống, thì những công thức chúng ra vừa nêu ở trên sẽ trả về một số không cho mỗi hàng trống. Để khắc phục điều này, chúng ta cần cải tiến công thức thêm một chút.

Học lập trình VBA trong Excel ở đâu?

Công thức trích xuất các giá trị khác 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)), “”)

Trích xuất danh sách các giá trị văn bản riêng biệt bỏ qua số và khoảng trống Theo cách tương tự, bạn có thể nhận được một danh sách các giá trị riêng biệt trừ các ô và ô trống có chứa 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)), “”)

Trong đó, A2: A10 là danh sách nguồn, và B1 là ô nằm ngay trên ô đầu tiên của danh sách riêng biệt.

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

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

Khi làm việc với những dữ liệu nhạy cảm như trong trường hợp như mật khẩu, tên người dùng hoặc tên tệp, bạn sẽ cần phải có danh sách các giá trị khác biệt nhạy cảm với từng chữ. Khi đó, bạn có thể sử dụng công thức mảng sau đây, với A2:A10 là danh sách nguồn, và B1 là ô nằm 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ị riêng biệt theo từng trường hợp (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 hoạt động của công thức trích xuất các giá trị duy nhất/ khác biệt

Phần này được viết riêng cho những người muốn hiểu rõ về những công thức này một cách cụ thể nhất.

Việc trích xuất các giá trị duy nhất và khác biệt trong Excel thực sự không phải một thao tác đơn giản. Nhưng bạn có thể thấy rằng tất cả các công thức đều được dựa trên cùng một cách tiếp cận – sử dụng INDEX / MATCH kết hợp với hàm COUNTIF, hoặc COUNTIF + IF.

Xem thêm: Top 14 Kiểu Tóc Dành Cho Người Tóc Ít Và Mỏng Đẹp Khắc Phục Khuyết Điểm Hiệu Quả

Để phân tích sâu hơn, chúng ta sẽ cùng sử dụng công thức mảng để trích ra một danh sách các giá trị khác 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ông thức đã được cải tiến hoặc biến thể từ công thức cơ bản sau:

=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10), 0)), “”) Đối với người mới bắt đầu, chúng ta có thể bỏ qua hàm IFERROR, hàm này được sử dụng với một mục đích duy nhất để loại bỏ lỗi # N/A khi số ô mà bạn đã sao chép công thức vượt quá số lượng các giá trị khác biệt trong danh sách nguồn.

Và bây giờ, chúng ta cùng tìm hiểu về những phần cốt lõi trong công thức tìm giá trị khác biệt:

1. COUNTIF(range, criteria) hàm này sẽ trả về số ô trong một phạm vi đáp ứng được điều kiện cụ thể. Như ở trong ví dụ này, COUNTIF($B$1:B1, $A$2:$A$10) trả về mảng 1 và 0 dựa trên bất kỳ giá trị nào trong danh sách nguồn ($A$2:$A$10) xuất hiện trong danh sách các giá trị khác biệt ($B$1:B1). Nếu giá trị được tìm thấy, công thức sẽ trả về 1, nếu không tìm thấy sẽ trả về – 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}

Ở đây, không có mục nào trong danh sách nguồn (tiêu chí) xuất hiện trong phạm vi phù hợp với điều kiện tìm. Trong trường hợp này, phạm vi ($B$1:B1) bao gồm một mục duy nhất – “Distinct”. 2. MATCH (lookup_value, lookup_array, ) trả về vị trí tương đối của giá trị đang tìm trong mảng. Trong ví dụ này, lookup_value là 0, nên ta có: MATCH(0,COUNTIF($B$1:B1, $A$2:$A$10), 0)

trở thành:

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

Và trả về 1

Bởi vì chức năng MATCH nhận về giá trị đầu tiên cũng chính là giá trị bằng với giá trị đang đang tìm kiếm (mà giá trị đang tìm là 0). 3. INDEX(array, row_num, ) trả về một giá trị nằm trong một mảng dựa trên hàng đã được chỉ định và những số cột (tùy ý). 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”.

Do đó, khi sao chép công thức sang ô 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)), “”)

trả về:

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

Vì có một “Ronnie” được tìm thấy trong phạm vi $B$1:B2.

Từ đó, MATCH(0,{1;0;0;0;0;0;0;0;0},0) trả về 2, bởi vì 2 là vị trí tương đối của số 0 đầu tiên trong mảng. 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 đánh giá về phần đó: Như đã đề cập, các công thức khác được thảo luận trong bài hướng dẫn này dựa trên logic tương tự, nhưng có thêm chút thay đổi:

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

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

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

Xem thêm:

Trích xuất các giá trị khác biệt từ một cột sử dụng Bộ lọc nâng cao – Advanced Filter của Excel Nếu bạn không muốn lãng phí thời gian để hiểu cặn kẽ các công thức giá trị khác biệt, bạn có thể nhanh chóng có được danh sách các giá trị khác biệt bằng cách sử dụng Bộ lọc nâng cao bằng cách thực hiện các bước chi tiết dưới đây.

1. Chọn cột dữ liệu bạn muốn trích xuất các giá trị khác biệt. 2. Chuyển sang tab Data > Sort & Filter và nhấp vào nút Advanced: 3. Trong hộp thoại Advanced Filter, bạn chọn các tuỳ chọn sau: – Kiểm tra nút Copy to another location. – Trong hộp List range, xác minh rằng phạm vi nguồn được hiển thị chính xác. – Trong hộp Copy to, nhập phạm vi trên cùng của dải ô bạn muốn sao chép dữ liệu sang. Lưu ý là bạn chỉ có thể sao chép dữ liệu đã được lọc vào trang tính đang hoạt động. – Chọn Unique records only.

Leave a Reply

Your email address will not be published. Required fields are marked *