Cách chọn ngẫu nhiên N số từ một cột trong Google Sheets

Bạn muốn chọn ngẫu nhiên N số từ một cột. Phải làm sao? Trong Google Sheets, bạn có thể sử dụng công thức của tôi để chọn một tập hợp các số hoặc tên ngẫu nhiên từ một cột. Công thức này hoạt động cho cả số, tên và thậm chí ngày tháng.

Bạn sẽ thấy công thức Chọn Ngẫu Nhiên dưới đây rất hữu ích. Với sự giúp đỡ của công thức này, bạn có thể làm những việc sau và nhiều hơn nữa.

  • Chọn ngẫu nhiên một nhóm người chơi.
  • Chọn ngẫu nhiên học sinh cho các lớp khác nhau.
  • Chọn N người chiến thắng trong một cuộc xổ số.
  • Loại bỏ ngẫu nhiên những người thừa khi số lượng người giới hạn.

Công thức để chọn ngẫu nhiên N số từ một cột trong Google Sheets

Tôi sẽ chỉ cho bạn cách sử dụng công thức này để chọn ngẫu nhiên N số hoặc tên từ một cột trong Google Sheets. Bạn cần thay đổi hai điều trong công thức để phù hợp với mục đích của bạn.

Công thức chính:

=ArrayFormula(Array_Constrain(vlookup(Query({ROW(A1:A20),randbetween(row(A1:A20)^0,9^9)},"Select Col1 order by Col2 Asc"),{row(A1:A20),A1:A20},2,FALSE),10,1))

Nhưng những thay đổi đó là gì?

  1. Công thức trên áp dụng cho phạm vi A1:A20. Ví dụ, nếu bạn muốn sử dụng công thức này trong một danh sách lớn hơn gồm 400 hàng, hãy thay đổi phạm vi trong công thức từ A1:A20 thành A1:A400.

  2. Công thức chính này chọn ngẫu nhiên 10 số hoặc tên từ cột A. Số 10 ở phần cuối của công thức biểu thị số lượng số hoặc tên ngẫu nhiên sẽ được trả về. Bạn có thể thay đổi số đó.

Ví dụ, nếu phạm vi của bạn là A1:A100 và nếu bạn đặt số 10 nói trên thành 50, công thức sẽ trả về 50 tên hoặc số ngẫu nhiên. Nếu bạn đặt nó thành 100, nó chỉ sắp xếp lại các giá trị trong phạm vi A1:A100 và trả về tất cả các số hoặc tên trong danh sách.

Ví dụ: Chọn ngẫu nhiên 10 tên từ 20 tên

Công thức trên ô C1 đã chọn ngẫu nhiên 10 tên từ cột A.

Giải thích công thức

Phần này hữu ích nếu bạn muốn biết cách công thức chính trên chọn N số hạng ngẫu nhiên trong Google Sheets.

Lưu ý: Bạn có thể hiểu một công thức phức tạp bằng cách nhìn vào phần giữa của nó. Bất kỳ công thức tính toán lồng nhau nào thường phát triển từ phần giữa. Tôi đang sử dụng phương pháp này để giải thích công thức trên.

Đương nhiên, không thể chọn tên hoặc số ngẫu nhiên trong Google Sheets mà không có các hàm RANDARRAY, RANDBETWEEN hoặc RAND. Trong công thức trên, tôi đã sử dụng hàm RANDBETWEEN.

RANDBETWEEN(THẤP, CAO)

Giả sử giá trị “thấp” là 1 và giá trị “cao” là 20, hàm này sẽ trả về một số ngẫu nhiên trong phạm vi từ 1 đến 20, cả hai số đều bao gồm.

Đối với mục đích của công thức của tôi, tôi muốn tạo ra 20 số ngẫu nhiên. Tùy chọn nào? Mặc định, không có tùy chọn nào. Nhưng bạn có thể tinh chỉnh RANDBETWEEN như sau.

Phần chia nhỏ 1:

=ArrayFormula(randbetween(row(A1:A20)^0,9^9))

Đương nhiên. Ở đây, chúng ta có thể áp dụng một thực hành phổ biến mà tất cả các chuyên gia Google Sheets đều tuân thủ. Đó là sử dụng đối số “thấp” của hàm ROW =ArrayFormula(row(A1:A20)) có thể trả về các số (không phải số ngẫu nhiên) từ 1 đến 20. Vì tôi đã chọn 0 làm số mũ (^0), công thức sẽ trả về số 1, 20 lần.

Giá trị “cao” được đặt thành 9^9 tương đương với 387420489.

Vì vậy, công thức ví dụ trên sẽ trả về 20 số ngẫu nhiên duy nhất trong khoảng từ 1 đến 9^9.

Bạn có thể sử dụng bất kỳ số nào như là 100, 200, vv thay vì 9^9 trong công thức RANDBETWEEN như đối số “cao”. Nhưng một số lớn có thể đảm bảo rằng công thức không trả về bất kỳ giá trị trùng lặp nào.

Kết quả của công thức RANDBETWEEN trên sẽ như sau (các số sẽ không giống nhau).

Phần chia nhỏ 2:

Ở đây, chúng tôi thêm các hàm bổ sung vào công thức “chia nhỏ 1”.

=ArrayFormula(Query({ROW(A1:A20),randbetween(row(A1:A20)^0,9^9)},"Select Col1 order by Col2 Asc"))

Thực ra, tôi không muốn những số ngẫu nhiên được tạo ra (hãy xem hình ảnh). Điều tôi muốn là tạo ra một tập hợp các số ngẫu nhiên từ 1 đến 20. Để làm điều đó, tôi đã tạo một mảng hai cột ảo.

Hãy xem công thức “chia nhỏ 2” ở trên. Cột đầu tiên là các số thứ tự 1 đến 20 được trả về bởi hàm ROW và cột thứ hai là 20 số trên được trả về bởi công thức “chia nhỏ 1”.

Các cột này được sử dụng làm phạm vi trong Query và đã sắp xếp cột 1 dựa trên cột 2 và giới hạn đầu ra cột là 1.

Công thức Query thực hiện công việc này. Bây giờ tôi có một cột chứa các số ngẫu nhiên từ 1 đến 20. Tôi có nghĩa là số 1 đến 20 theo thứ tự ngẫu nhiên.

Phần chia nhỏ 3:

Công thức dưới đây là sự kết hợp của hai công thức “chia nhỏ 1” và “chia nhỏ 2” ở trên.

=ArrayFormula(vlookup(Query({ROW(A1:A20),randbetween(row(A1:A20)^0,9^9)},"Select Col1 order by Col2 Asc"),{row(A1:A20),A1:A20},2,FALSE))

Công thức này sử dụng Vlookup để chọn ngẫu nhiên tên từ cột A, đó là mục tiêu của chúng tôi.

VLOOKUP(TÌM_KIẾM, PHẠM_VỊ, CHỈ_SỐ, [ĐÃ_SẮP_XẾP])

Ở đây, tìm_kiếm là công thức “chia nhỏ 2” trên, tạo ra các số ngẫu nhiên từ 1 đến 20.

Phạm vi nên là danh sách tên của chúng ta trong cột A1:A20. Nhưng chúng ta không thể sử dụng điều đó vì tìm_kiếm của chúng ta là các số ngẫu nhiên từ 1 đến 20.

Ở đây, tôi lại tạo ra một mảng hai cột. Cột đầu tiên là số dòng từ 1 đến 20 và cột thứ hai là các giá trị thực tế (tên) trong cột A1:A20.

Chỉ số cột là 2 trong Vlookup. Vì vậy, hàm Vlookup sẽ sử dụng khóa tìm kiếm (các số ngẫu nhiên từ 1 đến 20) để tìm kiếm cột đầu tiên trong phạm vi (các số từ 1 đến 20 theo thứ tự) và trả về các tên từ cột 2 nếu có kết quả tìm thấy.

Công thức này sẽ trả về tất cả các tên theo thứ tự ngẫu nhiên. Bạn có thể bọc công thức này bằng Array_Constrain để trả về các tên ngẫu nhiên tổng cộng theo số lượng mong muốn của bạn, ở đây là 10. Đó là những gì tôi đã thực hiện trong công thức cuối cùng của tôi.

Đó là tất cả. Khi bạn muốn chọn một số tên hoặc số ngẫu nhiên, hãy sử dụng công thức của tôi. Tôi cũng hy vọng bạn có thể học cách tạo ra công thức chọn ngẫu nhiên N số từ một cột trong Google Sheets.

Đọc thêm:

Related posts