Bạn đang tìm cách tạo danh sách ngẫu nhiên không trùng lặp trong Excel? Bài viết này sẽ hướng dẫn bạn chi tiết các phương pháp hiệu quả, áp dụng được cho mọi phiên bản Excel, từ Excel 365, 2019, 2016, 2013 đến các phiên bản cũ hơn.
Minh họa lấy dữ liệu ngẫu nhiên không trùng lặp trong Excel
Tạo Danh Sách Ngẫu Nhiên Không Trùng Lặp trong Excel 365
Excel 365 hỗ trợ hàm mảng động, giúp việc tạo danh sách ngẫu nhiên không trùng lặp trở nên đơn giản hơn bao giờ hết. Công thức chung như sau:
=INDEX(SORTBY(cột_dữ_liệu, RANDARRAY(ROWS(cột_dữ_liệu))), SEQUENCE(n))
Trong đó:
cột_dữ_liệu
: Vùng dữ liệu nguồn bạn muốn lấy ngẫu nhiên.n
: Số lượng giá trị ngẫu nhiên bạn cần.
Ví dụ, để lấy 5 tên ngẫu nhiên không trùng lặp từ cột A (A2:A10), công thức sẽ là:
=INDEX(SORTBY(A2:A10, RANDARRAY(ROWS(A2:A10))), SEQUENCE(5))
Để linh hoạt thay đổi số lượng giá trị, bạn có thể tham chiếu đến một ô khác, ví dụ ô C2:
=INDEX(SORTBY(A2:A10, RANDARRAY(ROWS(A2:A10))), SEQUENCE(C2))
Giải thích công thức:
RANDARRAY(ROWS(cột_dữ_liệu))
: Tạo mảng số ngẫu nhiên bằng hàmRANDARRAY
dựa trên số hàng của vùng dữ liệu.SORTBY
: Sắp xếp lạicột_dữ_liệu
dựa trên mảng số ngẫu nhiên.INDEX
: Trích xuấtn
giá trị đầu tiên từ mảng đã sắp xếp.SEQUENCE(n)
: Tạo một dãy số từ 1 đến n, xác định số lượng giá trị cần lấy.
Lấy Nhiều Dòng Ngẫu Nhiên Không Trùng Lặp trong Excel 365
Với Excel 365, bạn có thể lấy nhiều dòng ngẫu nhiên không trùng lặp bằng công thức:
=INDEX(SORTBY(data, RANDARRAY(ROWS(data))), SEQUENCE(n), {1,2,…})
Trong đó:
n
: Số dòng cần lấy.{1,2,…}
: Thứ tự cột cần lấy dữ liệu.
Ví dụ, để lấy 3 dòng ngẫu nhiên từ A2:C10, công thức sẽ là:
=INDEX(SORTBY(A2:C10, RANDARRAY(ROWS(A2:C10))), SEQUENCE(F1), {1,2,3})
Lấy dòng ngẫu nhiên không trùng lặp trong Excel
Giải thích công thức:
Tương tự như công thức trước, nhưng hàm INDEX
được sử dụng với tham số bổ sung để chỉ định cột cần lấy dữ liệu.
Lấy Giá Trị Ngẫu Nhiên Không Trùng Lặp trong Excel 2010-2019
Đối với các phiên bản Excel 2010-2019, bạn có thể sử dụng phương pháp sau:
- Thêm cột phụ (ví dụ cột B) và sử dụng hàm
RAND()
để tạo số ngẫu nhiên cho từng dòng. - Sử dụng công thức sau để lấy giá trị ngẫu nhiên đầu tiên:
=INDEX($A$2:$A$10, RANK.EQ(B2, $B$2:$B$10) + COUNTIF($B$2:B2, B2) - 1)
- Sao chép công thức xuống các ô bên dưới để lấy thêm giá trị.
Lấy dữ liệu ngẫu nhiên sử dụng công thức Excel
Giải thích công thức:
RAND()
: Tạo số ngẫu nhiên.RANK.EQ
: Xác định thứ hạng của số ngẫu nhiên.COUNTIF
: Đếm số lần xuất hiện của số ngẫu nhiên từ đầu cột đến ô hiện tại.INDEX
: Lấy giá trị tương ứng với thứ hạng đã tính.
Cố Định Giá Trị Ngẫu Nhiên
Để giá trị ngẫu nhiên không thay đổi mỗi khi tính toán lại, bạn có thể sao chép và dán chúng dưới dạng giá trị (Values) bằng cách sử dụng Paste Special.
Kết Luận
Bài viết đã hướng dẫn bạn cách lấy danh sách ngẫu nhiên không trùng lặp trong Excel, từ phiên bản 365 đến các phiên bản cũ hơn. Hy vọng những kiến thức này sẽ hữu ích cho công việc của bạn. Bạn có thể tìm hiểu thêm thông tin qua video hướng dẫn:
Discussion about this post