Có thể bạn quan tâm: Cách Chỉnh Chữ Vừa Ô Trong Excel: Hướng Dẫn Chi Tiết Và Các Mẹo 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, phân tích thống kê và tự động hoá các quy trình. Một trong những nhu cầu phổ biến nhưng không phải lúc nào cũng được chú ý đến là chọn ngẫu nhiên trong Excel. Việc này có thể áp dụng trong nhiều tình huống: từ việc rút thăm trúng thưởng, phân bổ mẫu khảo sát, tới việc tạo dữ liệu mẫu để kiểm thử mô hình. Bài viết dưới đây sẽ cung cấp cho bạn một hướng dẫn chi tiết, từng bước, từ cơ bản tới nâng cao, giúp bạn nắm vững cách thực hiện việc chọn ngẫu nhiên trong Excel một cách hiệu quả và chính xác.
Có thể bạn quan tâm: Chỉnh Lề Trong Excel 2026: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
1. Tổng Quan Về Khái Niệm “Chọn Ngẫu Nhiên” Trong Excel
1.1 Định Nghĩa
Chọn ngẫu nhiên (random selection) là quá trình lấy một hoặc nhiều mục từ một tập hợp dữ liệu mà mỗi mục có cơ hội xuất hiện bằng nhau (hoặc theo một xác suất đã định). Trong Excel, việc này thường được thực hiện bằng cách sử dụng các hàm tích hợp sẵn hoặc kết hợp các công cụ như Power Query, VBA (Visual Basic for Applications).
1.2 Tại Sao Cần Chọn Ngẫu Nhiên?
- Đảm bảo tính công bằng: Khi thực hiện rút thăm, xổ số, hay phân bổ công việc, việc lựa chọn ngẫu nhiên giúp tránh thiên vị.
- Lấy mẫu thống kê: Đối với các khảo sát, nghiên cứu thị trường, việc lấy mẫu ngẫu nhiên giúp thu thập dữ liệu đại diện.
- Kiểm thử và mô phỏng: Khi phát triển mô hình dự báo, cần tạo dữ liệu mô phỏng ngẫu nhiên để kiểm tra độ ổn định.
- Tạo dữ liệu mẫu: Khi xây dựng mẫu báo cáo hoặc dashboard, cần có dữ liệu mẫu để minh hoạ.
Có thể bạn quan tâm: Chạy Macro Trong Excel 2026: Hướng Dẫn Chi Tiết Từ A Đến Z
2. Các Phương Pháp Chọn Ngẫu Nhiên Cơ Bản Trong Excel
2.1 Sử Dụng Hàm RAND() và RANDBETWEEN()
2.1.1 Hàm RAND()
- Cú pháp:
=RAND() - Mô tả: Trả về một số thập phân ngẫu nhiên trong khoảng từ 0 đến 1 (không bao gồm 1). Mỗi lần tính toán lại, giá trị sẽ thay đổi.
Cách dùng để chọn ngẫu nhiên một hàng:
Giả sử bạn có danh sách 100 tên trong cột A (A2:A101). Bạn muốn chọn ngẫu nhiên một tên:
- Trong cột B (B2:B101), nhập công thức
=RAND(). - Kéo công thức xuống tới B101.
- Sắp xếp dữ liệu theo cột B (tăng dần hoặc giảm dần).
- Hàng đầu tiên (hoặc cuối cùng) sẽ là kết quả ngẫu nhiên.
2.1.2 Hàm RANDBETWEEN()
- Cú pháp:
=RANDBETWEEN(bottom, top) - Mô tả: Trả về một số nguyên ngẫu nhiên nằm trong khoảng từ
bottomtớitop(cả hai đều bao gồm).
Ví dụ: Để lấy một chỉ số ngẫu nhiên từ 2 tới 101:
=RANDBETWEEN(2,101)
Sau đó dùng hàm INDEX để lấy giá trị tương ứng:
=INDEX(A2:A101, RANDBETWEEN(1,100))
Lưu ý: RANDBETWEEN sẽ cập nhật lại mỗi khi bảng tính được tính toán lại (nhấn F9).
2.2 Hàm INDEX + MATCH + RAND()
Khi bạn muốn chọn nhiều mục ngẫu nhiên mà không lặp lại, có thể kết hợp các hàm:
- Tạo cột ngẫu nhiên: Như trên, cột B chứa
=RAND(). - Sắp xếp tạm thời: Dùng hàm
SORTBY(Excel 365) để sắp xếp danh sách dựa trên cột ngẫu nhiên:excel =SORTBY(A2:A101, B2:B101)
Kết quả là một mảng mới đã được xáo trộn. - Lấy N mục đầu tiên: Ví dụ muốn 5 tên ngẫu nhiên:
excel =INDEX(SORTBY(A2:A101, B2:B101), SEQUENCE(5))SEQUENCE(5)tạo mảng {1;2;3;4;5} để lấy 5 hàng đầu tiên.
2.3 Hàm SAMPLE (Excel 2026/365)
Phiên bản Excel mới có hàm SAMPLE (được giới thiệu trong Excel 2026) cho phép lấy mẫu ngẫu nhiên trực tiếp:
- Cú pháp:
=SAMPLE(array, sample_size, replace) array: Dải dữ liệu nguồn.sample_size: Số lượng mẫu muốn lấy.replace(tùy chọn): TRUE nếu cho phép trùng lặp, FALSE (mặc định) không cho phép trùng lặp.
Ví dụ: Lấy 10 tên ngẫu nhiên không trùng:
=SAMPLE(A2:A101, 10)
3. Chọn Ngẫu Nhiên Nhiều Phần Tử Không Trùng Lặp
3.1 Phương Pháp Loại Bỏ Trùng Lặp Bằng SORTBY + UNIQUE
Nếu dùng Excel 365, bạn có thể kết hợp SORTBY, UNIQUE và SEQUENCE:
=INDEX(UNIQUE(SORTBY(A2:A101, RANDARRAY(ROWS(A2:A101),1))), SEQUENCE(10))
Giải thích:
– RANDARRAY(ROWS(A2:A101),1) tạo mảng ngẫu nhiên cho mỗi hàng.
– SORTBY sắp xếp dựa trên mảng này.
– UNIQUE loại bỏ trùng (nếu dữ liệu gốc có trùng).
– INDEX + SEQUENCE(10) lấy 10 phần tử đầu.
3.2 Sử Dụng Power Query
Power Query cung cấp công cụ “Remove Duplicates” và “Sample Rows”. Các bước:
- Load dữ liệu vào Power Query: Chọn bảng → Data → From Table/Range.
- Thêm cột ngẫu nhiên: Home → Add Column → Custom Column → nhập
Number.RandomBetween(0, 1000000). - Sắp xếp theo cột ngẫu nhiên: Click vào cột mới → Sort Ascending.
- Giữ lại N hàng đầu: Home → Keep Top Rows → nhập số lượng cần.
- Remove the random column (nếu không cần) → Home → Remove Columns.
- Close & Load để trả về Excel.
Power Query có ưu điểm là không làm mất dữ liệu gốc, và mỗi lần refresh sẽ tạo mẫu mới.
4. Sử Dụng VBA Để Lựa Chọn Ngẫu Nhiên
Khi cần tự động hoá hoặc muốn tạo một nút bấm để thực hiện, VBA là công cụ mạnh mẽ.
4.1 Macro Cơ Bản Để Lấy Một Giá Trị Ngẫu Nhiên
Sub RandomPickOne() Dim rng As Range Dim count As Long Dim i As Long Set rng = Worksheets("Sheet1").Range("A2:A101") 'định nghĩa dải dữ liệu count = rng.Rows.count Randomize 'khởi tạo seed cho random i = Int(count Rnd) + 1 'tạo số ngẫu nhiên từ 1 tới count MsgBox "Giá trị ngẫu nhiên: " & rng.Cells(i, 1).Value
End Sub
4.2 Macro Lấy N Giá Trị Không Trùng Lặp

Có thể bạn quan tâm: Chọn Kiểu Chữ Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
Sub RandomSample() Dim src As Range, dest As Range Dim n As Long, i As Long, idx As Long Dim arr() As Variant, outArr() As Variant Dim dict As Object Set src = Worksheets("Sheet1").Range("A2:A101") Set dest = Worksheets("Sheet1").Range("C2") 'vị trí bắt đầu ghi kết quả n = 10 'số mẫu cần lấy arr = src.Value Set dict = CreateObject("Scripting.Dictionary") Randomize Do While dict.Count < n idx = Int((UBound(arr, 1) - LBound(arr, 1) + 1) Rnd + LBound(arr, 1)) If Not dict.Exists(idx) Then dict.Add idx, arr(idx, 1) End If Loop ReDim outArr(1 To dict.Count, 1 To 1) i = 1 For Each key In dict.Keys outArr(i, 1) = dict(key) i = i + 1 Next key dest.Resize(dict.Count, 1).Value = outArr
End Sub
Giải thích: Sử dụng Dictionary để đảm bảo không trùng lặp chỉ số, sau đó ghi kết quả vào cột C.
4.3 Gán Macro Vào Nút Bấm
- Chèn nút: Developer → Insert → Button (Form Control).
- Gán macro: Chọn
RandomSample. - Đặt tên nút: “Lấy 10 mẫu ngẫu nhiên”.
Giờ mỗi khi người dùng nhấn nút, danh sách ngẫu nhiên sẽ được cập nhật tự động.
5. Ứng Dụng Thực Tế
5.1 Rút Thăm Trúng Thưởng
- Bước 1: Tạo danh sách người tham gia (cột A).
- Bước 2: Thêm cột RAND() (cột B) và sắp xếp giảm dần.
- Bước 3: Lấy N người đầu tiên làm người thắng.
5.2 Lấy Mẫu Khảo Sát
Giả sử bạn có 5,000 khách hàng, muốn lấy mẫu 200 người:
- Dùng hàm
SAMPLE(A2:A5001,200)(Excel 365) hoặc Power Query để tạo mẫu. - Đảm bảo mẫu phản ánh đúng tỷ lệ độ tuổi, khu vực bằng cách stratified sampling (lấy mẫu phân tầng) – có thể thực hiện bằng cách tạo cột nhóm, sau đó áp dụng
SAMPLEcho từng nhóm.
5.3 Kiểm Thử Mô Hình Dự Báo
Khi xây dựng mô hình dự báo bán hàng, bạn cần dữ liệu bán hàng mô phỏng:
=RANDBETWEEN(50,200) // số lượng bán
=RANDBETWEEN(1,12) // tháng
=RANDBETWEEN(1000,5000) // doanh thu
Sắp xếp các cột này thành bảng dữ liệu mẫu, sau đó dùng cho mô hình.
5.4 Phân Bổ Nhiệm Vụ Cho Nhân Viên
Bạn có danh sách 30 công việc và 10 nhân viên. Để phân công ngẫu nhiên mỗi công việc cho một nhân viên (có thể trùng lặp), dùng:
=INDEX($E$2:$E$11, RANDBETWEEN(1,10))
Trong đó cột E chứa tên nhân viên.
6. Lưu Ý Khi Sử Dụng Hàm Ngẫu Nhiên
Tính toán lại (recalculation): Hàm
RAND,RANDBETWEEN,RANDARRAYsẽ thay đổi giá trị mỗi khi bảng tính được tính lại (F9, mở file, thay đổi dữ liệu). Nếu muốn “khóa” kết quả, sao chép và dán giá trị (Paste Special → Values).Seed (hạt) cho random: Excel không cho phép thiết lập seed trực tiếp, nhưng trong VBA có hàm
Randomizeđể khởi tạo. Nếu cần tái tạo cùng một dãy ngẫu nhiên, bạn có thể dùng công thức=RAND()1000000và sau đó dùngINTđể tạo số cố định.Hiệu suất: Khi làm việc với hàng triệu dòng, hàm mảng như
RANDARRAYhoặc việc sắp xếp toàn bộ bảng có thể làm chậm. Trong trường hợp này, VBA hoặc Power Query sẽ hiệu quả hơn.Bảo mật: Đối với rút thăm công bằng, nên ghi lại quá trình tạo mẫu (ví dụ lưu lại giá trị ngẫu nhiên) để có bằng chứng trong trường hợp tranh cãi.
7. Tổng Kết
Việc chọn ngẫu nhiên trong Excel không còn là một thách thức khó khăn nữa. Từ các hàm cơ bản như RAND, RANDBETWEEN tới các công cụ mạnh mẽ như SAMPLE, Power Query và VBA, bạn có thể đáp ứng hầu hết các yêu cầu thực tiễn: rút thăm, lấy mẫu khảo sát, tạo dữ liệu mô phỏng, hay phân bổ công việc. Khi áp dụng, hãy luôn chú ý tới:
- Đảm bảo tính công bằng và không trùng lặp (nếu yêu cầu).
- Kiểm soát việc tính toán lại để không mất dữ liệu ngẫu nhiên đã chọn.
- Sử dụng công cụ phù hợp với khối lượng dữ liệu và độ phức tạp của bài toán.
Hy vọng bài viết đã cung cấp cho bạn một cẩm nang toàn diện về cách thực hiện và ứng dụng việc chọn ngẫu nhiên trong Excel. Hãy thử áp dụng ngay vào công việc của mình và khám phá những lợi ích mà việc tự động hoá ngẫu nhiên mang lại!

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