Làm Thế Nào Để Tạo Số Ngẫu Nhiên Mà Không Có Bản Sao Trong Excel? ?

Như bạn đã biết, Microsoft Excel có một sốhàm để tạo chuỗi số ngẫu nhiên như RAND, RANDBETWEEN và RANDARRAY. Tuy nhiên,không có gì đảm bảo rằng kết quả của các hàm trên sẽ không bị trùng lặp.

Đang xem: Làm thế nào để tạo số ngẫu nhiên mà không có bản sao trong excel?

Trong bài viết này sẽ hướng dẫn bạn xây dựng các công thức để tạo ra danh sách các số ngẫu nhiên là duy nhất. Tuy nhiên bạn cần chú ý là có một số hàm chỉ khả dụng tại phiên bản Excel 365 nên nếu bạn sử dụng phiên bản thấp hơn thì sẽ không tìm thấy hàm được áp dụng trong bài viết. Tuy nhiên có giải pháp khác cho những bạn sử dụng phiên bản thấp hơn tại cuối bài viết.

Tạo danh sách các số ngẫu nhiên duy nhất

Để tạo ra danh sách các số ngẫu nhiên duy nhất là kết hợp 3 hàm mảng độngmới: SORTBY, SEQUENCE và RANDARRAY:

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

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

Ví dụ, để tạo một danh sách gồm 5 số ngẫu nhiên,hãy sử dụng 5 cho n:

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

Nhập công thức vào ô trên cùng, nhấn phím Entervà kết quả sẽ tự động trả về tại số ô được chỉ định.

Như bạn có thể thấy trong ảnh chụp màn hình bêndưới, công thức này thực sự sắp xếp các số từ 1 đến 5 theo thứ tự ngẫu nhiên.

*

Trước khi tìm hiểu về công thức trên, bạn nên đọc về hàm SEQUENCE

Trong công thức trên, bạn chỉ xác định có baonhiêu hàng để điền. Tất cả các đối số khác được để giá trị mặc định của chúng,có nghĩa là danh sách sẽ bắt đầu từ 1 và bước tiến tăng dần là 1. Nếu bạn muốn một sốđầu tiên và số tăng khác, thì hãy đặt giá trị của riêng bạn cho đối số thứ 3 (Start)và đối số thứ 4 (Step) của hàm SEQUENCE.

Ví dụ: để bắt đầu (Start) từ 100 và bước tiến (Step) 10, hãy sửdụng công thức sau:

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

*

Công thức này hoạtđộng như thế nào:

Ta sẽ bổ nhỏ công thức ra như sau:

· Hàm SEQUENCE tạo một mảng số tuần tự dựa trêngiá trị bắt đầu (Start) được chỉ định hoặc mặc định và có đối số tăng dần. Chuỗinày chuyển đến đối số mảng của SORTBY.

· Hàm RANDARRAY tạo ra một mảng các số ngẫu nhiêncó cùng kích thước với chuỗi (5 hàng, 1 cột trong trường hợp này). 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ácgiá trị này thành mặc định. Mảng này chuyển đến đối số by_array của SORTBY.

· Hàm SORTBY sắp xếp các số tuần tự được tạo bởiSEQUENCE bằng cách sử dụng một mảng các số ngẫu nhiên do RANDARRAY tạo ra.

Hãy nhớ rằng công thức đơn giản này tạo ra mộtdanh sách các số ngẫu nhiên không lặp lại với một bước đượ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.

Cách khác tạo danh sách các sốngẫu nhiên không trùng lặp

Chỉ hoạt động trong các phiên bản Excel 365 mớinhất hỗ trợ mảng động.

Để tạo số ngẫu nhiên trong Excel mà không có sốtrùng lặp, hãy sử dụng một trong các công thức chung dưới đây.

Tạo danh sách số nguyên ngẫu nhiên:

INDEX (UNIQUE (RANDARRAY (n * 2, 1, min, max,TRUE)), SEQUENCE (n))

Tạo danh sách số thập phân ngẫunhiên:

INDEX (UNIQUE (RANDARRAY (n * 2, 1, min,max, FALSE)), SEQUENCE (n))

Trong đó:

· N là số giá trị cần tạo.

Xem thêm: một hình tròn có chu vi 15.7 cm tính diện tích hình tròn đó

· Min là giá trị nhỏ nhất.

· Max là giá trị lớn nhất.

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

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

*

Để tạo 5 số thập phân ngẫu nhiên duy nhất, hãyđặ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ông thức này hoạtđộng như thế nào:

Thoạt nhìn, công thức có thể hơi phức tạp, nhưngkhi xem xét kỹ hơn, logic của nó rất đơn giản:

· Hàm RANDARRAY tạo một mảng các số ngẫu nhiên dựatrên các giá trị tối thiểu và tối đa mà bạn chỉ định. Để xác định có bao nhiêugiá 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 RANDARRAY tạo ra 10, saocho UNIQUE có đủ giá trị để chọn.

· Hàm UNIQUE 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, hàm INDEX tríchxuất n giá trị đầu tiên như được chỉ định bởi SEQUENCE (5 số trong trường hợpcủa chúng tôi). Bởi vì các giá trị đã có thứ tự ngẫu nhiên, không thực sự quantrọng là giá trị nào tồn tại.

Tạo một dải số ngẫunhiên không lặp lại trong Excel

Chỉ hoạt động trong các phiên bản Excel 365 mớinhất hỗ trợ mảng động.

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

INDEX (UNIQUE (RANDARRAY (rows * 2, columns,min,max)), SEQUENCE (rows), {1,2,…})

Trong đó:

· Rows là số hàng cần điền.

· Columns 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: Bảng Dự Toán Bằng Excel Dự Toán Xây Dựng Hot Nhất Hiện Nay, Bảng Dự Toán Công Trình Cụ Thể Bằng Excel

· {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 2cộ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ớicác số ngẫu nhiên duy nhất từ 1 đến 100, hãy sử dụng công thức sau:

Xem thêm bài viết thuộc chuyên mục: Excel