Hướng dẫn này giải thích các đặc trưng của thuật toán tạo số ngẫu nhiên của Excel và chỉ ra cách sử dụng các hàm RAND và RANDBETWEEN trong Excel để tạo ra các số, ngày tháng, mật khẩu và các chuỗi văn bản ngẫu nhiên khác.
Trước khi chúng ta nghiên cứu các kỹ thuật tạo ra các số ngẫu nhiên khác nhau trong Excel, chúng ta hãy xác định chúng là gì. Nói một cách đơn giản, dữ liệu ngẫu nhiên là một chuỗi các con số, chữ cái hoặc các ký hiệu không có khuôn mẫu.
Xem nhanh
Hàm RAND trong Excel là một trong hai hàm được thiết kế đặc biệt để tạo ra các số ngẫu nhiên. Nó trả về một số thập phân ngẫu nhiên (số thực) giữa 0 và 1.
RAND () là một hàm bất định, có nghĩa là một số ngẫu nhiên mới được tạo ra mỗi khi bảng tính được tính toán. Và điều này xảy ra mỗi khi bạn thực hiện bất kỳ hành động nào trên bảng tính, ví dụ cập nhật công thức (không nhất thiết là công thức RAND, chỉ cần bất kỳ công thức nào khác trên một trang tính), chỉnh sửa một ô hoặc nhập dữ liệu mới.
Hàm RAND có sẵn trong tất cả các phiên bản Excel 2016, Excel 2013, Excel 2010, 2007, 2003, XP và 2000.
Vì hàm RAND không có đối số, bạn chỉ cần nhập =RAND() vào ô và sao chép công thức vào nhiều ô nếu bạn muốn:
Và bây giờ, chúng ta hãy đi thêm một bước nữa và viết một vài công thức RAND để tạo các số ngẫu nhiên theo các điều kiện của bạn.
Để tạo các số ngẫu nhiên giữa số không và bất kỳ giá trị N nào, bạn có hàm RAND nhân N:
= RAND () * N
Ví dụ, để tạo một dãy số ngẫu nhiên lớn hơn hoặc bằng 0 nhưng dưới 50, hãy sử dụng công thức sau:
=RAND() * 50
Chú ý. Giá trị ràng buộc phía trên không xuất hiện trong chuỗi ngẫu nhiên trả về. Ví dụ, nếu bạn muốn nhận được số ngẫu nhiên từ 0 đến 10, bao gồm 10, công thức đúng là =RAND() * 11.
Để tạo một số ngẫu nhiên giữa hai số nào mà bạn chỉ định, hãy sử dụng công thức RAND sau:
= RAND () * ( B – A ) + A
Trong đó A là giá trị giới hạn dưới (số nhỏ nhất) và B là giá trị giới hạn trên (số lớn nhất).
Ví dụ: để tạo các số ngẫu nhiên giữa 10 và 50, bạn có thể sử dụng công thức sau:
=RAND() * (50-10) + 10
Chú ý. Công thức ngẫu nhiên này sẽ không trả lại một số bằng số lớn nhất của dãy được chỉ định ( giá trị B ).
Để làm cho hàm RAND tạo ra các số nguyên ngẫu nhiên, lấy một trong hai công thức đã đề cập ở trên và nhúng nó trong hàm INT.
Để tạo số nguyên ngẫu nhiên giữa 0 và 50:
=INT(RAND()*50)
Để tạo các số nguyên ngẫu nhiên từ 10 đến 50:
=INT(RAND()*(50-10)+10)
RANDBETWEEN là một hàm khác được Excel tạo ra để tạo các số ngẫu nhiên. Nó trả về số nguyên ngẫu nhiên trong dãy mà bạn chỉ định:
RANDBETWEEN (bottom , top)
Rõ ràng, bottom là số thấp nhất và top là số cao nhất trong phạm vi số ngẫu nhiên bạn muốn nhận được.
Giống RAND, RANDBETWEEN của là một hàm không bất định và nó trả về một số nguyên ngẫu nhiên mới mỗi khi bảng tính của bạn được tính toán lại.
Ví dụ, để tạo các số nguyên ngẫu nhiên giữa 10 và 50 (kể cả 10 và 50), sử dụng công thức RANDBETWEEN sau:
=RANDBETWEEN(10, 50)
Hàm RANDBETWEEN trong Excel có thể tạo ra cả hai số dương và âm. Ví dụ, để có được một danh sách các số nguyên ngẫu nhiên từ -10 đến 10, hãy nhập công thức sau trong bảng tính của bạn:
=RANDBETWEEN(-10, 10)
Hàm RANDBETWEEN hiện có trong các phiên bản Excel 2016, Excel 2013, Excel 2010 và Excel 2007. Trong các phiên bản cũ, bạn có thể sử dụng công thức RAND thể hiện trong ví dụ 3 ở trên.
Trong hướng dẫn này, bạn sẽ tìm thấy một vài công thức minh hoạ cách sử dụng hàm RANDBETWEEN để tạo các giá trị ngẫu nhiên khác với số nguyên.
Mặc dù hàm RANDBEETWEEN trong Excel được thiết kế để trả về các số nguyên ngẫu nhiên, bạn có thể bắt buộc nó phải trả lại các số thập phân ngẫu nhiên với nhiều độ dài thập phân như bạn muốn.
Ví dụ, để có được một danh sách các số với một vị trí thập phân, bạn nhân các giá trị dưới và đầu trang cho 10, và sau đó chia giá trị trả về cho 10:
= RANDBETWEEN ( bottom value * 10, top value * 10) / 10
Công thức RANDBETWEEN sau đây trả về số thập phân ngẫu nhiên giữa 1 và 50:
=RANDBETWEEN(1*10, 50*10) / 10
Theo cách tương tự, để tạo các số ngẫu nhiên giữa 1 và 50 với 2 số thập phân, bạn nhân các đối số của hàm RANDBETWEEN cho 100, và sau đó chia kết quả cho 100:
=RANDBETWEEN(1*100, 50*100) / 100
Để trả về một danh sách các ngày ngẫu nhiên giữa hai ngày, sử dụng hàm RANDBETWEEN kết hợp với DATEVALUE :
= RANDBETWEEN (DATEVALUE ( ngày bắt đầu ), DATEVALUE ( ngày kết thúc ))
Ví dụ: để có được danh sách các ngày giữa ngày 1 tháng 6 năm 2015 và ngày 30 tháng 6 năm 2015, hãy nhập công thức sau trong bảng tính của bạn:
=RANDBETWEEN(DATEVALUE(“1-Jun-2015”), DATEVALUE(“30-Jun-2015”))
Ngoài ra, bạn có thể sử dùng hàm DATE thay vì DATEVALUE:
=RANDBETWEEN(DATE(2015,6,1), DATEVALUE(2015,6,30))
Hãy nhớ áp dụng định dạng ngày cho (các) ô và bạn sẽ nhận được một danh sách các ngày ngẫu nhiên tương tự như sau:
Xem thêm: Cách điền ngày tháng vào Excel, thêm thông tin ngày tháng hiện tại, tự động điền ngày tháng vào cột
Nhớ rằng trong khoảng thời gian của Excel được lưu dưới dạng thập phân, bạn có thể sử dụng hàm RAND chuẩn để chèn các số thực ngẫu nhiên và sau đó chỉ cần áp dụng định dạng thời gian vào các ô:
Để trả lại thời gian ngẫu nhiên theo tiêu chí của bạn, cần các công thức ngẫu nhiên cụ thể hơn, như được trình bày dưới đây.
Để chèn ngẫu nhiên thời gian giữa bất kỳ hai thời gian mà bạn chỉ định, sử dụng hàm TIME hoặc TIMEVALUE kết hợp với RAND:
= TIME ( thời gian bắt đầu ) + RAND () * (TIME ( thời gian bắt đầu ) – TIME ( thời gian kết thúc ))
= TIMEVALUE ( thời gian bắt đầu ) + RAND () * (TIMEVALUE ( thời gian bắt đầu ) – TIMEVALUE ( thời gian kết thúc ))
Ví dụ: để chèn thời gian ngẫu nhiên giữa 6 giờ sáng đến 5 giờ 30 tối, bạn có thể sử dụng một trong hai công thức sau:
=TIME(6,0,0) + RAND() * (TIME(17,30,0) – TIME(6,0,0))
=TIMEVALUE(“6:00 AM”) + RAND() * (TIMEVALUE(“5:30 PM”) – TIMEVALUE(“6:00 AM”))
Để tạo một danh sách các ngày tháng và thời gian ngẫu nhiên , hãy sử dụng kết hợp các hàm RANDBETWEEN và DATEVALUE:
= RANDBETWEEN (DATEVALUE ( ngày bắt đầu) , DATEVALUE ( ngày kết thúc )) + RANDBETWEEN (TIMEVALUE ( thời gian bắt đầu ) * 10000, TIMEVALUE ( thời gian kết thúc ) * 10000) / 10000
Giả sử bạn muốn chèn các ngày ngẫu nhiên từ ngày 1 tháng 6 năm 2015 đến ngày 30 tháng 6 năm 2015 với thời gian từ 7 giờ 30 sáng đến 6 giờ chiều, ta có công thức sau:
=RANDBETWEEN(DATEVALUE(“1-Jun-2015”), DATEVALUE(“30-Jun-2015”)) + RANDBETWEEN(TIMEVALUE(“7:30 AM”) * 10000, TIMEVALUE(“6:00 PM”) * 10000) / 10000
Bạn cũng có thể thay thời gian và ngày sử dụng với hàm DATE và TIME, tương ứng:
=RANDBETWEEN(DATE(2015,6,1), DATE(2015,6,30)) + RANDBETWEEN(TIME(7,30,0) * 10000, TIME(18,0,0) * 10000) / 10000
Để trả về một chữ cái ngẫu nhiên, cầu một sự kết hợp của ba hàm khác nhau:
=CHAR(RANDBETWEEN(CODE(“A”), CODE(“Z”)))
Với A là ký tự đầu tiên và Z là ký tự cuối cùng trong dãy chữ cái bạn muốn (theo thứ tự chữ cái).
Trong công thức trên:
Chú ý. Vì các mã ANSI phân biệt chữ hoa và chữ thường, công thức này là chữ hoa .
Nếu bạn nhớ mã ký tự ANSI trong đầu, thì bạn có thể ghi trực tiếp trong hàm RANDBETWEEN.
Ví dụ: để tạo chữ Hoa ngẫu nhiên giữa A (ANSI code 65) và Z (ANSI code 90), bạn viết:
=CHAR(RANDBETWEEN(65, 90))
Để tạo các chữ thường từ a (ANSI code 97) đến z (mã ANSI 122), bạn sử dụng công thức sau:
=CHAR(RANDBETWEEN(97, 122))
Để chèn một ký tự đặc biệt ngẫu nhiên, chẳng hạn như ! “# $% & ‘() * +, -. /, Sử dụng hàm RANDBETWEEN với tham số dưới cùng là 33 (mã ANSI cho”! “) Và tham số đầu đặt là 47 (mã ANSI cho” / “).
=CHAR(RANDBETWEEN(33,47))
Để tạo một chuỗi văn bản ngẫu nhiên trong Excel, bạn chỉ cần nối một vài hàm CHAR / RANDBEETWEEN.
Ví dụ: để tạo danh sách mật khẩu gồm 4 ký tự, bạn có thể sử dụng công thức tương tự như sau:
=RANDBETWEEN(0,9) & CHAR(RANDBETWEEN(65,90)) & CHAR(RANDBETWEEN(97, 122)) & CHAR(RANDBETWEEN(33,47))
Để làm cho công thức thêm gọn nhẹ, tôi cung cấp các mã ANSI trực tiếp trong công thức. Bốn hàm trả về các giá trị ngẫu nhiên sau:
Các chuỗi văn bản được tạo ra bằng công thức trên sẽ là một cái gì đó như ” 4Np # ” hoặc ” 2Yu & “.
Cánh báo! Nếu bạn sử dụng một công thức tương tự để tạo mật khẩu ngẫu nhiên, chúng sẽ không mạnh. Tất nhiên, tôi không nói rằng bạn không thể tạo ra các chuỗi văn bản dài hơn bằng cách nối thêm các hàm CHAR / RANDBETWEEN. Nhưng, không thể ngẫu nhiên hoá thứ tự hoặc các ký tự, tức là hàm đầu tiên luôn trả về một số, hàm thứ trả về chữ hoa,…
Nếu bạn muốn có được một tập hợp các số ngẫu nhiên, ngày hoặc chuỗi văn bản cố định không thay đổi mỗi khi bảng tính được tính lại, hãy sử dụng một trong các kỹ thuật sau:
Không những hàm ngẫu nhiên của Excel có thể tạo ra các giá trị ngẫu nhiên độc đáo. Mà nếu ai đó đang tìm kiếm một bộ phát số ngẫu nhiên duy nhất trong Excel, bạn có thể sử dụng cách t sau đây.
Rất nhiều kiến thức mà chúng ta chưa biết phải không nào? Toàn bộ những kiến thức này các bạn đều có thể học được trong khóa học