不要假裝很努力,因為結果不會陪你演戲。——繼續學習的一天
今天在公司群裡看到一個通知:公司接上級通知,需要安排人員在60天内輪流抽做核酸檢測,所有人都必須參與。
于是這個通知便成了作者君的excel解題題材……
言歸正傳,如何通過excel來随機抽取人名,且出現過的人名在後續抽取中不再重複出現,接下來就進入操作步驟。
在上圖中,已知公司員工姓名,後續将通過一系列操作随機抽取不重複的人員去參加核檢。
首先我們在姓名列後方添加一個輔助列,并輸入公式:=RAND()
rand函數是一個随機函數,函數括号内沒有任何數據,但會返回0-1之間的随機數字。
我們雙擊向下填充公式,得到的結果是擁有小數點後好幾位數的數字。
這些數字幾乎不會重複,因為0-1之間的數字範圍太廣泛了。而有了不會重複的數字區域後,便可以通過一個公式來進行随機抽取。
在姓名列下方,輸入公式:=INDEX($A$2:$A$69,RANK($B2,$B$2:$B$69))
這個公式有兩個函數,一個是index函數,一個是rank函數。
index函數是引用函數,表達式為:=index(引用區域,第幾行,第幾列),根據設置的指定行和列數,來返回在引用區域中對應位置的單元格内容。如果省略第二或第三個參數則表示不引用行或列。
rank函數的作用是進行排名,表達式為:=rank(值,區域,升序或降序),第三個參數升序或降序是通過0或1的設置來完成,如果省略,則默認降序。 它的結果是一個大于1的整數。
知道rank函數的作用,我們再回到之前的rand函數,通過rand函數随機出來的數值,再對它們進行排名,便得到從小到大的排名,因為rand函數的值都是不重複的,因此排名也不會重複。
随後我們再使用index函數來返回引用區域中的人名。在這個公式中,=INDEX($A$2:$A$69,RANK($B2,$B$2:$B$69)), index函數省略了第三個參數,即隻查詢返回指定行的位置。
根據rank函數得到的不重複的結果值,如結果是13,便會查詢$A$2:$A$69單元格區域中第13行的單元格,并引用該單元格數據。
我們向下填充公式,可以看到結果中沒有出現任何重複的人名。
但大家也可以看出,這張截圖中的姓名結果與上面圖片中的并不一緻,雖然人名也不重複。
這是因為rand函數會在更新數據時刷新,為了使數據或結果固定下來,我們需要在編碼列填充完rand公式後,複制該列數據後直接進行粘貼,并點擊右下方的ctrl圖标,選擇下圖箭頭所指的選項,即“粘貼為值”選項,使公式轉換為數值。
以上就是excel随機抽取不重複人名的操作方法,思路是很清晰的,首先給人名設置一個不重複且可比較大小的數字,然後通過對數字大小的排名來一一對應不同位置的人名,最後通過引用函數将人名引用過來。
今天的内容便講到這裡,沒有關注的可以點點關注,我們下期再見!
回顧往期:
Excel表格怎麼快速批量修改文件名稱(精華)
Excel表格怎麼解決工作簿和工作表不顯示
Excel表格實用功能查找和選擇的基礎介紹
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!