Có thể bạn quan tâm: Cách Tạo Drop‑down List (select Option) Trong Excel: 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à công cụ tính toán số liệu mà còn là một nền tảng mạnh mẽ để xây dựng các biểu mẫu, báo cáo và hệ thống nhập dữ liệu tự động. Một trong những tính năng quan trọng giúp nâng cao tính chuẩn hóa và giảm thiểu lỗi nhập liệu là Drop‑Down List (danh sách thả xuống). Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết, đầy đủ và thực tiễn về cách tạo Drop‑Down trong Excel, từ các bước cơ bản đến các kỹ thuật nâng cao, bao gồm cả việc sử dụng công thức, bảng dữ liệu động, VBA và các lưu ý quan trọng khi triển khai trong môi trường doanh nghiệp.
Có thể bạn quan tâm: Cách Tạo Mã Qr Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
1. Drop‑Down List là gì và tại sao cần dùng?
1.1 Định nghĩa
Drop‑Down List, hay còn gọi là Data Validation List, là một danh sách các giá trị được định sẵn mà người dùng có thể chọn trực tiếp từ một ô trong bảng tính. Khi người dùng nhấn vào ô, một mũi tên xuất hiện và khi nhấp vào sẽ hiển thị các tùy chọn.
1.2 Lợi ích
| Lợi ích | Mô tả |
|---|---|
| Chuẩn hoá dữ liệu | Ngăn ngừa lỗi nhập sai (ví dụ: “Nam”, “nam”, “NAM”). |
| Tiết kiệm thời gian | Người dùng chỉ cần chọn thay vì gõ toàn bộ. |
| Dễ dàng cập nhật | Thay đổi danh sách ở một vị trí, toàn bộ ô tham chiếu sẽ tự động cập nhật. |
| Tăng tính chuyên nghiệp | Giao diện nhập dữ liệu trực quan, phù hợp cho biểu mẫu, phiếu thu, báo cáo. |
| Hỗ trợ kiểm soát quy trình | Đảm bảo các giá trị quan trọng (đơn vị, trạng thái, loại sản phẩm…) luôn đúng chuẩn. |
Có thể bạn quan tâm: Cách Tạo Sheet Mới Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
2. Cách tạo Drop‑Down List cơ bản
2.1 Sử dụng tính năng Data Validation
Bước 1: Chuẩn bị danh sách nguồn
- Mở một sheet mới (hoặc một vùng trống trong sheet hiện tại).
- Nhập các mục muốn hiển thị trong danh sách, mỗi mục một ô, ví dụ: A1:A5 chứa “Nam”, “Nữ”, “Khác”.
- Đặt tên cho vùng này bằng cách chọn Formulas → Name Manager → New và đặt tên (ví dụ:
GenderList). Lưu ý: tên không chứa dấu cách.
Bước 2: Áp dụng Data Validation
- Chọn ô hoặc phạm vi ô muốn gắn Drop‑Down (ví dụ: C2:C100).
- Vào Data → Data Validation.
- Trong tab Settings, chọn Allow: List.
- Trong Source, nhập
=GenderList(hoặc$A$1:$A$5nếu không đặt tên). - Nhấn OK.
Kiểm tra
- Khi nhấp vào ô C2, một mũi tên xuất hiện, người dùng có thể chọn “Nam”, “Nữ” hoặc “Khác”.
2.2 Tạo Drop‑Down List không dùng tên vùng (trực tiếp)
Nếu danh sách ngắn và không dự định thay đổi, bạn có thể nhập trực tiếp các giá trị trong Source:
Nam, Nữ, Khác
Cách này nhanh nhưng không linh hoạt khi cần cập nhật.
3. Drop‑Down List động (Dynamic List)
Trong thực tế, danh sách thường xuyên thay đổi (thêm, bớt mặt hàng, nhân viên…). Để danh sách tự động mở rộng khi dữ liệu nguồn thay đổi, chúng ta sử dụng Table hoặc OFFSET kết hợp với COUNTA.
3.1 Sử dụng Table
- Chọn vùng dữ liệu nguồn (ví dụ:
Sheet2!A1:A10). - Vào Insert → Table → Đánh dấu “My table has headers” nếu có tiêu đề.
- Đặt tên cho Table, ví dụ:
tblProducts. Khi thêm mới một dòng vào Table, Excel tự động mở rộng phạm vi.
Trong Data Validation, nhập
=INDIRECT("tblProductsProductName")(có thể dùng=tblProductsProductNamenếu Excel hỗ trợ).
3.2 Sử dụng công thức OFFSET
Giả sử danh sách nằm trong Sheet2!A2:A100, nhưng chỉ có 10 mục hiện tại.
=OFFSET(Sheet2!$A$2,0,0,COUNTA(Sheet2!$A$2:$A$100),1)
OFFSETtạo một vùng bắt đầu từ A2, chiều cao bằng số ô không rỗng trong cột A.- Khi bạn thêm một mục mới vào cột A,
COUNTAsẽ tăng và danh sách trong Drop‑Down tự động mở rộng.
Lưu ý: Nếu có ô trống trong danh sách, công thức sẽ ngắt sớm; do đó, luôn để các mục liên tiếp không có ô trống.
4. Drop‑Down List phụ thuộc (Cascading Drop‑Down)
Khi muốn tạo danh sách phụ thuộc vào một lựa chọn khác (ví dụ: chọn “Quốc gia” -> hiện “Tỉnh/Thành phố” tương ứng), cần áp dụng Dependent Data Validation.
4.1 Chuẩn bị dữ liệu
| Quốc gia | Thành phố |
|---|---|
| Việt Nam | Hà Nội |
| Việt Nam | Hồ Chí Minh |
| Việt Nam | Đà Nẵng |
| USA | New York |
| USA | Los Angeles |
| USA | Chicago |
Cách thực hiện:
- Tạo danh sách Quốc gia: Nhập các quốc gia duy nhất trong một cột (ví dụ:
Sheet2!F2:F3). Đặt tênCountryList. - Tạo các danh sách thành phố:
- Tạo một vùng cho mỗi quốc gia và đặt Tên trùng với tên quốc gia (không có dấu cách).
- Ví dụ:
Sheet2!G2:G4(Hà Nội, Hồ Chí Minh, Đà Nẵng) → Đặt tênViệtNam. Sheet2!H2:H4(New York, Los Angeles, Chicago) → Đặt tênUSA.
4.2 Thiết lập Data Validation
- Ô Quốc gia (ví dụ:
A2): Data Validation → List → Source:
=CountryList.Ô Thành phố (ví dụ:
B2):- Data Validation → List → Source:
=INDIRECT(SUBSTITUTE(A2," ","")). SUBSTITUTEloại bỏ dấu cách nếu có (ví dụ: “United States” → “UnitedStates”).
4.3 Lưu ý
- Tên vùng không được chứa ký tự đặc biệt, dấu cách, số bắt đầu.
- Nếu tên quốc gia có dấu tiếng Việt, tốt nhất dùng Tên tiếng Anh không dấu hoặc dùng hàm
SUBSTITUTEđể thay thế ký tự.
5. Drop‑Down List với thông báo lỗi và hướng dẫn
Excel cho phép tùy chỉnh Error Alert và Input Message trong Data Validation, giúp người dùng hiểu rõ yêu cầu.
5.1 Input Message (Thông báo nhập)
- Vào tab Input Message trong Data Validation.
- Nhập Title (ví dụ: “Chọn giới tính”) và Input message (ví dụ: “Vui lòng chọn giới tính từ danh sách”).
- Khi người dùng chọn ô, thông báo sẽ hiển thị.
5.2 Error Alert (Cảnh báo lỗi)
- Tab Error Alert cho phép bạn thiết lập Style: Stop, Warning, Information.
- Nhập Title và Error message (ví dụ: “Giá trị không hợp lệ”, “Vui lòng chọn một giá trị trong danh sách”).
- Khi người dùng cố gắng nhập giá trị không có trong danh sách, thông báo sẽ xuất hiện.
6. Sử dụng Form Controls – Combo Box
Data Validation là cách nhanh nhất, nhưng trong một số trường hợp, Combo Box (ActiveX hoặc Form Control) cung cấp giao diện mạnh mẽ hơn.
6.1 Thêm Combo Box (Form Control)
- Vào Developer → Insert → Form Controls → Combo Box.
- Vẽ Combo Box vào vị trí mong muốn.
- Click chuột phải → Format Control → Control tab.
- Input range: chọn vùng dữ liệu nguồn (ví dụ:
Sheet2!$A$2:$A$10). - Cell link: chọn ô sẽ nhận giá trị chỉ số (số thứ tự) của mục được chọn.
- Để hiển thị giá trị thực, sử dụng công thức
=INDEX(Sheet2!$A$2:$A$10, linked_cell).
6.2 ActiveX Combo Box
- Cũng vào Developer → Insert → ActiveX Controls → Combo Box.
- Vào Properties để thiết lập ListFillRange, LinkedCell, Style, MatchEntry.
- Cho phép lập trình VBA để xử lý sự kiện
Change.
6.3 Khi nào dùng Combo Box?

Có thể bạn quan tâm: Tạo Và Sử Dụng Scripting.dictionary Trong Vba Excel: Hướng Dẫn Chi Tiết Từ A Đến Z
- Khi cần tùy chỉnh giao diện (kích thước, màu nền).
- Khi muốn điều kiện hiển thị động phức tạp (ví dụ: lọc dựa trên ô khác).
- Khi muốn gắn macro để thực hiện hành động ngay sau khi người dùng chọn.
7. Drop‑Down List trong Excel Tables và Structured References
Khi làm việc với Excel Table (được tạo bằng Ctrl+T hoặc Insert → Table), bạn có thể tận dụng structured references để tạo danh sách thả xuống linh hoạt.
7.1 Tạo Table cho danh sách nguồn
Tên Bảng: tblCustomers
Cột: CustomerID, CustomerName, Country
7.2 Data Validation với Structured Reference
- Source:
=tblCustomersCountry - Khi bảng
tblCustomersmở rộng (thêm khách hàng mới), danh sách Country tự động cập nhật.
7.3 Ưu điểm
- Độ tin cậy cao: Không lo sai phạm vi khi chèn hoặc xóa hàng.
- Tự động mở rộng: Khi thêm dữ liệu, danh sách thả xuống tự động nhận mục mới.
- Dễ đọc: Công thức có ý nghĩa hơn so với địa chỉ ô cố định.
8. Tự động sao chép Drop‑Down List khi chèn dòng mới
Trong các bảng dữ liệu, người dùng thường chèn dòng mới và muốn ô trong dòng mới tự động có Drop‑Down List.
8.1 Sử dụng Table
Nếu dữ liệu được đặt trong Table, mọi ô trong cột sẽ kế thừa Data Validation của cột đó. Khi bạn nhập dữ liệu vào dòng mới, Drop‑Down List sẽ có sẵn.
8.2 Sử dụng VBA để sao chép Validation
Private Sub Worksheet_Change(ByVal Target As Range) Dim rng As Range Set rng = Intersect(Target, Me.Range("C:C")) ' Cột cần Drop‑Down If Not rng Is Nothing Then Application.EnableEvents = False Dim cell As Range For Each cell In rng If cell.Validation.Type = xlValidateNone Then cell.Validation.Add xlValidateList, xlValidAlertStop, _ xlBetween, "=GenderList" End If Next cell Application.EnableEvents = True End If
End Sub
- Đoạn code này sẽ tự động kiểm tra khi người dùng chèn dữ liệu vào cột C và nếu ô chưa có Validation, nó sẽ thêm danh sách
GenderList.
9. Drop‑Down List đa ngôn ngữ và Unicode
Excel hỗ trợ Unicode, nên bạn có thể tạo Drop‑Down List bằng bất kỳ ngôn ngữ nào (Tiếng Việt, tiếng Trung, tiếng Ả Rập…). Tuy nhiên, cần chú ý:
- Tên vùng (named range) không được chứa ký tự đặc biệt, nên nên dùng tiếng Anh hoặc không dấu.
- Dữ liệu nguồn có thể chứa ký tự Unicode, ví dụ: “Đà Nẵng”, “北京”.
- Khi sử dụng Data Validation trong phiên bản Excel cũ (2003), có giới hạn 255 ký tự cho chuỗi nguồn. Excel 2007 trở lên không còn giới hạn này.
10. Các lỗi thường gặp và cách khắc phục
| Lỗi | Nguyên nhân | Cách khắc phục |
|---|---|---|
| #REF! khi mở workbook | Tên vùng bị xóa hoặc di chuyển | Kiểm tra Name Manager, sửa lại nguồn. |
| Danh sách không hiển thị | Địa chỉ nguồn không đúng (định dạng $A$1:$A$10) | Đảm bảo sử dụng absolute reference hoặc named range. |
| Không có mũi tên thả xuống | Không bật In‑cell dropdown trong Data Validation | Vào Data Validation → Settings → check “In‑cell dropdown”. |
| Cảnh báo lỗi xuất hiện khi nhập đúng | Có khoảng trắng hoặc ký tự ẩn trong danh sách | Dùng TRIM hoặc CLEAN để loại bỏ ký tự thừa. |
| Drop‑Down không mở rộng khi thêm mục | Sử dụng phạm vi cố định, không dùng Table hoặc OFFSET | Chuyển sang Table hoặc công thức OFFSET/INDEX. |
| Tên vùng không hợp lệ | Tên chứa dấu cách hoặc ký tự đặc biệt | Đổi tên thành MyList hoặc dùng dấu gạch dưới _. |
11. Các tình huống thực tế và ví dụ mẫu
11.1 Biểu mẫu đăng ký nhân viên
| Cột | Mô tả | Drop‑Down |
|---|---|---|
| A | Mã nhân viên | Tự động tăng (không Drop‑Down) |
| B | Họ và tên | Nhập tự do |
| C | Giới tính | Nam, Nữ, Khác |
| D | Phòng ban | Danh sách phụ thuộc vào Chi nhánh |
| E | Chi nhánh | Hà Nội, TP.HCM, Đà Nẵng |
- Chi nhánh: Data Validation → List →
=BranchList. - Phòng ban: Tạo các danh sách phụ thuộc (
HanoiDept,HCMDept,DanangDept) và dùng công thức=INDIRECT(SUBSTITUTE(D2," ","")).
11.2 Quản lý tồn kho
- Cột A: Mã sản phẩm (không Drop‑Down).
- Cột B: Tên sản phẩm – Drop‑Down lấy từ
tblProductsProductName. - Cột C: Đơn vị tính – Drop‑Down dựa trên
tblUnits. - Cột D: Nhà cung cấp – Drop‑Down phụ thuộc vào Nhóm sản phẩm (cascading).
11.3 Báo cáo dự án
| Cột | Nội dung | Drop‑Down |
|---|---|---|
| G | Trạng thái dự án | Đang thực hiện, Hoàn thành, Bị hoãn, Huỷ |
| H | Người phụ trách | Danh sách nhân viên hiện tại (=tblTeamName). |
| I | Ngày dự kiến kết thúc | Không Drop‑Down, nhưng có Data Validation ngày (Date). |
12. Tối ưu hiệu năng khi có hàng ngàn Drop‑Down
Khi workbook chứa hàng ngàn ô có Data Validation, hiệu năng có thể giảm. Một số mẹo:
- Sử dụng Table hoặc Named Range thay vì công thức OFFSET cho mỗi ô.
- Giảm độ phức tạp: Không dùng công thức mảng trong Source nếu không cần.
- Bảo trì Validation: Khi không cần, xóa Validation (Data → Clear → Validation).
- Chỉ áp dụng Validation cho vùng cần thiết, không phải toàn bộ cột (ví dụ: C2:C5000 thay vì C:C).
- Tránh VBA chạy quá thường xuyên trên toàn cột; chỉ xử lý khi cần.
13. Bảo mật và chia sẻ workbook có Drop‑Down
- Protect Sheet: Khi bảo vệ sheet, bật tùy chọn “Allow users to use AutoFilter, PivotTable, và Data Validation”.
- Protect Workbook: Ngăn người dùng thay đổi Named Ranges hoặc Table.
- Data Validation Settings: Trong Error Alert, chọn Stop để ngăn nhập dữ liệu không hợp lệ.
- Khi chia sẻ qua OneDrive hoặc SharePoint, các Drop‑Down vẫn hoạt động bình thường, nhưng cần chắc chắn mọi người dùng có quyền truy cập vào các sheet chứa nguồn dữ liệu.
14. Sử dụng Power Query để tạo danh sách thả xuống tự động
Power Query (Get & Transform) cho phép kết nối tới nguồn dữ liệu bên ngoài (SQL, CSV, Web) và tạo danh sách động.
14.1 Các bước cơ bản
- Data → Get Data → From File → From Workbook (hoặc From Database).
- Lọc và chuyển đổi dữ liệu để chỉ còn cột cần (ví dụ:
Country). - Close & Load To… → Only Create Connection.
- Tạo Named Range sử dụng hàm
=Table.Column(YourQuery, "Country"). - Sử dụng Named Range trong Data Validation.
Khi dữ liệu nguồn thay đổi (cập nhật SQL), bạn chỉ cần Refresh Power Query, danh sách Drop‑Down sẽ tự động cập nhật.
15. Tổng kết
Việc tạo Drop‑Down List trong Excel không chỉ là một công cụ hỗ trợ nhập liệu mà còn là nền tảng để xây dựng các hệ thống dữ liệu chuẩn hoá, giảm lỗi và nâng cao trải nghiệm người dùng. Từ các bước cơ bản sử dụng Data Validation đến các kỹ thuật nâng cao như Dynamic Lists, Cascading Drop‑Down, Table Structured References, Combo Box, và Power Query, bạn có thể linh hoạt áp dụng trong mọi trường hợp: biểu mẫu nhân sự, quản lý kho, báo cáo dự án, hay các ứng dụng doanh nghiệp phức tạp.
Hãy nhớ:
- Luôn dùng Named Ranges hoặc Table để danh sách có thể mở rộng tự động.
- Kiểm tra và bảo vệ Data Validation để tránh dữ liệu sai lệch.
- Sử dụng VBA hoặc Power Query khi muốn tự động hoá hoặc kết nối tới nguồn dữ liệu bên ngoài.
Với kiến thức này, bạn đã sẵn sàng tạo ra các biểu mẫu Excel chuyên nghiệp, chuẩn hoá và đáng tin cậy. Chúc bạn thành công trong việc áp dụng Drop‑Down List vào các dự án thực tế!

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