Công cụ này dùng để làm gì
Công Cụ Chọn Tên Ngẫu Nhiên / Xáo Danh Sách nhận bất kỳ danh sách nào bạn dán vào — tên người, con số hay các đoạn văn bản thường — rồi chọn hoặc xáo trộn các mục một cách ngẫu nhiên. Bạn có thể dùng để quay số trúng thưởng, gọi tên học sinh, chia đội nhóm, đảo thứ tự danh sách phát nhạc, hoặc đơn giản là trộn lẫn một trật tự cho mới. Mỗi lần nhấn là một kết quả mới, ngẫu nhiên hoàn toàn và đồng đều.
Cách sử dụng
Dán các mục của bạn vào ô nhập, cách nhau bằng cách xuống dòng hoặc dấu phẩy (bạn có thể dùng cả hai cùng lúc). Đặt Chọn bao nhiêu mục bằng số lượng bạn muốn bốc ra. Chọn Cho phép lặp = Không nếu muốn bốc không hoàn lại (mỗi mục chỉ xuất hiện tối đa một lần), hoặc Có để cùng một mục có thể được chọn nhiều lần. Nếu cần, bạn có thể sắp xếp kết quả từ thấp đến cao / A-Z hoặc ngược lại, và chọn định dạng sao chép để dán vào bảng tính hay tin nhắn.
Giải thích công thức
Gọi \(N\) là số mục đã tách được và \(k\) là số lượng bạn yêu cầu. Khi không cho lặp, công cụ chạy thuật toán xáo trộn Fisher-Yates (với \(i\) chạy từ \(N-1\) xuống 1, đổi chỗ mục \(i\) với một mục ngẫu nhiên đứng trước nó) rồi trả về
$$m = \min(k, N) \quad \text{(không hoàn lại)}$$mục đầu tiên — vậy nên khi \(k\) quá lớn, bạn chỉ đơn giản nhận lại toàn bộ danh sách đã được xáo trộn. Khi cho phép lặp, công cụ thực hiện \(k\) lần bốc độc lập, mỗi lần chọn một chỉ số ngẫu nhiên
$$j = \lfloor \text{rand}() \times N \rfloor$$nên các mục có thể lặp lại và \(k\) có thể lớn hơn \(N\). Việc sắp xếp dùng bộ so sánh tự nhiên: những mục trông giống con số sẽ so sánh theo giá trị số, còn lại so sánh như văn bản không phân biệt chữ hoa chữ thường.
Ví dụ minh họa
Danh sách: Liam, Ethan, Haley, 34, 25, 16, A, B, C (\(N = 9\)). Chọn = 9, lặp = Không, sắp xếp = không. Vì \(k\) bằng \(N\) nên đây là một lần xáo trộn toàn bộ, cả 9 mục đều được trả về theo một trong \(9! = 362{,}880\) thứ tự có khả năng xảy ra như nhau, ví dụ: 34, Ethan, B, A, 25, C, Liam, 16, Haley.
Câu hỏi thường gặp
Vì sao mỗi lần kết quả lại khác nhau? Việc bốc là ngẫu nhiên, nên chạy lại sẽ cho ra thứ tự hoặc lựa chọn mới — đó là điều cố ý.
Nếu tôi yêu cầu nhiều mục hơn số mục trong danh sách thì sao? Khi không cho lặp, số lượng sẽ bị giới hạn bằng kích thước danh sách (bạn nhận lại toàn bộ danh sách đã xáo trộn). Khi cho phép lặp, bạn nhận đúng số lượng đã yêu cầu.
Dấu phẩy và khoảng trắng được xử lý thế nào? Các mục được tách theo dấu phẩy và dấu xuống dòng, những mục rỗng (như dấu phẩy thừa ở cuối) sẽ bị bỏ qua, và khoảng trắng thừa ở hai đầu cũng được cắt bỏ để kết quả gọn gàng hơn.