Có thể bạn quan tâm: Tạo Bảng Excel Chuyên Nghiệp: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
Mở Đầu
Trong môi trường làm việc hiện đại, Excel không chỉ là một công cụ tính toán đơn thuần mà còn là một nền tảng mạnh mẽ để quản lý dữ liệu, tạo báo cáo và hỗ trợ quyết định. Một trong những tính năng quan trọng giúp tăng tính tương tác và giảm thiểu lỗi nhập liệu là danh sách chọn (Dropdown List). Danh sách chọn giúp người dùng chỉ định các giá trị hợp lệ, đồng thời tạo ra giao diện người dùng thân thiện và chuyên nghiệp. Bài viết này sẽ cung cấp hướng dẫn chi tiết, từng bước một, từ cơ bản đến nâng cao, giúp bạn tạo danh sách chọn trong Excel một cách hiệu quả và linh hoạt.
Có thể bạn quan tâm: Tạo Biểu Mẫu Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
1. Tổng Quan Về Danh Sách Chọn Trong Excel
1.1. Danh sách chọn là gì?
Danh sách chọn, hay còn gọi là Data Validation List, là một công cụ trong Excel cho phép người dùng chọn một giá trị từ một danh sách các mục đã định sẵn thay vì nhập tay. Khi người dùng cố gắng nhập một giá trị ngoài danh sách, Excel sẽ hiển thị thông báo lỗi và ngăn không cho nhập.
1.2. Lợi ích của việc sử dụng danh sách chọn
- Giảm lỗi nhập liệu: Người dùng không thể nhập giá trị không hợp lệ.
- Tiết kiệm thời gian: Chọn nhanh hơn nhập tay.
- Tăng tính nhất quán: Đảm bảo dữ liệu đồng nhất trong toàn bộ bảng tính.
- Cải thiện giao diện: Tạo cảm giác chuyên nghiệp, dễ sử dụng.
- Hỗ trợ phân tích dữ liệu: Dữ liệu sạch sẽ, dễ dàng lọc, tổng hợp và tạo báo cáo.
1.3. Các trường hợp sử dụng phổ biến
- Quản lý danh mục sản phẩm: Chọn loại sản phẩm, màu sắc, kích thước.
- Theo dõi nhân sự: Chọn phòng ban, vị trí công việc, trạng thái làm việc.
- Quản lý dự án: Chọn trạng thái dự án (đang thực hiện, hoàn thành, hoãn), mức độ ưu tiên.
- Lập kế hoạch ngân sách: Chọn năm tài chính, loại chi phí, nguồn thu.
Có thể bạn quan tâm: Tính Thuế Vat Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
2. Cách Tạo Danh Sách Chọn Cơ Bản
2.1. Chuẩn Bị Dữ Liệu Nguồn
Trước khi tạo danh sách, bạn cần có một dòng hoặc cột chứa các mục sẽ xuất hiện trong dropdown. Ví dụ:
| A |
|---|
| Apple |
| Banana |
| Cherry |
| Date |
| Elderberry |
Lưu ý: Đảm bảo các mục không chứa khoảng trắng thừa, không có giá trị trùng lặp (trừ khi bạn muốn cho phép trùng).
2.2. Sử Dụng Data Validation
- Chọn ô hoặc phạm vi ô mà bạn muốn áp dụng danh sách chọn.
- Vào tab “Data” → Data Tools → Data Validation.
- Trong hộp thoại Data Validation, ở tab Settings:
- Allow: Chọn List.
- Source: Nhập địa chỉ của danh sách nguồn, ví dụ
$A$1:$A$5hoặc gõ trực tiếp các mục cách nhau bằng dấu phẩy:Apple,Banana,Cherry,Date,Elderberry. - Optional: Bật In‑cell dropdown để hiển thị mũi tên dropdown trong ô.
- Chuyển sang tab Input Message (tùy chọn) để hiển thị hướng dẫn khi người dùng chọn ô.
- Chuyển sang tab Error Alert để tùy chỉnh thông báo lỗi khi người dùng nhập giá trị không hợp lệ.
- Nhấn OK.
2.3. Kiểm Tra Kết Quả
Khi bạn click vào ô đã thiết lập, một mũi tên sẽ xuất hiện. Nhấp vào mũi tên, danh sách các mục sẽ hiện ra, cho phép bạn chọn một trong số chúng.
3. Tạo Danh Sách Chọn Động (Dynamic List)
Trong nhiều trường hợp, danh sách nguồn có thể thay đổi (thêm, bớt mục). Để danh sách chọn luôn cập nhật tự động, chúng ta sẽ sử dụng Table, OFFSET, hoặc Dynamic Named Ranges.
3.1. Sử Dụng Table
- Chọn dải dữ liệu nguồn (ví dụ A1:A5) và nhấn Ctrl + T để chuyển thành Table. Đặt tên Table, ví dụ
tblFruits. - Khi Table có thêm hoặc bớt dòng, danh sách sẽ tự động mở rộng.
- Trong Data Validation → Source, nhập:
=INDIRECT("tblFruitsColumn1")
Hoặc nếu Table chỉ có một cột, có thể dùng:=tblFruitsColumn1 - Hoàn thành các bước còn lại như hướng dẫn ở mục 2.2.
3.2. Sử Dụng OFFSET và COUNTA
Giả sử danh sách nằm ở cột A, bắt đầu từ A2:
=OFFSET($A$2,0,0,COUNTA($A:$A)-1,1)
OFFSET($A$2,0,0, … )bắt đầu từ A2.COUNTA($A:$A)-1đếm số ô không rỗng trong cột A, trừ tiêu đề.
Sau khi nhập công thức vào Source của Data Validation, danh sách sẽ tự động mở rộng khi bạn thêm mục mới vào cột A.
3.3. Sử Dụng XLOOKUP/UNIQUE (Excel 365/2026)
Nếu dữ liệu nguồn có thể có trùng lặp và bạn muốn danh sách chỉ hiển thị các giá trị duy nhất:
- Tạo một named range (ví dụ
UniqueFruits) với công thức:excel =UNIQUE(FILTER($A$2:$A$100,$A$2:$A$100<>"")) - Trong Data Validation → Source, nhập:
=UniqueFruits
Danh sách sẽ luôn hiển thị các giá trị duy nhất, tự động cập nhật khi dữ liệu thay đổi.
4. Danh Sách Chọn Nhiều Cấp (Cascading Dropdown)
4.1. Khi Nào Cần Cascading Dropdown?
Khi dữ liệu có cấu trúc phân cấp, ví dụ: Quốc gia → Thành phố hoặc Nhóm sản phẩm → Loại sản phẩm. Người dùng chọn mục ở cấp trên, và danh sách cấp dưới sẽ tự động lọc các giá trị phù hợp.
4.2. Bước 1: Chuẩn Bị Dữ Liệu
| A (Quốc gia) | B (Thành phố) |
|---|---|
| USA | New York |
| USA | Los Angeles |
| USA | Chicago |
| Canada | Toronto |
| Canada | Vancouver |
| Canada | Montreal |
| Vietnam | Hà Nội |
| Vietnam | Hồ Chí Minh |
| Vietnam | Đà Nẵng |
4.3. Bước 2: Tạo Danh Sách Quốc Gia
- Sử dụng Data Validation → List → Source:
=UNIQUE(A2:A10)(hoặc tạo Table và dùng=tblLocationCountry).
4.4. Bước 3: Tạo Tên Định Nghĩa Động cho Thành phố
- Mở Name Manager (
Ctrl + F3). - Nhấn New, đặt tên CityList và nhập công thức:
excel =FILTER($B$2:$B$10,$A$2:$A$10=Sheet1!$C$2) - Giả sử ô C2 là ô chứa danh sách Quốc gia.
- Đánh dấu Refers to là công thức trên, nhấn OK.
4.5. Bước 4: Tạo Dropdown Thành phố

Có thể bạn quan tâm: Tạo Cảnh Báo Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
- Chọn ô D2 (hoặc ô bạn muốn hiển thị thành phố), vào Data Validation → List → Source:
=CityList
Khi người dùng chọn một quốc gia ở C2, danh sách thành phố ở D2 sẽ tự động lọc chỉ những thành phố thuộc quốc gia đó.
4.6. Mở Rộng Cho Nhiều Dòng
Nếu bạn muốn áp dụng cho nhiều dòng (ví dụ C2:C100 cho quốc gia, D2:D100 cho thành phố), bạn cần tạo công thức định danh động dựa vào ô hiện tại:
- Đặt tên CityList với công thức:
excel =FILTER($B$2:$B$10,$A$2:$A$10=INDIRECT("RC-1",FALSE)) RC-1là tham chiếu tương đối tới cột trước (quốc gia) trong cùng dòng.- Khi áp dụng Data Validation cho D2:D100, Excel sẽ tự động tính công thức cho mỗi ô dựa trên giá trị quốc gia tương ứng.
4.7. Xử Lý Trường Hợp Không Có Dữ Liệu
Nếu không có thành phố nào cho quốc gia đã chọn, công thức FILTER sẽ trả về lỗi. Để tránh hiển thị lỗi, dùng IFERROR:
=IFERROR(FILTER($B$2:$B$10,$A$2:$A$10=INDIRECT("RC-1",FALSE)),"")
5. Tùy Chỉnh Thông Báo Lỗi Và Hướng Dẫn Nhập
5.1. Thông Báo Lỗi (Error Alert)
Trong hộp thoại Data Validation, tab Error Alert:
– Style: Stop (ngăn nhập), Warning (cảnh báo) hoặc Information (chỉ thông báo).
– Title: Tiêu đề hiển thị, ví dụ “Giá trị không hợp lệ”.
– Error message: Nội dung chi tiết, ví dụ “Vui lòng chọn một giá trị từ danh sách. Nếu không thấy mục mong muốn, hãy liên hệ bộ phận hỗ trợ.”
5.2. Thông Điệp Nhập (Input Message)
Tab Input Message cho phép bạn hiển thị hướng dẫn khi người dùng chọn ô:
– Title: “Chọn loại sản phẩm”.
– Message: “Sử dụng mũi tên để chọn một trong các loại sản phẩm có sẵn.”
5.3. Định Dạng Có Điều Kiện (Conditional Formatting)
Kết hợp Conditional Formatting để làm nổi bật các ô chưa được chọn hoặc chứa giá trị sai:
- Chọn phạm vi ô có dropdown.
- Vào Home → Conditional Formatting → New Rule → Use a formula.
- Công thức:
excel =ISERROR(MATCH(A2,$E$2:$E$10,0)) - Nếu ô A2 không nằm trong danh sách nguồn E2:E10, sẽ áp dụng định dạng (ví dụ nền đỏ).
- Đặt định dạng và nhấn OK.
6. Danh Sách Chọn Nhiều Lựa Chọn (Multi‑Select Dropdown)
Excel mặc định không hỗ trợ chọn nhiều giá trị trong một ô. Tuy nhiên, bạn có thể sử dụng VBA để tạo dropdown đa lựa chọn.
6.1. Mã VBA Cơ Bản
Private Sub Worksheet_Change(ByVal Target As Range) Dim rngDV As Range Dim OldValue As String Dim NewValue As String Set rngDV = Me.Range("B2:B100") ' Vùng có dropdown If Intersect(Target, rngDV) Is Nothing Then Exit Sub Application.EnableEvents = False NewValue = Target.Value On Error GoTo CleanExit OldValue = Target.Offset(0, 1).Value ' Giả sử lưu giá trị cũ ở cột kế bên If OldValue = "" Then Target.Offset(0, 1).Value = NewValue Else If InStr(1, OldValue, NewValue) = 0 Then Target.Offset(0, 1).Value = OldValue & ", " & NewValue End If End If CleanExit: Application.EnableEvents = True
End Sub
- Giải thích: Khi người dùng chọn một mục, mã sẽ lưu giá trị vào một cột phụ (ở đây là cột C). Nếu người dùng chọn lại, giá trị mới sẽ được nối vào chuỗi hiện có, ngăn trùng lặp.
- Cách sử dụng: Nhấn
Alt + F11→ Insert → Module → Dán code. Đảm bảo “Enable all macros” trong Trust Center.
6.2. Gợi Ý Thay Thế Không Dùng VBA
- Sử dụng Power Query để tạo cột chứa danh sách các giá trị đã chọn.
- Sử dụng Form Controls (Combo Box) với
MultiSelect = fmMultiSelectExtendedtrong UserForm.
7. Các Lưu Ý Khi Áp Dụng Danh Sách Chọn Trong Dự Án Thực Tế
| Yếu tố | Mô tả | Giải pháp |
|---|---|---|
| Kích thước danh sách | Danh sách quá dài (hàng ngàn mục) có thể làm chậm Excel. | Sử dụng Data Model hoặc Power Query để lọc dữ liệu trước khi đưa vào dropdown. |
| Độ phức tạp công thức | OFFSET + COUNTA có thể gây lỗi khi có ô trống. | Dùng Table hoặc Dynamic Array (UNIQUE, FILTER) nếu có. |
| Bảo mật | Người dùng có thể thay đổi danh sách nguồn nếu không được bảo vệ. | Protect Sheet → Allow only Select unlocked cells. |
| Định dạng | Khi danh sách thay đổi, định dạng ô (font, màu) có thể mất. | Sử dụng Cell Styles và Conditional Formatting để giữ định dạng nhất quán. |
| Đa ngôn ngữ | Khi triển khai trên môi trường đa ngôn ngữ, tên mục có thể cần dịch. | Tạo lookup table cho từng ngôn ngữ và dùng VLOOKUP/XLOOKUP để lấy giá trị hiển thị. |
| Tích hợp với Power BI / Power Automate | Dữ liệu từ Excel có thể được đồng bộ. | Đảm bảo danh sách được lưu trong Table để Power Query dễ dàng lấy. |
8. Thực Hành: Xây Dựng Một Mẫu Đơn Đặt Hàng Với Danh Sách Chọn
8.1. Bố Cục Bảng
| A (Mã SP) | B (Tên SP) | C (Loại) | D (Đơn vị) | E (Số lượng) | F (Giá) | G (Thành tiền) |
|---|---|---|---|---|---|---|
8.2. Bước Thực Hiện
- Tạo bảng danh mục (Sheet2):
- Loại (A2:A5):
Điện thoại,Máy tính,Phụ kiện,Dịch vụ. - Đơn vị (B2:B5):
Cái,Cái,Cái,Gói. - Định dạng thành Table: Chọn A1:B5 →
Ctrl + T→ Đặt têntblCategory. - Tạo dropdown cho cột C (Loại):
- Data Validation → List → Source:
=tblCategoryLoại. - Tạo dropdown cho cột D (Đơn vị) dựa vào Loại (cascading):
- Tạo Named Range
UnitList:excel =XLOOKUP(C2,tblCategoryLoại,tblCategoryĐơn vị) - Data Validation → List → Source:
=UnitList. - Tự động tính Thành tiền:
- G2:
=E2F2→ kéo xuống. - Bảo vệ sheet:
Review → Protect Sheet→ Cho phép chỉnh sửa cột E (Số lượng) và các dropdown.
8.3. Kiểm Tra
- Khi chọn “Điện thoại” ở C2, D2 tự động hiển thị “Cái”.
- Nhập số lượng và giá, G2 tự động tính.
9. Tối Ưu Hóa và Bảo Trì Danh Sách Chọn
9.1. Kiểm Tra Định Kỳ
- Xác định ô trống trong danh sách nguồn bằng công thức:
excel =COUNTBLANK(A2:A100) - Xóa các mục trùng lặp bằng
Remove Duplicatestrong tab Data.
9.2. Sử Dụng Power Query Để Làm Sạch Dữ Liệu
- Vào Data → Get & Transform → From Table/Range.
- Trong Power Query Editor:
- Chọn cột, Remove Duplicates.
- Filter các giá trị null.
- Load lại thành Table và dùng làm nguồn cho dropdown.
9.3. Đặt Tên Định Nghĩa Rõ Ràng
- Tránh dùng tên như
List1,List2. Dùng tên mô tả:ProductCategories,CountryList.
9.4. Đặt Quyền Truy Cập
- Protect Workbook → Protect Structure để ngăn người dùng thêm/xóa sheet nguồn.
- Allow Users to Edit Ranges để chỉ định người dùng có quyền chỉnh sửa danh sách nguồn.
10. Kết Luận
Việc tạo danh sách chọn trong Excel không chỉ đơn giản là một công cụ giúp người dùng nhập dữ liệu nhanh hơn mà còn là một chiến lược quản lý dữ liệu mạnh mẽ, giảm thiểu lỗi và nâng cao tính chuyên nghiệp của bảng tính. Từ các danh sách tĩnh cơ bản đến các danh sách động, cascaded và thậm chí đa lựa chọn, Excel cung cấp một loạt các phương pháp linh hoạt, đáp ứng hầu hết nhu cầu thực tiễn trong doanh nghiệp.
Bằng cách áp dụng những kiến thức và kỹ thuật trong bài viết này, bạn có thể:
- Xây dựng các dropdown đơn giản hoặc động, tự cập nhật khi dữ liệu thay đổi.
- Tạo cascading dropdown cho dữ liệu phân cấp, tăng tính tương tác.
- Tùy chỉnh thông báo lỗi và hướng dẫn nhập để cải thiện trải nghiệm người dùng.
- Sử dụng VBA hoặc Power Query để mở rộng chức năng, bao gồm việc chọn nhiều mục hoặc làm sạch dữ liệu.
- Bảo vệ và bảo trì danh sách một cách hiệu quả, đảm bảo tính toàn vẹn dữ liệu trong môi trường làm việc chung.
Hãy bắt tay vào thực hành ngay hôm nay, tích hợp danh sách chọn vào các biểu mẫu, báo cáo và hệ thống quản lý dữ liệu của bạn. Khi dữ liệu trở nên sạch sẽ, nhất quán và dễ dàng khai thác, năng suất làm việc sẽ được nâng cao đáng kể, đồng thời giảm thiểu những rủi ro do lỗi nhập liệu gây ra. 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ẻ.
