Excel中的RANK()函數非常實用,該函數能夠快速對指定區域內的數值進行排名,當然要強調的是它只是排名,不是排序,它僅顯示該數值在指定範圍內的大小排在第幾名,而不會改動原範圍內數值的所在位置。
如下圖,假如我們用隨機數函數RAND()在A1到A430單元格內生成一堆0到1之間的隨機數小數,總共生成了430個。
現在隨便挑出一個,如何知道它在430個數中大小排第幾呢,這時RANK()函數就派上用場了,直接在B1單元格內輸入:「=RANK(A1,A:A)」立刻就能得到答案,這個公式的意思是求A1在整個A列中排名,我們也可以指定範圍,將A:A的範圍改一下就可以。
因為RANK()函數的返回值是排名,所以返回的值肯定是一個正整數,在與隨機函數RAND()結合,返回的就是一個隨機的正整數,上面的例子所返回的值可定是一個1到430的隨機正整數。利用這個特性,我們就可以製作一個簡易的32選7的彩票隨機生成器。
首先使用RAND()函數生成32個以上的隨機數。
接著選取任意連續(也可以不連續)的7個數值進行排名,在B2單元格輸入:「=RANK(A2,$A$2:$A$33)」,得到的肯定是1到32以內的7個隨機數了,而且所生成7位隨機數會隨著單元格的操作而隨時變換,你只需要雙擊任意單元格再點一下空白處,就會生成新的隨機數,是不是很有意思呢!