Có thể bạn quan tâm: Cách Copy Sheet 1 Sang Sheet 2 Trong Excel: Hướng Dẫn Chi Tiết Từng Bước
Giới thiệu
Trong công việc quản lý dữ liệu, lập kế hoạch, báo cáo hay dự báo, chúng ta thường xuyên phải nhập dữ liệu vào bảng tính Excel. Đôi khi, để giảm thiểu sai sót và tăng tính nhất quán, ta muốn giới hạn người dùng chỉ có thể chọn giá trị từ danh sách đã được định nghĩa. Thao tác này được thực hiện thông qua tính năng Data Validation (Xác thực dữ liệu) của Excel. Tuy nhiên, nhiều người thấy khó khăn khi cần tạo ô có nhiều lựa chọn (multiple selection) trong một ô duy nhất.
Bài viết này sẽ cung cấp một hướng dẫn toàn diện, từ cách tạo danh sách đơn giản, mở rộng thành danh sách phụ thuộc, sử dụng công thức, đến cách cho phép người dùng chọn nhiều giá trị trong một ô. Khi đọc xong, bạn sẽ biết cách khai thác hết tiềm năng của Excel để tối ưu hóa quy trình làm việc của mình.
Có thể bạn quan tâm: Cách Copy Bảng Trong Excel Giữ Nguyên Định Dạng
1. Xác thực dữ liệu (Data Validation) – Giới thiệu nhanh
Data Validation là công cụ mạnh mẽ giúp kiểm tra dữ liệu ort nhập vào ô hoặc vùng ô. Khi áp dụng đúng cách, nó giúp:
- Ngăn ngừa lỗi nhập dữ liệu (độ dài, kiểu, giá trị).
- Đảm bảo dữ liệu nhất quán (chỉ chấp nhận giá trị từ danh sách).
- Tạo trải nghiệm người dùng thân thiện (cả ngăn chặn lỗi và hỗ trợ chọn từ danh sách).
Trong phần này, chúng ta sẽ bắt đầu với những thao tác cơ bản nhất.
1.1. Thêm danh sách trong một ô
- Chọn ô mà bạn muốn giới hạn dữ liệu. Ví dụ:
A1. - Vào tab Data > Data Validation.
- Trong hộp thoại, chọn Settings.
- Trong mục Allow, chọn List.
- Trong ô Source, nhập các giá trị cách nhau bằng dấu phẩy (
,), ví dụ:Hoạt động, Bảo trì, Kiểm tra, Sửa chữa. - Nhấn OK.
Bây giờ, khi bạn click vào ô A1, sẽ xuất hiện một danh sách xổ xuống với các tùy chọn đã định nghĩa. Đây là cách tạo một lựa chọn trong ô.
Có thể bạn quan tâm: Cách Sao Chép Giá Trị Trong Excel Mà Không Sao Chép Công Thức
2. Tạo danh sách phụ thuộc (Cascading Dropdown)
Trong thực tế, chúng ta thường có nhiều danh sách liên kết: Ví dụ, chọn Loại sản phẩm → Mô hình sản phẩm. Mỗi danh sách phụ thuộc vào giá trị đã chọn ở ô trước.
2.1. Chuẩn bị dữ liệu
Giả sử bạn có một bảng dữ liệu như sau:
| Loại sản phẩm | Mô hình sản phẩm |
|---|---|
| Laptop | Dell XPS 13 |
| Laptop | MacBook Air |
| Laptop | Lenovo ThinkPad |
| Máy tính bàn | Dell OptiPlex |
| Máy tính bàn | HP ProDesk |
Bạn cần tách riêng từng loại và tạo tên danh sách cho mỗi loại.
2.2. Sử dụng Named Range
- Chọn vùng chứa mô hình của một loại, ví dụ:
B2:B4(Dell XPS 13, MacBook Air, Lenovo ThinkPad) và đặt tênLaptop. - Lặp lại cho các loại khác:
B5:B6đặt tênMáy_điện_bàn.
Để đặt tên:
– Chọn vùng.
– Vào tab Formulas > Define Name.
– Đặt tên taus, tránh dấu cách, dùng dấu _ nếu cần.
2.3. Áp dụng dữ liệu phụ thuộc
- Chọn ô Earth’s (ví dụ
C1) để nhập Loại sản phẩm. Áp dụng danh sách như trong phần 1.1. - Chọn ô D1 là nơi nhập Mô hình sản phẩm.
- Vào Data Validation > Settings > Allow: List.
- Trong ô Source, nhập công thức:
=INDIRECT(SUBSTITUTE(C1," ","_"))
SUBSTITUTE(C1," ","_")thay thế khoảng trắng bằng_để khớp với tên danh sách đã đặt.INDIRECTtrả về vùng dữ liệu tương ứng.
Bây giờ, khi chọn loại sản phẩm trong ô C1, ô D1 sẽ hiển thị danh sách mô hình tương ứng.
3. Cho phép chọn nhiều giá trị trong một ô
Tôi hiểu rằng bạn muốn chọn nhiều giá trị từ một danh sách trong một ô duy nhất. Excel không hỗ trợ trực tiếp việc chọn nhiều mục trong danh sách dữ liệu (định cấu hình default). Tuy nhiên, có một số cách khắc phục:
- Sử dụng Combo Box (ActiveX control) – cho phép chọn nhiều mục nhưng không lưu trữ ngay trong ô.
- Sử dụng công thức để lưu trữ danh sách đã chọn – kết hợp với macro.
- Sử dụng công thức Excel 365 – dùng
FILTERXMLhoặcTEXTJOINcó thể giúp hiển thị danh sách đã chọn. - Sử dụng tính năng Data Validation với tùy chọn “Allow multiple selections” – không có trong Excel chuẩn, nhưng có thể thực hiện qua VBA.
Trong phần này, tôi sẽ trình bày chi tiết cách thực hiện chọn nhiều giá trị trong một ô bằng cách sử dụng VBA (Visual Basic for Applications). Đây là cách phổ biến nhất và có thể tùy chỉnh linh hoạt.
3.1. Sử dụng Combo Box (ActiveX) để chọn nhiều mục
3.1.1. Thêm Combo Box
- Vào tab Developer (nếu chưa có, bật bằng: File > Options > Customize Ribbon > chọn Developer).
- Trong nhóm Controls, chọn Insert > Combo Box (ActiveX Control).
- Vẽ Combo Box trên bảng tính.
3.1.2. Cấu hình Combo Box
- Click chuột phải vào Combo Box → Properties.
- Trong ListFillRange, nhập vùng dữ liệu danh sách, ví dụ:
A2:A10. - Để cho phép chọn nhiều mục, bạn cần phải viết macro.
3.1.3. Macro để lưu trữ nhiều mục vào ô
Private Sub ComboBox1_Change() Dim selectedItems As String Dim i As Integer ' Xóa dữ liệu cũ selectedItems = "" ' Duyệt danh sách từng mục For i = 0 To ComboBox1.ListCount - 1 If ComboBox1.Selected(i) Then selectedItems = selectedItems & ComboBox1.List(i) & ", " End If Next i ' Loại bỏ dấu phẩy cuối cùng If Len(selectedItems) > 0 Then selectedItems = Left(selectedItems, Len(selectedItems) - 2) End If ' Ghi vào ô, ví dụ: B1 Range("B1").Value = selectedItems
End Sub
- Khi người dùng chọn / bỏ chọn mục trong Combo Box, macro tự động gộp tất cả các mục đã chọn vào ô
B1.
Lưu ý: Để cho Combo Box hỗ trợ chọn nhiều mục, bạn cần bật tính năng MultiSelect = fmMultiSelectMulti. Trong Properties, thay MultiSelect thành 2 (fmMultiSelectMulti).
3.1.4. Kiểm tra
- Khi chọn một vài mục, ô
B1sẽ hiển thị danh sách có dấu phẩy giữa các mục.
3.2. Sử dụng Data Validation + Macro

Có thể bạn quan tâm: Cách Sắp Xếp Dữ Liệu Theo Bảng Chữ Cái Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Tới Nâng Cao
Mặc dù Data Validation không hỗ trợ chọn nhiều mục, bạn có thể mở rộng bằng cách sử dụng VBA để gộp giá trị khi người dùng nhập. Cách này đơn giản hơn Combo Box vì bạn không cần thêm control.
3.2.1. Xây dựng macro
Private Sub Worksheet_Change(ByVal Target As Range) Dim rngList As Range Dim cell As Range Dim arrValues As Variant Dim i As Long, j As Long ' Giới hạn chỉ áp dụng khi thay đổi ô A1 If Not Intersect(Target, Me.Range("A1")) Is Nothing Then ' Ghi lại giá trị đã chọn On Error GoTo CleanExit Application.EnableEvents = False ' Giả sử danh sách nguồn ở D2:D10 Set rngList = Me.Range("D2:D10") arrValues = rngList.Value ' Kiểm tra xem giá trị thay đổi có nằm trong danh sách khôngérieur For Each cell In rngList ेव If cell.Value = Target.Value Then ' Đã chọn giá trị hợp lệ, không cần làm gì GoTo CleanExit End If Next cell ' Nếu không nằm trong danh sách, thì gộp vào ô B1 If InStr(1, Me.Range("B1").Value, Target.Value) = 0 Then Me.Range("B1").Value = Me.Range("B1").Value & ", " & Target.Value End If CleanExit: Application.EnableEvents = True End If
End Sub
- Khi nhập một giá trị vào ô
A1mà không có trong danh sách, macro sẽ tự động thêm vàoбзиB1(định dạng danh sách). - Bạn có thể điều chỉnh logic để kiểm tra số lần nhập, loại bỏ trùng lặp, v.v.
3.3. Sử dụng công thức Excel 365 (Dynamic Arrays)
Nếu bạn đang sử dụng Excel 365, bạn có thể khai thác các hàm mảng động để-Life hiển thị nhiều giá trị đã chọn. Tuy nhiên, tính năng này vẫn chưa hỗ trợ chọn nhiều mục trực tiếp từ một ô; bạn cần nhập giá trị trong ô, sau đó dùng công Position.
3.3.1. Công thức TEXTJOIN + FILTER
Ví dụ: Giả sử bạn nhập các giá trị vào ô A1 (tách nhau bằng dấu phẩy), và muốn hiển thị danh sách lại trong B1.
- Công thức:
=TEXTJOIN(", ", TRUE, FILTER(A2:A10, ISNUMBER(SEARCH(A1, A2:A10))))
- Giải thích:
SEARCHtìm kiếm chuỗiA1trong danh sách,FILTERlọc những mục thỏa điều kiện,TEXTJOINgộp lại.
3.3.2. Kết hợp với Drop-down
Bạn có thể tạo ô A1 là drop-down (Data Validation) để người dùng chọn một giá trị từ danh sách. Khi họ chọn, công thức TEXTJOIN sẽ hiển thị danh sách các mục liên quan.
Lưu ý: Các công thức này yêu cầu phiên bản Excel 365 với Dynamic Arrays, không áp dụng cho Excel 2026 trở xuống.
4. Tối ưu hóa danh sách – Các mẹo nâng cao
4.1. Sử dụng Table (Bảng) và Named Range
Khi danh sách lớn, thay vì nhập vào ô nguồn, bạn nên tạo Table. Table tự động mở rộng khi thêm dữ liệu mới.
- Tạo Table: Chọn vùng dữ liệu → Insert > Table.
- Đặt tên Table (ví dụ:
DanhSach_Mau). - Trong Data Validation, dùng nguồn:
=DanhSach_MauĐộ_độ
Điều này giúp danh sách luôn cập nhật.
4.2. Sử dụng Drop-down với tùy chọn “Show in List”
Trong Data Validation, bạn có thể chọn Input Message và Error Alert để hướng dẫn người dùng. Ví dụ:
- Input Message: “Chọn một trong các giá trị dưới đây”
- Error Alert: “Giá trị không hợp lệ. Vui lòng chọn từ danh sách.”
4.3. Giới hạn số ký tự, số lượng mục
Bạn có thể kết hợp Data Validation với Custom formula để giới hạn số ký tự hoặc số lượng mục.
4.3.1. Giới hạn số ký tự
- Trong Data Validation, chọn Allow: Custom.
- Công thức:
=LEN(A1)<=10
- Điều này ngăn người dùng nhập quá 10 ký tự.
4.3.2. Giới hạn số mục trong danh sách
- Ví dụ, bạn muốn người dùng chỉ-host có thể chọn tối đa 3 mục trong danh sách (được nhập bằng cách sử dụng combo box). Bạn phải viết macro để đếm số mục đã chọn và cảnh báo nếu vượt quá.
5. Ứng dụng thực tế: Tạo mẫu khảo sát bằng Excel
Một trong những ứng dụng thực tế của tính năng chọn nhiều lựa chọn là tạo mẫu khảo sát. Giả sử bạn làm khảo sát khách hàng với các câu hỏi: “Bạn sử dụng những thiết worried sau?” – người dùng có thể chọn nhiều thiết bị.
Bước 1: Chuẩn bị danh sách – Tạo bảng Thiếtたい với cột Thiết bị.
Bước 2: Sử dụng Combo Box (ActiveX) – Thêm Combo Box cho từng câu hỏi, đặt MultiSelect thành 2.
Bước 3: Macro để gộp kết quả – Khi người dùng chọn, macro gộp các mục vào ô kết quả.
Bước 4: Tạo biểu đồ – Dùng dữ liệu đã gộp để tạo biểu đồ Pie Chart, Bar Chart.
6. Kết luận
Trong Excel, việc tạo nhiều lựa chọn trong một ô không phải là tính năng mặc định, nhưng พอ có thể thực hiện thông qua:
- Data Validation cho danh sách đơn giản.
- Combo Box (ActiveX) kết hợp macro để chọn nhiều mục.
- VBA để tự động gộp và lưu trữ dữ liệu.
- Dynamic Arrays trong Excel 365 để xử,de xử lý dữ liệu.
Bằng cách kết hợp linh hoạt các công cụ này, bạn có thể tạo ra các bảng tính chuyên nghiệp, giảm thiểu STANDARD sai sót và nâng cao hiệu suất công việc.
Tư vấn: Nếu bạn làm việc với dữ liệu lớn hoặc muốn beep tự động cập nhật, hãy cân nhắc sử dụng Table và Named Range để giảm lỗi và tối ưu hoá tính ổn định của bảng tính. Nếu muốn mở rộng tính năng, hãy đầu tư vào VBA – một ngôn ngữ mạnh mẽ nhưng có thể học nhanh nếu bạn đã quen với Excel.
Chúc bạn thành công trong việc tạo danh sách đa lựa chọn trong Excel!

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