Có thể bạn quan tâm: Cách Tính Kết Quả Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
Mở Đầu
Trong công việc hàng ngày, việc xử lý dữ liệu trên Excel là một kỹ năng không thể thiếu đối với nhiều ngành nghề: kế toán, marketing, nghiên cứu thị trường, quản lý dự án, v.v. Một trong những nhu cầu phổ biến nhất là lấy các giá trị độc nhất (unique values) trong một cột – tức là loại bỏ các bản sao để chỉ còn lại danh sách các mục duy nhất. Điều này giúp bạn:
- Tóm tắt nhanh số lượng khách hàng, sản phẩm, hay mã số khác nhau.
- Kiểm tra dữ liệu xem có sự trùng lặp nào không mong muốn.
- Xây dựng danh sách cho các công cụ phân tích, như pivot table, biểu đồ, hoặc công cụ BI.
Bài viết này sẽ cung cấp hướng dẫn chi tiết, đầy đủ về cách lấy giá trị độc nhất trong cột Excel, từ các phương pháp cơ bản (sử dụng tính năng Remove Duplicates, Advanced Filter) đến công thức (SUMPRODUCT, FREQUENCY, COUNTIF, UNIQUE) và công cụ mạnh mẽ như Power Query và VBA. Bạn sẽ hiểu rõ khi nào nên dùng phương pháp nào, cách tối ưu hiệu suất, và cách tránh những lỗi thường gặp.
Có thể bạn quan tâm: Sắp Xếp Giảm Dần Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
1. Hiểu Rõ Khái Niệm “Unique Values”
1.1 Định Nghĩa
- Unique values: Các giá trị xuất hiện chỉ một lần trong một tập hợp dữ liệu. Khi nói “lấy unique values trong một cột”, chúng ta muốn loại bỏ các bản sao và giữ lại mỗi giá trị duy nhất một lần.
- Distinct values: Thuật ngữ thường dùng trong SQL, tương tự như unique values, nhưng trong Excel đôi khi “distinct” được dùng để chỉ các giá trị khác nhau (có thể xuất hiện nhiều lần) – ví dụ khi dùng hàm
UNIQUEtrong Office 365, chúng ta có thể lấy danh sách các giá trị khác nhau mà không quan tâm tới tần suất.
1.2 Khi Nào Cần Lấy Unique Values?
| Tình huống | Lý do |
|---|---|
| Kiểm tra danh sách khách hàng | Đảm bảo không có khách hàng trùng lặp trong CRM. |
| Tổng hợp danh mục sản phẩm | Lấy danh sách các mã sản phẩm duy nhất để tạo bảng giá. |
| Phân tích dữ liệu | Loại bỏ trùng lặp để tính trung bình, tổng, hoặc tần suất chính xác. |
| Chuẩn bị dữ liệu cho Power BI | Đảm bảo mô hình dữ liệu không chứa bản sao gây lỗi quan hệ. |
Có thể bạn quan tâm: Cách Làm Tròn Số Trong Excel Đến Bội Số Gần Nhất Của 5: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
2. Các Phương Pháp Cơ Bản (Không Cần Công Thức)
2.1 Sử Dụng Tính Năng “Remove Duplicates”
- Chọn cột hoặc vùng dữ liệu cần xử lý.
- Vào Data → Remove Duplicates.
- Đánh dấu cột cần kiểm tra (nếu có nhiều cột) và nhấn OK.
- Excel sẽ thông báo số bản sao đã bị xóa và số giá trị duy nhất còn lại.
Ưu điểm: Nhanh, trực quan, không cần công thức.
Nhược điểm: Thay đổi dữ liệu gốc (không giữ lại bản sao); không thể trả về danh sách trong một vị trí khác mà không sao chép.
2.2 Advanced Filter
- Chọn cột chứa dữ liệu.
- Vào Data → Advanced.
- Chọn Copy to another location, chỉ định ô đích (ví dụ
E1). - Đánh dấu Unique records only và OK.
Ưu điểm: Giữ nguyên dữ liệu gốc; có thể sao chép danh sách độc nhất sang vị trí mới.
Nhược điểm: Cần thao tác thủ công; không tự động cập nhật khi dữ liệu thay đổi.
3. Sử Dụng Hàm Excel Để Lấy Unique Values
3.1 Hàm UNIQUE (Excel 365 / Excel 2026)
Cú pháp:
UNIQUE(array, by_col, exactly_once)
array: Dải ô cần xử lý.by_col(tùy chọn):FALSE(mặc định) – duyệt theo hàng;TRUE– duyệt theo cột.exactly_once(tùy chọn):FALSE(mặc định) – trả về các giá trị duy nhất (distinct);TRUE– trả về chỉ các giá trị xuất hiện một lần.
Ví dụ: Giả sử cột A chứa danh sách tên:
| A |
|---|
| Anh |
| Bình |
| Anh |
| Cường |
| Bình |
| Dũng |
- Lấy danh sách các giá trị khác nhau (distinct):
=UNIQUE(A2:A7)→ trả về {Anh; Bình; Cường; Dũng} - Lấy chỉ các giá trị xuất hiện một lần:
=UNIQUE(A2:A7, FALSE, TRUE)→ trả về {Cường; Dũng}
Lưu ý: Hàm UNIQUE trả về một mảng động (dynamic array), tự động mở rộng khi thêm dữ liệu.
3.2 Kết Hợp UNIQUE Với SORT Và FILTER
- Sắp xếp danh sách độc nhất:
=SORT(UNIQUE(A2:A100)) - Lọc theo điều kiện:
=FILTER(UNIQUE(A2:A100), UNIQUE(A2:A100) <> "")(loại bỏ ô trống).
3.3 Hàm COUNTIF + IF (Dành Cho Phiên Bản Cũ)
Nếu bạn đang dùng Excel 2026, 2026, 2026, không có hàm UNIQUE, bạn có thể dùng công thức mảng:
- Bước 1: Tạo danh sách phụ (cột B) để đánh dấu lần xuất hiện đầu tiên.
=IF(COUNTIF($A$2:A2, A2)=1, A2, "")
Sao chép công thức xuống hết danh sách. Kết quả: chỉ lần xuất hiện đầu tiên của mỗi giá trị được giữ lại, các bản sao trả về chuỗi rỗng.
Bước 2: Lọc bỏ các ô rỗng (có thể dùng Advanced Filter hoặc công thức mảng
IF+SMALL).Công thức mảng để tạo danh sách không rỗng (công thức này nhập bằng Ctrl+Shift+Enter trong các phiên bản cũ):
=IFERROR(INDEX($B$2:$B$100, SMALL(IF($B$2:$B$100<>"", ROW($B$2:$B$100)-ROW($B$2)+1), ROW(1:1))), "")Kéo công thức xuống; mỗi hàng sẽ trả về một giá trị độc nhất.
3.4 Hàm SUMPRODUCT + FREQUENCY
Đây là cách “thủ công” hơn, thường dùng khi muốn đếm số lần xuất hiện duy nhất:
=SUMPRODUCT(--(FREQUENCY(MATCH(A2:A100, A2:A100, 0), ROW(A2:A100)-ROW(A2)+1)=1))
Công thức trên trả về số lượng giá trị xuất hiện chỉ một lần. Để liệt kê chúng, bạn cần kết hợp với INDEX và SMALL như trong mục 3.2.
3.5 Hàm AGGREGATE (Excel 2026+)
AGGREGATE có thể bỏ qua lỗi và trả về giá trị thứ n trong danh sách không trùng lặp:
=IFERROR(AGGREGATE(15, 6, 1/(COUNTIF($A$2:$A$100, $A$2:$A$100)=1) $A$2:$A$100, ROW(1:1)), "")
15là hàmSMALL.6bỏ qua lỗi (#DIV/0!khi chia cho 0).- Công thức này trả về giá trị duy nhất (xuất hiện một lần) theo thứ tự tăng dần.
4. Power Query – Công Cụ Mạnh Mẽ Để Lấy Unique Values
Power Query (hay Get & Transform) là công cụ ETL tích hợp trong Excel 2026 trở lên, cho phép xử lý dữ liệu lớn mà không làm chậm bảng tính.
4.1 Các Bước Cơ Bản

Có thể bạn quan tâm: Excel Tự Xóa Số 0: Cách Thực Hiện, Lý Do Và Những Lưu Ý Quan Trọng
- Chọn dữ liệu →
Data → From Table/Range(hoặcGet Data → From Table/Range). - Power Query Editor mở ra. Chọn cột muốn lọc.
- Vào Home → Remove Rows → Remove Duplicates.
- Nhấn Close & Load → Dữ liệu độc nhất được tải về một sheet mới hoặc một bảng pivot.
4.2 Lấy Các Giá Trị Xuất Hiện Chỉ Một Lần (Exactly Once)
Trong Power Query, bạn có thể:
- Nhóm (Group By) cột đó, chọn Count Rows.
- Lọc các hàng có
Count = 1.
Chi tiết:
- Home → Group By.
- Group By: Chọn cột cần, đặt New column name = “Count”, Operation = “Count Rows”.
- Sau khi tạo bảng
Value | Count, Filter cộtCount= 1. - Kết quả là danh sách các giá trị xuất hiện một lần duy nhất.
4.3 Tự Động Hóa Với Nhiều Bước
Power Query cho phép lưu query và refresh khi dữ liệu gốc thay đổi, rất tiện cho báo cáo định kỳ.
5. VBA – Tự Động Hóa Lấy Unique Values
Khi làm việc với các workbook lớn, thủ công hoặc dùng công thức mảng có thể chậm. VBA cho phép viết macro nhanh chóng.
5.1 Macro Cơ Bản: Sao Chép Các Giá Trị Độc Nhất Sang Cột Khác
Sub CopyUniqueValues() Dim srcRng As Range, destRng As Range Dim dict As Object Set dict = CreateObject("Scripting.Dictionary") ' Định nghĩa nguồn và đích Set srcRng = ThisWorkbook.Sheets("Sheet1").Range("A2:A1000") Set destRng = ThisWorkbook.Sheets("Sheet1").Range("C2") Dim cell As Range For Each cell In srcRng If Not dict.Exists(cell.Value) And Trim(cell.Value) <> "" Then dict.Add cell.Value, Nothing End If Next cell ' Ghi ra cột đích destRng.Resize(dict.Count, 1).Value = Application.Transpose(dict.Keys)
End Sub
- Sử dụng
Scripting.Dictionaryđể lưu các khóa duy nhất. Application.Transposechuyển mảng 1‑dimensional thành cột.
5.2 Lấy Các Giá Trị Xuất Hiện Chỉ Một Lần
Sub UniqueOnce() Dim srcRng As Range, destRng As Range Dim dict As Object, cnt As Object Set dict = CreateObject("Scripting.Dictionary") Set cnt = CreateObject("Scripting.Dictionary") Set srcRng = ThisWorkbook.Sheets("Sheet1").Range("A2:A1000") Set destRng = ThisWorkbook.Sheets("Sheet1").Range("E2") Dim v As Variant For Each v In srcRng.Value If Trim(v) <> "" Then If dict.Exists(v) Then cnt(v) = cnt(v) + 1 Else dict.Add v, Nothing cnt.Add v, 1 End If End If Next v Dim outArr() As Variant ReDim outArr(1 To dict.Count, 1 To 1) Dim i As Long: i = 1 Dim key As Variant For Each key In dict.Keys If cnt(key) = 1 Then outArr(i, 1) = key i = i + 1 End If Next key If i > 1 Then destRng.Resize(i - 1, 1).Value = outArr End If
End Sub
- Hai dictionary:
dictlưu tất cả các giá trị,cntđếm số lần xuất hiện. - Cuối cùng chỉ ghi các giá trị có
cnt = 1.
5.3 Khi Nào Dùng VBA?
| Trường hợp | Lý do |
|---|---|
| Dữ liệu > 10.000 dòng | Công thức mảng có thể chậm, VBA nhanh hơn. |
| Cần tự động hóa (nhiều workbook, báo cáo định kỳ) | Ghi macro và chạy “Refresh All”. |
| Kết hợp nhiều bước (lọc, tính toán, xuất file) | VBA cho phép chuỗi các thao tác phức tạp. |
6. So Sánh Các Phương Pháp
| Phương pháp | Ưu điểm | Nhược điểm | Thích hợp cho |
|---|---|---|---|
| Remove Duplicates | Nhanh, đơn giản | Thay đổi dữ liệu gốc, không tự động cập nhật | Dữ liệu tạm, thao tác một lần |
| Advanced Filter | Giữ nguyên dữ liệu, sao chép sang vị trí mới | Cần thao tác thủ công | Khi muốn tạo danh sách phụ trên sheet |
| UNIQUE (Office 365) | Động, tự cập nhật, có thể kết hợp SORT, FILTER | Chỉ có trong Office 365/2026 | Người dùng mới, báo cáo động |
| COUNTIF + IF (cũ) | Hoạt động mọi phiên bản | Công thức phức tạp, cần nhập mảng | Khi không có UNIQUE |
| Power Query | Xử lý lượng lớn, lưu query, tự động refresh | Cần học cách dùng Power Query | Dữ liệu lớn, quy trình ETL |
| VBA | Tự động hoá, tốc độ cao, linh hoạt | Cần viết code, bảo trì macro | Báo cáo định kỳ, xử lý hàng nghìn dòng |
7. Thực Hành: 5 Bài Tập Thực Tế
Bài 1: Lấy danh sách khách hàng duy nhất từ cột A và sắp xếp alphabet
=SORT(UNIQUE(A2:A500))
Bài 2: Lấy các sản phẩm chỉ xuất hiện một lần trong danh sách (cột B)
=FILTER(UNIQUE(B2:B1000), COUNTIF(B2:B1000, UNIQUE(B2:B1000))=1)
Bài 3: Sử dụng Power Query để tạo bảng “Khách hàng đã mua > 3 lần”
- Load dữ liệu vào Power Query.
- Group By cột “CustomerID”, tính
Count Rows. - Filter
Count Rows > 3. - Load kết quả về sheet.
Bài 4: VBA sao chép danh sách email duy nhất sang cột D
Sub CopyEmails() Dim rng As Range, dest As Range, dict As Object Set dict = CreateObject("Scripting.Dictionary") Set rng = Range("C2:C2000") ' cột email Set dest = Range("D2") Dim v For Each v In rng.Value If Trim(v) <> "" Then dict(v) = 1 Next v dest.Resize(dict.Count, 1).Value = Application.Transpose(dict.Keys)
End Sub
Bài 5: Kiểm tra nhanh có bao nhiêu giá trị trùng lặp trong cột D?
=ROWS(D2:D1000)-COUNTA(UNIQUE(D2:D1000))
Kết quả trả về số bản sao (tổng số hàng trừ số giá trị duy nhất).
8. Các Lưu Ý Khi Làm Việc Với Unique Values
- Xử lý giá trị trống
UNIQUEvàAdvanced Filterđều bảo lưu các ô trống như một giá trị duy nhất. Nếu không muốn, hãy dùngFILTER(..., <> "")hoặcIF(A2:A100<>"", ...).Phân biệt chữ hoa/chữ thường
Excel mặc định không phân biệt (case‑insensitive). Nếu cần phân biệt, dùng hàm
EXACTtrong công thức mảng, hoặc tạo cột phụ=UPPER(A2)rồi lấy unique.Dữ liệu dạng số và văn bản
Khi dữ liệu chứa cả số và chuỗi, Excel có thể tự động chuyển đổi. Đảm bảo định dạng Text nếu muốn giữ nguyên.
Hiệu suất
Với > 50.000 dòng, các công thức mảng (
COUNTIF+IF) có thể chậm. Hãy ưu tiên Power Query hoặc VBA.Đối với bảng động (Table)
- Khi dữ liệu được định dạng thành Table (
Ctrl+T), các hàm nhưUNIQUEsẽ tự động mở rộng khi thêm hàng mới, rất tiện cho báo cáo tự động.
9. Kết Luận
Việc lấy giá trị độc nhất trong một cột Excel không chỉ là một thao tác đơn giản mà còn là nền tảng cho nhiều quy trình phân tích dữ liệu. Từ các công cụ cơ bản như Remove Duplicates, Advanced Filter, đến công thức hiện đại (UNIQUE, FILTER, SORT) và công cụ mạnh mẽ như Power Query và VBA, bạn có thể chọn giải pháp phù hợp với:
- Kích thước dữ liệu (hàng chục, trăm, nghìn, hay hàng triệu).
- Phiên bản Excel (Office 365, 2026, 2026, 2026, 2026…).
- Mức độ tự động hoá cần thiết (một lần thực hiện hay báo cáo định kỳ).
Hãy thử áp dụng các phương pháp trên vào công việc thực tế của bạn, và đừng quên luôn sao lưu dữ liệu trước khi thực hiện các thao tác loại bỏ bản sao. Khi đã nắm vững các kỹ thuật này, bạn sẽ tiết kiệm thời gian, giảm lỗi nhập liệu và nâng cao chất lượng phân tích dữ liệu trong Excel.
Chúc bạn thành công!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
