Mục lục
Trong bài viết này, chúng ta sẽ thảo luận về một vài công thức khác nhau để sắp xếp ngẫu nhiên trong Excel mà không lặp lại các số. Ngoài ra, chúng tôi sẽ giới thiệu cho bạn một Trình tạo ngẫu nhiên chung có thể tạo danh sách các số, ngày tháng và chuỗi ngẫu nhiên mà không lặp lại.
Có thể bạn đã biết, Microsoft Excel có một số hàm để tạo số ngẫu nhiên chẳng hạn như 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.
Hướng dẫn này giải thích một số công thức để tạo danh sách các số ngẫu nhiên duy nhất. Xin lưu ý rằng một số công thức chỉ hoạt động trong phiên bản Excel 365 và 2021 mới nhất trong khi các công thức khác có thể được sử dụng trong mọi phiên bản Excel 2019, Excel 2016, Excel 2013 trở về trước.
Tải danh sách các số ngẫu nhiên duy nhất với bước được xác định trước
Chỉ hoạt động trong Excel 365 và Excel 2021 hỗ trợ mảng động.
Nếu bạn có phiên bản Excel mới nhất, cách dễ nhất cách để 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ụ: để tạo danh sách 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 Enter và kết quả sẽ tự động tràn ra ôsố ô đã chỉ định.
Như bạn có thể thấy trong ảnh chụp màn hình bên dướ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 . Nếu bạn cần một trình tạo số ngẫu nhiên cổ điển không lặp lại, vui lòng xem các ví dụ khác sau đây.
Trong công thức trên, bạn chỉ xác định số hàng cần điền. Tất cả các đối số khác được giữ nguyên giá trị mặc định, nghĩa là danh sách sẽ bắt đầu từ 1 và sẽ tăng thêm 1. Nếu bạn muốn số đầu tiên khác và số tăng dần, thì hãy đặt giá trị của riêng bạn cho số thứ 3 ( bắt đầu ) và đối số thứ 4 ( bước ) của hàm SEQUENCE.
Ví dụ: để bắt đầu từ 100 và tăng thêm 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 của công thức này:
Làm việc từ trong ra ngoài, đây là chức năng của công thức:
- Hàm SEQUENCE tạo một mảng gồm các số thứ 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 đi đến đối số mảng của SORTBY.
- Hàm RANDARRAY tạo một mảng các số ngẫu nhiên có cùng kích thước với trình tự (trong trường hợp của chúng ta là 5 hàng, 1 cột). Giá trị tối thiểu và tối đa không thực sự quan trọng, vì vậy chúng tôi có thể để các giá trị này ở chế độ 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ố thứ tự do SEQUENCE tạo bằng cách sử dụng một mảng các số ngẫu nhiên doRANDARRAY.
Xin lưu ý rằng công thức đơn giản này tạo danh sách các số ngẫu nhiên không lặp lại với bước được xác định trước . Để bỏ 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.
Tạo danh sách các số ngẫu nhiên không trùng lặp
Chỉ hoạt động trong Excel 365 và Excel 2021 hỗ trợ động mảng.
Để tạo số ngẫu nhiên trong Excel mà không trùng lặp, hãy sử dụng một trong các công thức chung bên dưới.
Số nguyên ngẫu nhiên :
INDEX(UNIQUE( RANDARRAY( n ^2, 1, min , max , TRUE)), SEQUENCE( n ))Số thập phân ngẫu nhiên :
INDEX(UNIQUE(RANDARRAY( n ^2, 1, min , max , FALSE)), SEQUENCE( n )))Trong đó:
- N là số lượng giá trị cần tạo.
- Tối thiểu 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ên từ 1 đến 100 không lặp lại, hãy sử dụng công thức sau:
=INDEX(UNIQUE(RANDARRAY(5^2, 1, 1, 100, TRUE)), SEQUENCE(5))
Để tạo 5 số thập phân ngẫu nhiên duy nhất , đặt FALSE vào đối số cuối cùng của RANDARRAY hoặc bỏ qua phần này đối số:
=INDEX(UNIQUE(RANDARRAY(5^2, 1, 1, 100)), SEQUENCE(5))
Cách thức hoạt động của công thức này:
Tại fi Thoạt nhìn, công thức có thể trông hơi phức tạp, nhưng khi xem xét kỹ hơn thì 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ự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ị đểtạo ra, bạn tăng số lượng giá trị duy nhất mong muốn lên lũy thừa 2. Vì mảng kết quả có thể không ai biết có bao nhiêu giá trị trùng lặp nên bạn cần cung cấp đủ mảng giá trị cho UNIQUE để lựa chọn. Trong ví dụ này, chúng tôi chỉ cần 5 số ngẫu nhiên duy nhất nhưng chúng tôi hướng dẫn RANDARRAY tạo ra 25 (5^2).
- Hàm UNIQUE loại bỏ tất cả các số trùng lặp và "nạp" một mảng không trùng lặp vào INDEX.
- Từ mảng được truyền bởi UNIQUE, hàm INDEX trích xuất các giá trị n đầu tiên như được chỉ định bởi SEQUENCE (trong trường hợp của chúng tôi là 5 số). Vì các giá trị đã được sắp xếp theo thứ tự ngẫu nhiên nên việc giá trị nào tồn tại không thực sự quan trọng.
Lưu ý. Trên các mảng rất lớn, công thức này có thể hơi chậm. Ví dụ: để lấy danh sách 1.000 số duy nhất làm kết quả cuối cùng, RANDARRAY sẽ phải tạo mảng 1.000.000 số ngẫu nhiên (1000^2) bên trong. Trong những tình huống như vậy, thay vì tăng thành lũy thừa, bạn có thể nhân n với, chẳng hạn như 10 hoặc 20. Xin lưu ý rằng mảng nhỏ hơn được chuyển cho hàm UNIQUE (nhỏ so với số mong muốn của các giá trị ngẫu nhiên duy nhất), thì khả năng không phải tất cả các ô trong phạm vi tràn sẽ được lấp đầy bằng kết quả càng lớn.
Tạo một dãy số ngẫu nhiên không lặp lại trong Excel
Chỉ hoạt động trong Excel 365 và Excel 2021 hỗ trợ mảng động.
Để tạo một dải số ngẫu nhiên khônglặp lại, bạn có thể sử dụng công thức sau:
INDEX(UNIQUE(RANDARRAY( n ^2, 1, min , max )), SEQUENCE( hàng , cột ))Trong đó:
- n là số ô cần điền. Để tránh tính toán thủ công, bạn có thể cung cấp nó dưới dạng (số hàng * số cột). Ví dụ: để điền 10 hàng và 5 cột, hãy sử dụng 50^2 hoặc (10*5)^2.
- Hàng là số hàng cần điền.
- Cột là số cột cần điền.
- Tối thiểu là giá trị thấp nhất.
- Tối đa là giá trị cao nhất value.
Như bạn có thể nhận thấy, công thức về cơ bản giống như trong ví dụ trước. Điểm khác biệt duy nhất là hàm SEQUENCE, trong trường hợp này xác định cả số hàng và số cột.
Ví dụ: để điền vào một phạm vi gồm 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 này:
=INDEX(UNIQUE(RANDARRAY(30^2, 1, 1, 100)), SEQUENCE(10, 3))
Và nó sẽ tạo ra một mảng các số thập phân ngẫu nhiên mà không lặp lại các số:
Nếu bạn cần số nguyên, hãy đặt đối số cuối cùng của RANDARRAY thành TRUE :
=INDEX(UNIQUE(RANDARRAY(30^2, 1, 1, 100, TRUE)), SEQUENCE(10,3))
Cách tạo các số ngẫu nhiên duy nhất trong Excel 2019, 2016 trở về trước
Vì không có phiên bản nào ngoài Excel 365 và 2021 hỗ trợ mảng động nên không có phiên bản nào ở trên các giải pháp hoạt động trong các phiên bản Excel cũ hơn. Tuy nhiên, điều này không có nghĩa là không có giải pháp nào cả, bạn chỉ cần thực hiện thêm một số bước sau:
- Tạo danh sách các số ngẫu nhiên. dựa trên của bạncần, hãy sử dụng:
- Hàm RAND để tạo số thập phân ngẫu nhiên trong khoảng từ 0 đến 1 hoặc
- Hàm RANDBETWEEN để tạo số nguyên ngẫu nhiên trong phạm vi mà bạn chỉ định.
Đảm bảo tạo nhiều giá trị hơn mức bạn thực sự cần vì một số giá trị sẽ trùng lặp và bạn sẽ xóa chúng sau.
Đối với ví dụ này, chúng tôi đang tạo danh sách 10 số nguyên ngẫu nhiên từ 1 đến 20 theo sử dụng công thức bên dưới:
=RANDBETWEEN(1,20)
Để nhập công thức vào nhiều ô cùng một lúc, hãy chọn tất cả các ô (trong ví dụ của chúng tôi là A2:A15), nhập công thức vào thanh công thức và nhấn Ctrl + Enter . Hoặc bạn có thể nhập công thức vào ô đầu tiên như thường lệ, sau đó kéo công thức xuống bao nhiêu ô tùy ý.
Dù sao thì kết quả sẽ giống như thế này:
Tùy ý bạn lưu ý, chúng tôi đã nhập công thức vào 14 ô, mặc dù cuối cùng chúng tôi chỉ cần 10 số ngẫu nhiên duy nhất.
- Thay đổi công thức thành giá trị. Vì cả RAND và RANDBETWEEN đều tính toán lại với mọi thay đổi trên trang tính, danh sách các số ngẫu nhiên của bạn sẽ liên tục thay đổi. Để ngăn điều này xảy ra, hãy sử dụng Dán Đặc biệt > Values để chuyển đổi công thức thành giá trị như được giải thích trong Cách dừng tính toán lại các số ngẫu nhiên.
Để chắc chắn rằng bạn đã làm đúng, hãy chọn bất kỳ số nào và nhìn vào thanh công thức. Bây giờ nó sẽ hiển thị một giá trị, không phải công thức:
- Xóa các mục trùng lặp. Để có được nóhoàn tất, hãy chọn tất cả các số, chuyển đến nhóm Dữ liệu > Công cụ dữ liệu và nhấp vào Xóa các mục trùng lặp . Trong hộp thoại Xóa Bản sao xuất hiện, chỉ cần nhấp vào OK mà không thay đổi bất kỳ điều gì. Để biết các bước chi tiết, vui lòng xem Cách loại bỏ các bản sao trong Excel.
Xong! Tất cả các số trùng lặp đã biến mất và giờ đây bạn có thể xóa các số thừa.
Mẹo. Thay vì công cụ tích hợp sẵn của Excel, bạn có thể sử dụng Trình loại bỏ trùng lặp nâng cao dành cho Excel của chúng tôi.
Cách ngăn các số ngẫu nhiên thay đổi
Tất cả các hàm sắp xếp ngẫu nhiên trong Excel bao gồm RAND, RANDBETWEEN và RANDARRAY không ổn định, nghĩa là chúng tính toán lại mỗi khi thay đổi bảng tính. Kết quả là, các giá trị ngẫu nhiên mới được tạo ra với mỗi thay đổi. Để ngăn tự động tạo các số mới, hãy sử dụng tùy chọn Dán đặc biệt > Tính năng giá trị để thay thế công thức bằng giá trị tĩnh. Đây là cách thực hiện:
- Chọn tất cả các ô có 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à nhấp vào Dán đặc biệt > Giá trị . Ngoài ra, bạn có thể nhấn Shift + F10 rồi nhấn V , đây là phím tắt cho tùy chọn này.
Để biết các bước chi tiết, vui lòng xem Cách thay đổi công thức thành giá trị trong Excel.
Trình tạo số ngẫu nhiên cho Excel không lặp lại
Người dùng Ultimate Suite của chúng tôi không thực sự cần bất kỳ giải pháp nào ở trên vìhọ đã có một Trình tạo ngẫu nhiên chung trong Excel của họ. Công cụ này có thể dễ dàng tạo danh sách các số nguyên không lặp lại, số thập phân, ngày tháng và mật khẩu duy nhất. Đây là cách thực hiện:
- Trên tab Công cụ Ablebits , hãy nhấp vào Ngẫu nhiên hóa > Trình tạo ngẫu nhiên .
- Chọn phạm vi để điền các số ngẫu nhiên.
- Trên ngăn Trình tạo ngẫu nhiên , hãy làm như sau:
- Chọn loại giá trị mong muốn: số nguyên, số thực, ngày, Boolean , danh sách tùy chỉnh hoặc chuỗi (lý tưởng để tạo mật khẩu mạnh duy nhất!).
- Thiết lập các giá trị Từ và Tới .
- Chọn các giá trị Hộp kiểm Giá trị duy nhất .
- Nhấp vào Tạo .
Thế là xong! Phạm vi đã chọn sẽ được lấp đầy bằng các số ngẫu nhiên không lặp lại cùng một lúc:
Nếu bạn tò mò muốn dùng thử công cụ này và khám phá các tính năng hấp dẫn khác có trong Ultimate Suite của chúng tôi, bạn có thể tải xuống phiên bản dùng thử.
Đó là cách sắp xếp ngẫu nhiên các số trong Excel mà không bị trùng. Tôi cảm ơn bạn đã đọc và hy vọng sẽ gặp bạn trên blog của chúng tôi vào tuần tới!
Sách bài tập thực hành để tải xuống
Tạo số ngẫu nhiên duy nhất trong Excel (tệp .xlsx)