公眾號回復(fù)2016 下載office2016 有群友提問: 我想做個(gè)隨機(jī)變量,,一共8個(gè)數(shù)值,,要求這8個(gè)數(shù)不重復(fù)且從小到大排序,這8個(gè)數(shù)的取值范圍在(1-32),,咋做,? 針對這個(gè)問題,做了一個(gè)效果圖,,大家看看,。 8個(gè)數(shù)字隨機(jī)變化,從小到大排序,,并且取值在1-32之間,。 如果要實(shí)現(xiàn)這個(gè)效果,可以使用公式或者VBA,。 VBA的方法咱們就不說了,,如果直接使用公式的話,,需要一個(gè)比較復(fù)雜的數(shù)組公式才行,今天咱們要討論的是利用輔助列實(shí)現(xiàn)這個(gè)效果,,對于大多數(shù)只會(huì)一點(diǎn)函數(shù)的朋友都可以掌握,。 這一步很簡單,輸入公式:=RAND(),,然后下拉填滿32個(gè)單元格即可,。 知道為什么是32個(gè)單元格嗎? 仔細(xì)看看題目可能就明白了,。 在隨機(jī)數(shù)右邊輸入公式:=RANK(A1,$A$1:$A$32) 看到RANK函數(shù)的結(jié)果,,估計(jì)你就明白為啥是32個(gè)隨機(jī)數(shù)了。 說白了,,就是要得到取值范圍在(1-32)的隨機(jī)數(shù),。 有了前面兩個(gè)輔助列,再用公式=SMALL($B$1:$B$8,ROW(A1)),,下拉八個(gè)單元格就能得到需要的結(jié)果,。 三個(gè)簡單的公式就解決了這個(gè)隨機(jī)數(shù)問題,下面再對這其中的原理做簡要說明,。 解讀題目時(shí),,要注意到這么幾個(gè)關(guān)鍵點(diǎn):8個(gè)數(shù)字(這是結(jié)果的個(gè)數(shù)),從小到大排序,,數(shù)字的范圍是1-32,,隨機(jī)且不重復(fù)。 要得到8個(gè)不重復(fù)的隨機(jī)整數(shù),,是可以直接用公式的,,這里提供一個(gè)思路: 如果不禁止使用輔助列的話,,不重復(fù)隨機(jī)數(shù)通常都是使用RAND先得到指定個(gè)數(shù)(本例是32個(gè))的隨機(jī)數(shù),然后再用RANK函數(shù)對32個(gè)隨機(jī)數(shù)做排名(升序降序都沒關(guān)系),,得到的排名就是指定范圍的隨機(jī)且不重復(fù)的整數(shù),。 最后要從這32個(gè)數(shù)字中再找出來8個(gè)從小到大排序,這就是SMALL函數(shù)的功能了,,如果是從大到小的話,,用LARGE函數(shù)就行了。 這兩個(gè)函數(shù)的用法在以前的教程詳細(xì)介紹過,。 菜鳥的函數(shù)修煉之——常用統(tǒng)計(jì)函數(shù)(下篇) 今天的問題很基礎(chǔ),,希望各位初學(xué)者朋友能夠?qū)嵺`一下,掌握解決這類問題的思路,,同時(shí)對于涉及到的相關(guān)函數(shù)也能有更好的理解,。 最后推薦兩篇類似問題的教程: |
|