Sinh số khác với chọn đủ người khác nhau
`RAND()` sinh số ngẫu nhiên từ 0 đến nhỏ hơn 1. `RANDBETWEEN(1,12)` sinh số nguyên từ 1 đến 12, gồm cả hai đầu. Cũng có thể dùng `=INT(RAND()*12)+1` cho các số nguyên ấy.
Sinh nhiều số riêng bằng RANDBETWEEN có thể trùng. Ba lượt sinh mã không tự bảo đảm ba mã khác nhau. Các hàm ngẫu nhiên có thể đổi khi trang tính tính lại; muốn lưu một lượt, sao chép kết quả và dùng **Paste Special → Values**. Kiểm ô sau đó là giá trị, không còn công thức ngẫu nhiên.
Trong tệp mẫu, trang Chon_mau có 12 mã số, nhãn HS01–HS12 và cột C là khóa ví dụ đã cố định. Nó giúp làm lại phép xếp hạng; không phải một lượt sinh đang chạy.
Xếp hạng rồi xử lí khóa bằng nhau
Để thực hành lượt mới, nhập `=RANDBETWEEN(1,12)` vào C2, sao chép tới C13 rồi cố định C2:C13 bằng Paste Values. Nhập tại D2:
`=RANK.EQ(C2,$C$2:$C$13,0)+COUNTIF($C$2:C2,C2)-1`
RANK.EQ xếp giảm dần; các khóa bằng nhau nhận cùng thứ hạng ban đầu. COUNTIF đếm số lần khóa đó đã gặp từ dòng đầu tới dòng hiện tại, giúp tách các vị trí bằng nhau. Sao chép xuống D13 để có các số từ 1 đến 12 không trùng.
Tại E2 nhập `=VLOOKUP(D2,$A$2:$B$13,2,FALSE)` rồi sao chép xuống: tra đúng nhãn theo mã số. Lấy bốn dòng đầu cột E để chọn bốn nhãn khác nhau. Giữ nguyên từng dòng mã–nhãn; không sắp riêng một cột làm sai cặp.
Kiểm có đủ 12 thứ hạng khác nhau trước khi lấy mẫu; nếu trùng, xem lại vùng cố định và vùng COUNTIF mở rộng. Đây là cách thực hành tạo thứ tự không lặp; việc xử lí hòa theo thứ tự dòng không tự bảo đảm mọi cách chọn đều có xác suất như nhau.
Bài luyện
Bốn ô đều dùng RANDBETWEEN(1,12). Điều gì có thể xảy ra?
Các lượt sinh riêng không tự loại số đã sinh.
Đúng. Chọn không lặp cần xử lí riêng.
Giới hạn dưới trong công thức là 1.
RANDBETWEEN gồm cả giới hạn trên.
Lời giải
RANDBETWEEN có thể trả lại một số từng xuất hiện ở ô khác. Vì vậy bốn ô không bảo đảm bốn mã khác nhau; phải dùng quy trình chọn không lặp và kiểm kết quả.
Bài luyện
Muốn giữ một lượt khóa ngẫu nhiên để tiếp tục tính mà không đổi khi trang tính tính lại, cần làm gì?
Màu không bỏ công thức ngẫu nhiên.
F9 tính lại trang có thể sinh lượt mới.
Đúng. Dán giá trị bỏ công thức đang sinh số.
Tên trang không đổi cơ chế tính.
Lời giải
Paste Values lưu các số của lượt đang xem thay cho công thức ngẫu nhiên. Cần kiểm nội dung ô sau thao tác. F9 khi tính lại trang không tương đương việc dán giá trị cố định.
Bài luyện
RANK.EQ cho hai khóa bằng nhau cùng hạng. COUNTIF mở rộng trong công thức mẫu có vai trò gì?
Đúng. Hạng cộng số lần đã gặp trừ 1 tạo các vị trí riêng.
COUNTIF là hàm đếm theo điều kiện.
AVERAGE mới tính trung bình.
Quy tắc phá hòa không tự chứng minh phân phối đều của mẫu.
Lời giải
Với các khóa bằng nhau, COUNTIF cho 1 ở lần đầu, 2 ở lần tiếp theo,... Cộng số này rồi trừ 1 vào hạng ban đầu tạo những vị trí liên tiếp riêng biệt, tránh hạng trùng.
Đang học