Cách chọn nhiều mục vào một ô từ danh sách thả xuống trong Excel

Nội dung được viết bởi Trần Văn Huệ

Chọn các mục trùng lặp từ danh sách thả xuống trong một ô

Bước 1: Mở tệp Excel cần xử lý.

Bước 2: Tạo danh sách thả xuống với các nội dung cần thực hiện.

Bước 3: Kích chuột phải vào tên Sheets cần chạy mã VBA để chọn nhiều mục vào một ô từ danh sách thả xuống. Trong menu hiển thị chọn tùy chọn View Code.

Cách chọn nhiều mục vào một ô từ danh sách thả xuống trong Excel

Bước 4: Trong cửa sổ Microsoft Visual Basic for Applications hiển thị, bạn hãy sao chép và dán đoạn mã bê n dưới vào tập lệnh trống ở bên phải.

Private Sub Worksheet_Change(ByVal Target As Range)
'UpdatebyExtendoffice20180510
    Dim xRgVal As Range
    Dim xStrNew As String
    On Error Resume Next
    Set xRgVal = Cells.SpecialCells(xlCellTypeAllValidation)
    If (Target.Count > 1) Or (xRgVal Is Nothing) Then Exit Sub
    If Intersect(Target, xRgVal) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    xStrNew = Target.Value
    Application.Undo
    xStrNew = xStrNew & " " & Target.Value
    Target.Value = xStrNew
    Application.EnableEvents = True
End Sub

Cách chọn nhiều mục vào một ô từ danh sách thả xuống trong Excel

Bước 5: Lưu mã và đóng cửa sổ để quay lại danh sách thả xuống. Bây giờ bạn có thể chọn nhiều mục từ danh sách thả xuống.

Ghi chú: Với VBA, nó phân tách các mục theo khoảng trắng, bạn có thể thay đổi xStrNew = xStrNew & " " & Target.Value bằng cái khác để thay đổi dấu phân cách khi bạn cần. Ví dụ đổi thành xStrNew = xStrNew & "," & Target.Value để phân tách các mục bằng dấu phẩy.

Chọn nhiều mục từ danh sách thả xuống vào một ô mà không lặp lại

Nếu bạn chỉ muốn chọn các mục duy nhất từ danh sách thả xuống vào một ô, bạn có thể lặp lại các bước trên và sử dụng mã bên dưới.

Private Sub Worksheet_Change(ByVal Target As Range)
'UpdatebyExtendoffice20180510
    Dim I As Integer
    Dim xRgVal As Range
    Dim xStrNew As String
    Dim xStrOld As String
    Dim xFlag As Boolean
    Dim xArr
    On Error Resume Next
    Set xRgVal = Cells.SpecialCells(xlCellTypeAllValidation)
    If (Target.Count > 1) Or (xRgVal Is Nothing) Then Exit Sub
    If Intersect(Target, xRgVal) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    xFlag = True
    xStrNew = " " & Target.Value & " "
    Application.Undo
    xStrOld = Target.Value
    If InStr(1, xStrOld, xStrNew) = 0 Then
        xStrNew = xStrNew & xStrOld & " "
    Else
        xStrNew = xStrOld
    End If
    Target.Value = xStrNew
    Application.EnableEvents = True
End Sub


Chọn các ô ngẫu nhiên từ một danh sách trong Google Sheets 

Nếu như ở phần đầu của bài viết hướng dẫn các bạn cách chọn nhiều mục vào một ô từ danh sách thả xuống trong Excel thì ở phần tiếp theo này, Gitiho sẽ hướng dẫn các bạn cách để chọn các ô ngẫu nhiên từ một danh sách trong Google Sheets và bảng tính Excel.

Bằng cách áp dụng công thức dưới đây, cho phép bạn trích xuất một số ô ngẫu nhiên trong Google Sheets:

Bước 1: Mở tệp Excel cần xử lý.

Bước 2: Kích vào ô trống mà bạn muốn nhận kết quả lựa chọn công thức sau:

=ArrayFormula(VLOOKUP(QUERY(UNIQUE(RANDBETWEEN(ROW(INDIRECT("A1:A"&COUNTA(A:A)*10))^0,COUNTA(A:A))),"limit 4"),{ROW(INDIRECT("A1:A"&COUNTA(A:A))),FILTER(A:A,A:A<>"")},2,0))

Bước 3: Sau đó nhấn phím Enter để lấy một tên bất kỳ.

Lưu ý: Trong đoạn mã trên, A:A là cột tên mà bạn muốn trích xuất tên, giới hạn 4 có nghĩa là 4 tên sẽ được trích xuất ngẫu nhiên, bạn có thể thay đổi khi cần.

Bước 4: Sau đó có thể copy và paste công thức trên vào các ô bất kỳ ở phía dưới, như hình ảnh hiển thị ở phía trên đây để trích xuất bốn tên bất kỳ trong danh sách.

Cách chọn nhiều mục vào một ô từ danh sách thả xuống trong Excel

Lưu ý: Bạn có thể nhấn tổ hợp phím Ctrl + R để chọn ngẫu nhiên các tên mới mỗi lần.

Cách chọn tên ngẫu nhiên từ danh sách 

Giả sử bạn có một danh sách tên nằm trong cột A trong Excel, để nhanh chóng chọn tên ngẫu nhiên từ danh sách này, bạn sẽ làm gì? Trên thực tế, bạn có thể chọn tên ngẫu nhiên từ danh sách có công thức dựa vào công thức dưới đây. 
Bước 1: Mở tệp Excel cần xử lý.
Bước 2: Kích vào ô trống bên cạnh danh sách, sao chép và dán vào công thức dưới đây vào Formula Bar:
=INDEX($A:$A,RANDBETWEEN(1,COUNTA($A:$A)),1) 
Bước 3: Sau đó nhấn phím Enter và bạn có thể thấy một tên ngẫu nhiên được hiển thị trong ô đã chọn.
Cách chọn nhiều mục vào một ô từ danh sách thả xuống trong Excel

Lưu ý: 
  • Chọn ô này và nhấn phím F9, bạn sẽ nhận được các tên khác nhau một cách ngẫu nhiên.
  • Bạn cũng có thể chọn ô và kích giữ chuột trái vào hình dấu cộng ở góc dưới cùng bên phải của ô rồi kéo xuống phía dưới để liệt kê các tên ngẫu nhiên mà bạn cần ở các ô khác.
  • Tên ngẫu nhiên sẽ được thay đổi tự động mỗi khi bạn làm mới trang tính.
Trên đây Gitiho vừa hướng dẫn các bạn cách chọn các mục trùng lặp từ danh sách thả xuống, chọn nhiều mục từ danh sách thả xuống vào một ô mà không lặp lại và chọn tên ngẫu nhiên ô ngẫu nhiên từ danh sách. Nếu các bạn biết thêm các cách nào khác để thực hiện các công việc trên, hãy chia sẻ cùng chúng tôi thông qua comment ở phía dưới nhé. Chúc các bạn thành công!.


Thời đại công nghệ 4.0 đang dần đi vào cuộc sống đòi hỏi mọi người phải tự trang bị kiến thức tin học cho phù hợp để có thể bắt kịp nhưng thay đổi nhanh chóng này. Chẳng ai khác ngoài bạn hiểu mình cần trang bị thêm kiến thức gì. Hãy tìm hiểu ngay TẠI ĐÂY những khóa học hấp dẫn, có tính thực tế cao của Gitiho và đăng ký nhận tư vấn ngay hôm nay.

Khóa học phù hợp với bất kỳ ai đang muốn tìm hiểu lại Excel từ con số 0. Giáo án được Gitiho cùng giảng viên thiết kế phù hợp với công việc thực tế tại doanh nghiệp, bài tập thực hành xuyên suốt khóa kèm đáp án và hướng dẫn giải chi tiết. Tham khảo ngay bên dưới!

/5 - ( bình chọn)

/5 - ( bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông