Bài viết này hướng dẫn chi tiết về thuật toán tạo số ngẫu nhiên của Excel và cách sử dụng hàm RAND và RANDBETWEEN để tạo số, ngày tháng, mật khẩu và chuỗi văn bản ngẫu nhiên.
Dữ liệu ngẫu nhiên là một chuỗi số, chữ cái hoặc ký hiệu không theo quy luật nào. Việc tạo dữ liệu ngẫu nhiên trong Excel có nhiều ứng dụng thực tế, từ mô phỏng dữ liệu đến tạo mật khẩu.
Hàm RAND: Tạo Số Thập Phân Ngẫu Nhiên
Hàm RAND là một trong hai hàm chuyên dụng để tạo số ngẫu nhiên trong Excel. Hàm này trả về một số thập phân ngẫu nhiên (số thực) từ 0 đến 1.
RAND() là hàm bất định, nghĩa là mỗi khi bảng tính được tính toán, một số ngẫu nhiên mới sẽ được tạo ra. Điều này xảy ra khi bạn thực hiện bất kỳ thay đổi nào trên bảng tính, như cập nhật công thức, chỉnh sửa ô hoặc nhập dữ liệu mới. Hàm RAND tương thích với mọi phiên bản Excel từ 2000 đến 2016.
Để sử dụng, chỉ cần nhập =RAND()
vào ô và sao chép công thức nếu cần.
Tạo số thập phân ngẫu nhiên bằng hàm RAND
Dưới đây là một số công thức RAND nâng cao:
Giới Hạn Giá Trị Trên
Để tạo số ngẫu nhiên từ 0 đến N, dùng công thức:
=RAND()*N
Ví dụ, để tạo số ngẫu nhiên từ 0 đến 49 (không bao gồm 50):
=RAND()*50
Giới Hạn Cả Trên và Dưới
Để tạo số ngẫu nhiên từ A đến B (không bao gồm B), dùng công thức:
=RAND()*(B-A)+A
Ví dụ, để tạo số ngẫu nhiên từ 10 đến 49 (không bao gồm 50):
=RAND()*(50-10)+10
Tạo Số Nguyên Ngẫu Nhiên
Kết hợp hàm RAND với hàm INT để tạo số nguyên ngẫu nhiên:
- Từ 0 đến N:
=INT(RAND()*N)
- Từ A đến B:
=INT(RAND()*(B-A)+A)
Tạo số nguyên ngẫu nhiên
Hàm RANDBETWEEN: Tạo Số Nguyên Ngẫu Nhiên trong Khoảng
Hàm RANDBETWEEN trả về một số nguyên ngẫu nhiên trong khoảng cho trước:
RANDBETWEEN(giá_trị_dưới, giá_trị_trên)
giá_trị_dưới
là số nhỏ nhất và giá_trị_trên
là số lớn nhất trong khoảng. Giống RAND, RANDBETWEEN cũng là hàm bất định. Hàm này có sẵn trong Excel 2007 trở lên.
Ví dụ, để tạo số nguyên ngẫu nhiên từ 10 đến 50 (bao gồm cả 10 và 50):
=RANDBETWEEN(10, 50)
Sử dụng hàm RANDBETWEEN
RANDBETWEEN cũng có thể tạo số âm. Ví dụ, để tạo số nguyên ngẫu nhiên từ -10 đến 10:
=RANDBETWEEN(-10, 10)
Tạo Số Thập Phân với Số Chữ Số Thập Phân Xác Định
Để tạo số thập phân ngẫu nhiên với số chữ số thập phân cụ thể, bạn có thể kết hợp RANDBETWEEN với phép chia. Ví dụ, để tạo số ngẫu nhiên từ 1 đến 50 với một chữ số thập phân:
=RANDBETWEEN(1*10, 50*10)/10
Tạo số thập phân với số chữ số thập phân xác định
Tương tự, để tạo số ngẫu nhiên từ 1 đến 50 với hai chữ số thập phân:
=RANDBETWEEN(1*100, 50*100)/100
Tạo Ngày Ngẫu Nhiên
Để tạo ngày ngẫu nhiên giữa hai ngày, kết hợp RANDBETWEEN với DATEVALUE:
=RANDBETWEEN(DATEVALUE("ngày_bắt_đầu"), DATEVALUE("ngày_kết_thúc"))
Ví dụ, để tạo ngày ngẫu nhiên từ 01/06/2015 đến 30/06/2015:
=RANDBETWEEN(DATEVALUE("1-Jun-2015"), DATEVALUE("30-Jun-2015"))
Hoặc sử dụng hàm DATE:
=RANDBETWEEN(DATE(2015,6,1), DATE(2015,6,30))
Nhớ định dạng ô thành kiểu ngày tháng.
Tạo ngày ngẫu nhiên
Chèn Thời Gian Ngẫu Nhiên
Thời gian trong Excel được lưu dưới dạng số thập phân, nên bạn có thể dùng hàm RAND và định dạng ô thành kiểu thời gian.
Chèn thời gian ngẫu nhiên
Tạo Thời Gian Ngẫu Nhiên trong Khoảng
Để tạo thời gian ngẫu nhiên giữa hai thời điểm, dùng hàm TIME hoặc TIMEVALUE kết hợp với RAND:
=TIME(giờ_bắt_đầu, phút_bắt_đầu, giây_bắt_đầu) + RAND() * (TIME(giờ_kết_thúc, phút_kết_thúc, giây_kết_thúc) - TIME(giờ_bắt_đầu, phút_bắt_đầu, giây_bắt_đầu))
=TIMEVALUE("thời_gian_bắt_đầu") + RAND() * (TIMEVALUE("thời_gian_kết_thúc") - TIMEVALUE("thời_gian_bắt_đầu"))
Ví dụ, để tạo thời gian ngẫu nhiên từ 6:00 sáng đến 5:30 chiều:
=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"))
Công thức TIME/RAND
Tạo Ngày và Thời Gian Ngẫu Nhiên
Để tạo ngày và thời gian ngẫu nhiên, kết hợp RANDBETWEEN và DATEVALUE/TIMEVALUE:
=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
Ví dụ, để tạo ngày và thời gian ngẫu nhiên từ 01/06/2015 7:30 sáng đến 30/06/2015 6:00 chiều:
=RANDBETWEEN(DATEVALUE("1-Jun-2015"), DATEVALUE("30-Jun-2015")) + RANDBETWEEN(TIMEVALUE("7:30 AM")*10000, TIMEVALUE("6:00 PM")*10000)/10000
Tạo ngày và thời gian ngẫu nhiên
Tạo Ký Tự Ngẫu Nhiên
Để tạo chữ cái ngẫu nhiên, kết hợp CHAR, RANDBETWEEN và CODE:
=CHAR(RANDBETWEEN(CODE("A"), CODE("Z")))
CODE
trả về mã ANSI của ký tự.RANDBETWEEN
tạo số ngẫu nhiên trong khoảng mã ANSI.CHAR
chuyển mã ANSI thành ký tự.
Tạo ký tự ngẫu nhiên
Công thức trên tạo chữ cái in hoa. Để tạo chữ cái thường:
=CHAR(RANDBETWEEN(CODE("a"), CODE("z")))
Tạo Chuỗi Văn Bản và Mật Khẩu
Nối các hàm CHAR/RANDBETWEEN
để tạo chuỗi văn bản ngẫu nhiên. Ví dụ, mật khẩu 4 ký tự:
=RANDBETWEEN(0,9)&CHAR(RANDBETWEEN(65,90))&CHAR(RANDBETWEEN(97,122))&CHAR(RANDBETWEEN(33,47))
Tạo chuỗi văn bản
Ngăn RAND và RANDBETWEEN Tính Toán Lại
Để giữ nguyên giá trị ngẫu nhiên, chuyển công thức thành giá trị bằng cách:
- Chọn ô, nhấn F9 trong thanh công thức.
- Sao chép ô (Ctrl+C), dán đặc biệt giá trị (Ctrl+Shift+V hoặc Shift+F10 rồi V).
Tạo Số Ngẫu Nhiên Độc Nhất
- Tạo nhiều số ngẫu nhiên hơn cần thiết bằng RAND/RANDBETWEEN.
- Chuyển công thức thành giá trị.
- Loại bỏ giá trị trùng lặp (Data > Remove Duplicates).
Discussion about this post