2014-11-24 26 views
0

我用下面的公式來輸出隨機項從列表:隨機項從條件列表

=INDEX(Database!A1:A100,RANDBETWEEN(1,COUNTA(Database!A1:A100)),1) 

有沒有一種方式來增加一定的條件呢?例如,數據庫列出了學生和考試成績。我想選擇一個隨機的學生,只要他或她的考試成績高於80%。學生的姓名是在列A和測試分數在列B

回答

1

可以使用此「數組公式」,假設分數被示爲%S

=INDEX(Database!A1:A100,SMALL(IF(Database!B1:B100>=80%,ROW(Database!A1:A100)-MIN(ROW(Database!A1:A100))+1),RANDBETWEEN(1,COUNTIF(Database!B1:B100,">=80%"))))

確認CTRL + SHIFT + ENTER

IF函數只返回其中%是> = 80%然後的行的相對行數隨機選擇其中一個行號 - INDEX根據您的原始公式返回該行的名稱

+0

這個效果非常出色!謝謝 – 2014-11-24 18:53:32

+0

一個後續問題,@ barryhoudini - 如果我想通過另一個單元格引用標準,我如何修改公式。因此,我不想在公式中硬編碼80%,我想引用存儲在單元格D1中的條件。 – 2014-11-24 19:01:59