Bài viết được tư vấn chuyên môn bởi ông Võ Văn Hiếu – Giám đốc kỹ thuật của Trung tâm sửa chữa điện lạnh – điện tử Limosa
Hầu hết người dùng Microsoft Excel đều quen thuộc với các hàm tạo số ngẫu nhiên RAND, RANDBETWEEN và RANDARRAY. Trong bài viết này sẽ hướng dẫn bạn cách tạo dãy số ngẫu nhiên không trùng lặp trong Excel. Trung tâm sửa chữa điện lạnh – điện tử Limosa sẽ chỉ ra những vấn đề cơ bản và một vài cách tiếp cận để làm bài toán này.
MỤC LỤC
1. Cách tạo dãy số ngẫu nhiên không trùng lặp trong Excel bằng hàm SORTBY, SEQUENCE và RANDARRAY
Bạn có thể tạo danh sách các số ngẫu nhiên duy nhất trên Microsoft 365 bằng cách kết hợp 3 hàm mảng động mới là SORTBY, SEQUENCE và RANDARRAY, bằng công thức sau:
=SORTBY(SEQUENCE(n), RANDARRAY(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ả sxkt, 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 được sử dụng để tạo ra một mảng số tuần tự dựa trên giá trị bắt đầu và kích thước bước tăng dần. Mảng này được chuyển đến đối số của SORTBY.
- Hàm RAND_ARRAY tạo ra một mảng các số ngẫu nhiên có kích thước bằng với số lượng giá trị tuần tự trong Mảng SEQUENCE (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 quan trọng, cho nên bạn có thể để các giá trị này mặc định. Mảng này được chuyển đến đối số by_array của hàm SORTBY.
- Hàm SORTBY sắp xếp các giá trị tuần tự trong mảng do SEQUENCE tạo ra, sử dụng mảng các giá trị ngẫu nhiên do RANDARRAY tạo ra.
Công thức trên tạo ra 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. Để tạo danh sách các số ngẫu nhiên không lặp lại với giá trị tuỳ chỉnh, bạn nên sử dụng phiên bản nâng cao của công thức được mô tả bên dưới.
2. Cách tạo dãy số ngẫu nhiên không trùng lặp trong Excel bằng hàm INDEX
Để tạo danh sách các số ngẫu nhiên không trùng lặp bằng cách sử dụng hàm INDEX, hãy làm theo các bước sau:
- Nhập phạm vi dữ liệu có số nguyên ngẫu nhiên vào một phạm vi trong bảng tính.
- Nhập một số nguyên dương N vào một ô để chỉ ra số lượng giá trị ngẫu nhiên bạn muốn lấy ra từ phạm vi này.
- Lưu ký hiệu của phạm vi dữ liệu vào một biến tên cho dễ thao tác. Ví dụ: DataRange.
- Gõ công thức sau vào ô đầu tiên của danh sách kết quả:
=INDEX(DataRange,RANDBETWEEN(1,COUNTA(DataRange)),1)
Hàm RANDBETWEEN sẽ tạo ra một số nguyên ngẫu nhiên trong khoảng từ 1 đến số lượng phần tử trong phạm vi dữ liệu. Hàm INDEX sẽ trả về giá trị ở vị trí được chỉ định bởi số nguyên ngẫu nhiên này.
- Dán công thức trên vào các ô liền kề phía dưới để tạo ra danh sách các số ngẫu nhiên không trùng lặp. Các ô sẽ tự động cập nhật giá trị ngẫu nhiên mới mỗi khi danh sách được tính toán lại.
- Nếu muốn đảm bảo rằng không có giá trị trùng lặp trong danh sách, bạn có thể sử dụng hàm UNIQUE để lọc các giá trị duy nhất.
Đây là một cách đơn giản và nhanh chóng để cách tạo dãy số ngẫu nhiên không trùng lặp trong Excel và nó hoạt động tốt với các phạm vi dữ liệu nhỏ. Tuy nhiên, với các phạm vi dữ liệu lớn, cách tiếp cận này có thể không hiệu quả và có thể mất rất nhiều thời gian
Cách thức hoạt động:
- Hàm RANDARRAY tạo ra một mảng chứa các giá trị ngẫu nhiên dựa trên giá trị tối đa và tối thiểu mà bạn cung cấp. Để xác định kích thước của mảng, bạn nên nhân số lượng giá trị cần tạo ra với 2, bởi vì mảng kết quả có thể chứa nhiều bản sao của các giá trị. Trong ví dụ này, chúng ta chỉ cần 5 giá trị ngẫu nhiên duy nhất, nhưng chúng ta buộc phải sử dụng hàm RANDARRAY để tạo ra tối thiểu 10 giá trị, giúp hàm UNIQUE có đủ giá trị để lọc.
- Sau khi sử dụng hàm UNIQUE để loại bỏ các giá trị trùng lặp, chúng ta có thể sử dụng hàm INDEX để trích xuất n giá trị đầu tiên theo thứ tự được chỉ định bởi hàm SEQUENCE (5 số trong trường hợp này). Bởi vì các giá trị đã được sắp xếp ngẫu nhiên, việc đưa ra quyết định về giá trị nào trong danh sách là không quan trọng.
3. Cách ngăn các số ngẫu nhiên thay đổi
Các hàm ngẫu nhiên trong Excel bao gồm RAND, RANDBETWEEN và RANDARRAY đều dễ dàng thay đổi, có nghĩa là chúng sẽ tính toán lại mỗi khi bảng tính được thay đổi. Điều này làm cho các giá trị ngẫu nhiên mới được tạo ra mỗi khi có thay đổi. Để ngăn chặn việc tạo ra các số ngẫu nhiên mới tự động, bạn nên sử dụng tính năng “Paste Special > Values” để thay thế các công thức bằng các giá trị tĩnh. Để sử dụng tính năng này, bạn có thể thực hiện theo các bước sau:
- Chọn tất cả các ô có chứa công thức ngẫu nhiên của bạn và nhấn Ctrl + C để sao chép chúng.
- Nhấp chuột phải vào phạm vi đã chọn và chọn “Paste Special > Values”. Ngoài ra, bạn có thể sử dụng phím tắt bằng cách nhấn Shift + F10 sau đó nhấn V để tuỳ chọn
Với bài viết cách tạo dãy số ngẫu nhiên không trùng lặp trong Excel, chúng ta đã cùng nhau xây dựng một công thức để tạo danh sách các số ngẫu nhiên duy nhất bằng cách kết hợp các hàm SORTBY, RANDBETWEEN, RANDARRAY… Mong rằng với chia sẻ của Trung tâm sửa chữa điện lạnh – điện tử Limosa, công thức này sẽ hữu ích cho công việc của bạn và giúp bạn làm việc hiệu quả hơn. Mọi thắc mắc vui lòng liên hệ qua HOTLINE 1900 2276.