2013-04-25 42 views
9

Trong MS Excel, làm cách nào tôi có thể tính ngẫu nhiên số thứ tự từ một trong số 5 tùy chọn?Số ngẫu nhiên trong Excel từ một tập hợp các tùy chọn

Ví dụ, trong ô B1 Tôi muốn có một số ngẫu nhiên đó là một trong hai 15,30,50,75, hoặc 100.

Tôi muốn một đầu ra hoàn toàn ngẫu nhiên trong số này 5 số trong các tế bào B1 : B100.

Tôi đã nghĩ rằng tôi có thể tạo một số ngẫu nhiên trong ô A1 bằng rand, sau đó sử dụng một loạt câu lệnh IF hoặc < IF để chỉ xuất một trong các số ở trên.

+1

có thể trùng lặp của [Excel RANDBETWEEN dưới dạng chuỗi] (http://stackoverflow.com/questions/16077013/excel-randbetween-as-a-string) –

Trả lời

17

Công thức này sẽ làm điều đó:

=CHOOSE(RANDBETWEEN(1,5),15,30,50,75,100) 

Nếu bạn muốn sử dụng một loạt các tế bào:

=INDEX($B$2:$B$6,RANDBETWEEN(1,5)) 
+1

CHỌN là giải pháp hoàn hảo cho tôi trong trường hợp này. 1 để thay thế khi tôi có thể có một phạm vi ô. Cảm ơn – Ryan

0

Hãy nói rằng bạn đã điền dòng 1-5 trong dòng G của một bảng tính với các giá trị bạn muốn hiển thị ngẫu nhiên. Bạn có thể sử dụng =INDIRECT("G"&RANDBETWEEN(1,5)) để hiển thị bất kỳ một trong số đó một cách ngẫu nhiên.

`INDIRECT` cho phép bạn tham chiếu ô bằng chuỗi.
Vì bạn muốn ô "G1" - "G5", chúng tôi bắt đầu bằng "G".
và kết hợp "G" với giá trị của hàm tiếp theo.
Sau đó, hàm RANDBETWEEN sẽ cho chúng ta một số giữa hai tham số mà chúng tôi cung cấp (trong trường hợp này là 1 đến 5).

Hãy cho tôi biết nếu điều này giúp :)

+0

Đây là cách đơn giản hơn các câu trả lời khác, mặc dù tôi không nghĩ rằng nó đáng tin cậy trong "sản xuất" hoặc bất kỳ bảng tính có quy mô lớn nào. –

3

Một cách nhanh chóng và dễ dàng sẽ được đầu tiên tạo ra một danh sách tra cứu như thế này:

enter image description here

Sau đó, trong cột của bạn làm một công thức như thế này :

=VLOOKUP(ROUND(RAND()*10,0),$A$7:$B$16,1,FALSE) 

trong đó $A$7:$B$16 là nơi có danh sách của bạn. Nó có thể nằm trên một tab khác, hoặc tập tin riêng biệt, nếu bạn thực sự cần phải cô lập nó.

Bạn cũng có thể tạo một hàm VBA tùy chỉnh, nhưng tôi nghĩ rằng đó là vượt ra ngoài những gì bạn đang tìm kiếm.

+1

hehe .. ba giải pháp được đăng tất cả cùng một lúc. Tôi thích Doug hơn tôi. Upvoted nó! –

+0

+1 cho hình ảnh. – asifrc

-1

Làm thế nào về:

=SMALL({array containing numbers},RANDBETWEEN(1,COUNT({array containing numbers}))) 

ví dụ nếu bạn có một mảng chứa 5 số mà bạn muốn sử dụng trong $B$2:$B$6

=SMALL($B$2:$B$6,RANDBETWEEN(1,COUNT($B$2:$B$6))) 

này trả về một vị trí ngẫu nhiên trong danh sách các số, với tổng tần số được xác định kích thước của mảng.

Các vấn đề liên quan