Hầu hết mọi người sử dụng Microsoft Excel đều biết đến các hàm tạo dãy số ngẫu nhiên là RAND, RANDBETWEEN và RANDARRAY. Tuy nhiên, không có gì đảm bảo rằng kết quả của bất kỳ hàm nào sẽ không bị trùng lặp. Ví dụ như bạn muốn tìm một dãy số để chơi xổ số sxmn thu 6, tất nhiên bạn sẽ không muốn các dãy số lại trùng nhau. Vì vậy việc chọn một hàm random không trùng lặp là điều cần thiết.

Đang xem: Cách lấy danh sách ngẫu nhiên không trùng lặp trong excel

1. Sử dụng các hàm SORTBY, SEQUENCE và RANDARRAY

Với Microsoft 365, cách dễ nhất để bạn có được danh sách các số ngẫu nhiên duy nhất là kết hợp 3 hàm mảng động mới: SORTBY, SEQUENCE và RANDARRAY:

=SORTBY (SEQUENCE (n), RANDARRAY (n))

Trong đó n là số giá trị ngẫu nhiên bạn muốn nhận.

Ví dụ 1: để tạo danh sách gồm 2 số ngẫu nhiên từ 00 đến 99 cho kết quả sxbd, hãy sử dụng 2 cho n:

=SORTBY(SEQUENCE(5), RANDARRAY(5))

Ví dụ 2: để bắt đầu từ 100 và tăng lên 10, hãy sử dụng công thức sau:

=SORTBY(SEQUENCE(5, , 100, 10), RANDARRAY(5))

*

Cách thức hoạt động:

Hàm SEQUENCE tạo một mảng số tuần tự dựa trên giá trị bắt đầu được chỉ định hoặc mặc định và kích thước bước tăng dần. Trình tự này chuyển đến mảng đối số của SORTBY.Các RAND_ARRAY hàm tạo một mảng các số ngẫu nhiên có cùng kích thước với chuỗi (5 hàng, 1 cột trong trường hợp của chúng ta). Giá trị tối thiểu và tối đa không thực sự quan trọng, vì vậy chúng ta có thể để các giá trị này thành mặc định. Mảng này chuyển đến by_array đối số của SORTBY.Các SORTBY hàm sắp xếp các số tuần tự được tạo bởi SEQUENCE bằng cách sử dụng một mảng các số ngẫu nhiên do RAND_ARRAY tạo ra.

Hãy nhớ rằng công thức đơn giản này tạo ra một danh sách các số ngẫu nhiên không lặp lại với bước xác định trước. Để vượt qua giới hạn này, hãy sử dụng phiên bản nâng cao của công thức được mô tả bên dưới.

2. Tạo danh sách các số ngẫu nhiên không trùng lặp bằng hàm INDEX

Số nguyên ngẫu nhiên:

INDEX (DUY NHẤT (RANDARRAY (n* 2, 1, min, tối đa, TRUE)), SEQUENCE (n))

Số thập phân ngẫu nhiên:

INDEX (DUY NHẤT (RANDARRAY (n* 2, 1, min, tối đa, FALSE)), SEQUENCE (n))

Trong đó:

N là số lượng giá trị cần tạo.Min là giá trị nhỏ nhất.Max là giá trị lớn nhất.

Xem thêm: Tổng Hợp 40 Những Câu Nói Hay Về Làm Đẹp, Những Câu Nói Hay Về Nghề Làm Đẹp

Ví dụ, để tạo danh sách 5 số nguyên ngẫu nhiên từ 1 đến 100 không lặp lại, hãy sử dụng công thức này:

=INDEX(UNIQUE(RANDARRAY(10, 1, 1, 100, TRUE)), SEQUENCE(5))

*

Để tạo ra 5 ngẫu nhiên duy nhất số thập phân, đặt FALSE trong đối số cuối cùng của RANDARRAY hoặc bỏ qua đối số này:

*

=INDEX(UNIQUE(RANDARRAY(10, 1, 1, 100)), SEQUENCE(5))

Cách thức hoạt động:

Hàm RANDARRAY tạo một mảng các số ngẫu nhiên dựa trên các giá trị tối thiểu và tối đa mà bạn chỉ định. Để xác định có bao nhiêu giá trị cần tạo, bạn nhân số mong muốn ít nhất với 2 (vì mảng kết quả có thể có trên một mảng biết bao nhiêu bản sao sẽ được xử lý sau này). Trong ví dụ này, chúng ta chỉ cần 5 số ngẫu nhiên duy nhất nhưng buộc RAND_ARRAY tạo ra 10, sao cho UNIQUE có đủ giá trị để chọn.

Các ĐỘC NHẤT hàm loại bỏ tất cả các bản sao và “cấp” một mảng không có bản sao thành INDEX.

Từ mảng được truyền bởi UNIQUE, MỤC LỤC chức năng trích xuất đầu tiên n các giá trị như được chỉ định bởi SEQUENCE (5 số trong trường hợp của chúng tôi). Bởi vì các giá trị đã có thứ tự ngẫu nhiên, không thực sự quan trọng là giá trị nào tồn tại.

3. Tạo một dải số ngẫu nhiên không lặp lại trong Excel bằng hàm INDEX

Để tạo một dải số ngẫu nhiên không có số lặp lại, hãy sửa đổi công thức trên theo cách này:

INDEX (DUY NHẤT (RANDARRAY (hàng* 2, cột, min, tối đa)), SỰ NỐI TIẾP(hàng), {1,2,…})

Trong đó:

Hàng là số hàng cần điền.Cột là số cột cần điền.Min là giá trị thấp nhất.Max là giá trị cao nhất.

Xem thêm: Review Phim Thiên Tài Quảng Cáo, Review Phim Thiên Tài Bất Hảo (Bad Genius)

{1,2,…} là một hằng số mảng bao gồm các số / chỉ số của tất cả các cột được điền các giá trị ngẫu nhiên. Ví dụ, để điền vào 2 cột, hãy sử dụng hằng mảng {1,2}; để điền vào 3 cột, hãy sử dụng {1,2,3}, v.v.

Ví dụ: để điền vào phạm vi 10 hàng và 3 cột với các số ngẫu nhiên duy nhất từ ​​1 đến 100, hãy sử dụng công thức sau:

=INDEX(UNIQUE(RANDARRAY(20, 3, 1, 100)), SEQUENCE(10), {1,2,3})

Và nó sẽ tạo ra một mảng các số thập phân ngẫu nhiên không có số lặp lại:

*

Nếu bạn cần số nguyên, thì hãy đặt đối số cuối cùng của RAND_ARRAY thành TRUE:

=INDEX(UNIQUE(RANDARRAY(20, 3, 1, 100, TRUE)), SEQUENCE(10), {1,2,3})

*

Vậy là chỉ với một vài công thức khá đơn giản đã có thể giúp bạn chọn được một dãy số ngẫu nhiên, ứng dụng được vào các lĩnh vực bạn tham gia. Chúc các bạn thành công

Leave a Reply

Your email address will not be published. Required fields are marked *