Có thể bạn quan tâm: Hàm Nối Ký Tự Trong Excel: Từ Cơ Bản Đến Nâng Cao
1. Giới thiệu chung về hàm UNIQUE
Trong môi trường làm việc với dữ liệu lớn, việc lọc ra các giá trị duy nhất (unique) là một trong những nhu cầu phổ biến và quan trọng. Trước khi Excel 365 và Excel 2026 ra mắt, người dùng thường phải dựa vào các công thức phức tạp, PivotTable, hoặc các add‑in để thực hiện nhiệm vụ này. Tuy nhiên, với phiên bản Excel 2026, mặc dù chưa có hàm UNIQUE tích hợp sẵn, chúng ta vẫn có thể mô phỏng chức năng tương tự bằng cách kết hợp một số hàm mạnh mẽ như INDEX, MATCH, COUNTIF, IFERROR, và ROW. Bài viết này sẽ hướng dẫn bạn cách tạo ra “hàm UNIQUE” trong Excel 2026, từ những khái niệm cơ bản, các công thức mẫu, cho tới các ứng dụng thực tiễn và mẹo tối ưu hiệu suất.
Có thể bạn quan tâm: Hàm Min Và Max Trong Excel: Hướng Dẫn Toàn Diện Từ Cơ Bản Đến Nâng Cao
2. Tại sao không có hàm UNIQUE trong Excel 2026?
Excel 2026 được phát hành vào năm 2026 và không bao gồm các hàm động mảng (dynamic array functions) như UNIQUE, SORT, FILTER, SEQUENCE… Những hàm này chỉ xuất hiện trong Office 365 (bây giờ là Microsoft 365) và Excel 2026. Vì vậy, trong Excel 2026 chúng ta phải “đánh đồng” lại bằng các công thức truyền thống, thường là các công thức mảng (array formulas) hoặc sử dụng công cụ Power Query.
Có thể bạn quan tâm: Không Hiển Thị Số 0 Trong Excel: Hướng Dẫn Chi Tiết, Mẹo Thực Tế Và Các Giải Pháp Tối Ưu
3. Các phương pháp chính để lấy danh sách giá trị duy nhất trong Excel 2026
| Phương pháp | Ưu điểm | Nhược điểm | Khi nào nên dùng |
|---|---|---|---|
| Công thức mảng kết hợp INDEX-MATCH-COUNTIF | Không cần add‑in, hoạt động ngay trong sheet | Cần nhập công thức mảng (Ctrl+Shift+Enter), tốc độ chậm với dữ liệu lớn | Dữ liệu vừa phải (< 10.000 hàng), muốn có kết quả ngay trong sheet |
| PivotTable | Nhanh, trực quan, không cần công thức | Không linh hoạt khi cần kết quả dưới dạng danh sách liên tục | Khi muốn tóm tắt nhanh, không cần tự động cập nhật khi dữ liệu thay đổi |
| Advanced Filter | Đơn giản, không cần công thức | Cần thao tác thủ công, không tự động cập nhật | Khi thực hiện một lần hoặc dữ liệu tĩnh |
| Power Query (Get & Transform) | Xử lý dữ liệu lớn, tự động cập nhật, linh hoạt | Cần một chút thời gian học, không có trong mọi phiên bản Excel (có trong Excel 2026 Professional Plus và Office 365) | Dữ liệu lớn, cần quy trình ETL (Extract‑Transform‑Load) |
| Sử dụng VBA (Macro) | Tự động hoá, tùy biến cao | Cần viết mã, bảo trì | Khi muốn tạo chức năng “UNIQUE” như một hàm người dùng (UDF) hoặc thực hiện nhiều bước tự động |
Trong phần tiếp theo, chúng ta sẽ đi sâu vào công thức mảng – phương pháp gần nhất với hàm UNIQUE trong Excel 2026.
4. Cách tạo danh sách duy nhất bằng công thức mảng
4.1. Cấu trúc dữ liệu mẫu
Giả sử chúng ta có một danh sách khách hàng trong cột A (từ A2 đến A20) như sau:
| A (Khách hàng) |
|---|
| Nguyễn Văn A |
| Trần Thị B |
| Lê Văn C |
| Nguyễn Văn A |
| Phạm Thị D |
| Trần Thị B |
| Lê Văn C |
| … |
Mục tiêu: Tạo một danh sách không trùng lặp các tên khách hàng trong cột D, bắt đầu từ ô D2.
4.2. Công thức mảng cơ bản
Công thức sau sẽ trả về giá trị duy nhất thứ n (n = 1, 2, 3, …) trong dải dữ liệu A2:A20:
=IFERROR( INDEX($A$2:$A$20, MATCH(0, COUNTIF($D$1:D1, $A$2:$A$20), 0) ), ""
)
Giải thích từng thành phần:
- COUNTIF($D$1:D1, $A$2:$A$20)
- Khi công thức được sao chép xuống,
$D$1:D1sẽ mở rộng thành$D$1:D2,$D$1:D3, … - Hàm
COUNTIFtrả về một mảng số lần xuất hiện của mỗi giá trị trong A2:A20 trong danh sách đã tạo ở cột D (đã có các giá trị duy nhất trước đó). Khi một giá trị chưa xuất hiện, kết quả là 0.
MATCH(0, …, 0)
Tìm vị trí đầu tiên của giá trị 0 trong mảng trên, tức là vị trí của phần tử chưa được đưa vào danh sách duy nhất.
INDEX($A$2:$A$20, …)
Lấy giá trị tại vị trí được
MATCHtrả về.IFERROR(…, “”)
- Khi không còn giá trị mới nào (tất cả đã được liệt kê),
MATCHtrả về lỗi#N/A.IFERRORchuyển lỗi thành chuỗi rỗng, giúp danh sách dừng lại mà không hiển thị lỗi.
4.3. Cách nhập công thức mảng
- Chọn ô D2.
- Dán công thức trên.
- Nhấn Ctrl + Shift + Enter (thay vì chỉ Enter). Excel sẽ tự động bao quanh công thức bằng dấu
{}để biểu thị công thức mảng. - Kéo công thức xuống các ô dưới (D3, D4, …) cho tới khi thấy các ô trống.
Lưu ý: Nếu bạn không nhấn
Ctrl+Shift+Enter, công thức sẽ trả về kết quả sai hoặc lỗi#VALUE!.
4.4. Tối ưu công thức cho dải dữ liệu động
Nếu dữ liệu trong cột A có thể thay đổi (thêm hoặc bớt hàng), chúng ta có thể sử dụng định dạng bảng (Table) hoặc định danh dải động. Giả sử chúng ta tạo một bảng có tên tblKhachHang với cột TenKH. Công thức sẽ trở thành:
=IFERROR( INDEX(tblKhachHangTenKH, MATCH(0, COUNTIF($D$1:D1, tblKhachHangTenKH), 0) ), ""
)
Khi thêm mới dữ liệu vào bảng, công thức sẽ tự động mở rộng mà không cần chỉnh lại dải ô.
5. Sử dụng Power Query để tạo danh sách duy nhất
Power Query (trong Excel 2026 Professional Plus và các phiên bản Office 365) là một công cụ mạnh mẽ để truy xuất, biến đổi và tải dữ liệu. Đối với việc lấy danh sách duy nhất, Power Query thực hiện nhanh hơn và ít tốn công sức hơn so với công thức mảng.
5.1. Các bước thực hiện
- Chọn dải dữ liệu →
Data(Dữ liệu) →From Table/Range. Nếu dữ liệu chưa ở dạng bảng, Excel sẽ yêu cầu bạn tạo bảng. Đánh dấu “My table has headers” nếu có tiêu đề.
Mở Power Query Editor.
Trong cửa sổ Power Query, chọn cột chứa dữ liệu cần lọc (ví dụ:
TenKH).Remove Duplicates (Xóa trùng lặp).
Trên thanh công cụ
Home→Remove Rows→Remove Duplicates. Power Query sẽ giữ lại chỉ một bản sao của mỗi giá trị duy nhất.Load dữ liệu (Tải dữ liệu).
- Nhấn
Close & Load→Close & Load To…→ ChọnTablevà vị trí muốn hiển thị (ví dụ: một sheet mới hoặc một vị trí cụ thể trong sheet hiện tại).
5.2. Lợi thế của Power Query

Có thể bạn quan tâm: Công Thức Tính Thâm Niên Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
- Tự động cập nhật: Khi nguồn dữ liệu thay đổi, chỉ cần nhấn
Refreshlà danh sách duy nhất sẽ được cập nhật. - Xử lý dữ liệu lớn: Power Query hoạt động trên bộ nhớ và có khả năng tối ưu hoá truy vấn, nên nhanh hơn công thức mảng khi dữ liệu lên tới hàng chục ngàn.
- Ghi lại quy trình: Mọi bước biến đổi được ghi lại dưới dạng M code, dễ dàng tái sử dụng.
5.3. M-code mẫu
Nếu muốn xem hoặc chỉnh sửa mã M (ngôn ngữ của Power Query) cho thao tác loại bỏ trùng lặp, bạn có thể vào Advanced Editor. Mã mẫu:
let Source = Excel.CurrentWorkbook(){Name="tblKhachHang"}Content, RemovedDuplicates = Table.Distinct(Source, {"TenKH"})
in RemovedDuplicates
6. Tạo hàm người dùng (UDF) bằng VBA để mô phỏng hàm UNIQUE
Nếu bạn thường xuyên cần hàm UNIQUE và muốn một cú pháp ngắn gọn, có thể viết một User Defined Function (UDF) trong VBA.
6.1. Mở cửa sổ VBA
- Nhấn
Alt + F11để mở Visual Basic for Applications. - Vào
Insert→Moduleđể tạo một module mới.
6.2. Mã VBA cho hàm UNIQUE
Option Explicit ' Hàm trả về mảng các giá trị duy nhất từ một dải ô
' Usage: =UNIQUEVBA(A2:A20)
Public Function UNIQUEVBA(rng As Range) As Variant Dim dict As Object Dim arr As Variant, outArr() As Variant Dim i As Long, cnt As Long Set dict = CreateObject("Scripting.Dictionary") dict.CompareMode = vbTextCompare ' Không phân biệt hoa thường arr = rng.Value For i = 1 To UBound(arr, 1) If Not dict.Exists(arr(i, 1)) Then dict.Add arr(i, 1), Nothing End If Next i cnt = dict.Count If cnt = 0 Then UNIQUEVBA = CVErr(xlErrNum) ' Trả về lỗi nếu không có dữ liệu Exit Function End If ReDim outArr(1 To cnt, 1 To 1) i = 0 Dim key As Variant For Each key In dict.Keys i = i + 1 outArr(i, 1) = key Next key UNIQUEVBA = outArr
End Function
6.3. Cách dùng hàm VBA
- Trong sheet, nhập công thức mảng (Ctrl+Shift+Enter) như sau:
=UNIQUEVBA(A2:A20)
- Khi nhập công thức, Excel sẽ trả về một cột các giá trị duy nhất. Nếu muốn trả về dưới dạng danh sách ngang, chỉ cần bọc hàm
TRANSPOSE.
6.4. Lưu ý khi sử dụng VBA
- Bảo mật macro: Khi mở file, người dùng cần bật macro (
Enable Content). - Hiệu suất: UDF này hoạt động tốt với dữ liệu trung bình (≤ 20.000 hàng). Đối với dữ liệu lớn hơn, nên dùng Power Query.
- Định dạng: Hàm trả về mảng, vì vậy không thể gộp với các công thức khác trong cùng một ô.
7. Các ví dụ thực tiễn
7.1. Lọc danh sách sản phẩm duy nhất
Giả sử cột B chứa tên sản phẩm trong một bảng bán hàng. Bạn muốn tạo danh sách các sản phẩm đã bán ít nhất một lần.
- Công thức mảng:
=IFERROR( INDEX($B$2:$B$5000, MATCH(0, COUNTIF($F$1:F1, $B$2:$B$5000), 0) ), ""
)
- Power Query: Nhập dữ liệu,
Remove Duplicatestrên cộtSanPham, tải về.
7.2. Đếm số lần xuất hiện của mỗi giá trị duy nhất
Sau khi có danh sách duy nhất, bạn có thể dùng COUNTIF để đếm:
| D (Sản phẩm duy nhất) | E (Số lần xuất hiện) |
|---|---|
| A | =COUNTIF($B$2:$B$5000, D2) |
| B | =COUNTIF($B$2:$B$5000, D3) |
| … | … |
7.3. Kết hợp UNIQUE với các hàm khác (SUMIFS, AVERAGEIFS)
Nếu muốn tính tổng doanh thu cho mỗi khách hàng duy nhất:
| D (Khách hàng) | E (Tổng doanh thu) |
|---|---|
| =D2 (từ công thức UNIQUE) | =SUMIFS($C$2:$C$5000, $A$2:$A$5000, D2) |
8. Tối ưu hiệu suất khi sử dụng công thức mảng
- Giới hạn dải ô: Tránh dùng toàn bộ cột (A:A) trong công thức mảng, vì sẽ làm chậm. Chỉ định dải thực tế (A2:A2000).
- Sử dụng bảng (Table): Khi dải dữ liệu thay đổi, bảng tự mở rộng, giảm nhu cầu chỉnh công thức.
- Tính toán thủ công: Nếu file quá nặng, chuyển sang
Formulas→Calculation Options→Manual, sau đó nhấnF9khi cần cập nhật. - Tránh lồng nhau quá sâu: Công thức mảng quá phức tạp có thể gây lỗi “too many levels of nesting”. Khi cần, chia thành các cột phụ trợ.
9. So sánh các phương pháp
| Phương pháp | Độ khó triển khai | Tốc độ (dữ liệu nhỏ) | Tốc độ (dữ liệu lớn) | Tự động cập nhật | Ghi chú |
|---|---|---|---|---|---|
| Công thức mảng (INDEX‑MATCH‑COUNTIF) | Trung bình (cần hiểu công thức mảng) | Nhanh (< 5k) | Chậm (> 10k) | Có (khi kéo công thức) | Cần Ctrl+Shift+Enter |
| PivotTable | Dễ | Rất nhanh | Nhanh | Không tự động (cần Refresh) | Không trả về dạng danh sách liên tục |
| Advanced Filter | Rất dễ | Nhanh | Nhanh | Không tự động | Thủ công |
| Power Query | Trung bình (cần học) | Rất nhanh | Rất nhanh | Tự động (Refresh) | Đòi hỏi Excel 2026 Pro Plus |
| VBA UDF | Trung bình‑Cao (cần viết code) | Nhanh | Trung bình | Cần Refresh | Yêu cầu bật macro |
10. Kết luận
Mặc dù Excel 2026 không có hàm UNIQUE tích hợp, người dùng vẫn có nhiều cách để đạt được kết quả tương tự:
- Công thức mảng – phù hợp cho các bảng dữ liệu vừa phải, khi muốn giữ mọi thứ trong cùng một sheet và không muốn cài đặt thêm công cụ.
- Power Query – giải pháp mạnh mẽ cho dữ liệu lớn, cho phép tự động hoá và tái sử dụng quy trình.
- PivotTable / Advanced Filter – nhanh gọn cho các lần phân tích nhanh.
- VBA UDF – tạo ra một hàm “UNIQUE” thực thụ, giúp công thức trong sheet trở nên sạch sẽ và dễ đọc.
Bạn nên lựa chọn phương pháp dựa trên kích thước dữ liệu, tần suất cập nhật, và kỹ năng của mình. Khi làm việc trong môi trường doanh nghiệp, việc chuẩn bị một quy trình chuẩn (Power Query hoặc VBA) sẽ giúp giảm thiểu lỗi và tăng năng suất.
Tài liệu tham khảo & nguồn học thêm
- Microsoft Docs – “Get & Transform (Power Query) in Excel”.
- “Excel 2026 Formulas and Functions” – Bill Jelen (MrExcel).
- “VBA Programming for Microsoft Office” – John Walkenbach.
- Blog “Excel Campus” – Hướng dẫn công thức mảng và Power Query.
Hy vọng bài viết đã cung cấp cho bạn một cái nhìn toàn diện và chi tiết để tự tin triển khai hàm UNIQUE trong Excel 2026 dù không có sẵn trong phần mềm. Chúc bạn thành công trong việc xử lý dữ liệu!

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ẻ.
