我們,讓Excel變簡單
在Excel的好幾百個函數中,有一些比較奇怪的函數。其中,随機數函數可以稱為最奇怪的函數了。它奇怪之處在于看上去沒什麼用(是啊,誰沒事弄個随機數玩),但是其實很多應用場景還離不了。(實際上,所有的編程語言都會内置随機數生成機制)。
(順便說一下,有好幾個人問過究竟Excel有多少個函數,我沒有準确的答案。我曾經做過一個不敢保證完整的統計,在Excel 2013中,有400多個内置函數)
我們先來說一下為什麼我們需要随機數。
先引用一段英文網站上的答案(中文網站上沒找着):
大意是說随機數重要是因為我們的現實世界非常複雜,以緻于看起來是随機的。
這段話說的是真的,但是不一定對你有幫助。不過我們還是可以舉出一些真實的場景,在這些場景中好像隻能使用随機數:
這種場景在實際應用中還有很多,甚至在業務的分析和預測中都會用到随機數。(我們在以後,會專門介紹這方面的例子)。
接下來,我們為大家介紹Excel中的随機數,以及它們的一些變化。
Excel中有兩個随機數函數:RAND和RANDBETWEEN。
RAND函數的語法如下:
=RAND()
這個函數不需要參數。這個函數返回一個0-1之間的小數,類似于:0.687841910389369。
RANDBETWEEN函數的語法如下:
RANDBETWEEN(bottom,top)
其中,bottom和top是兩個整數,bottom要小于top。
這個函數返回bottom和top之間的一個整數:
在G列随機生成了50-100之間的整數
我經常會用到這兩個函數,因為上課時,我舉得例子不能含有真實的數據,我就會用随機數代替。
随機數函數很簡單,但是在實際中的場景我們對随機數的要求很可能跟這兩個函數都不一樣,這時就需要一些變化。
變化1 生成1-100之間的随機數
RAND隻能生成0-1之間的随機數,而RANDBETWEEN隻能生成兩個整數之間的随機整數。要想生成1-100之間的随機數,可以使用下面的公式:
=1 RAND()*100
變化2 生成一半負數一半正數的随機數
RAND生成的都是正數,要想生成的随機數中一半是正數一半是負數,可以使用公式:
=RAND()*(IF(RAND()>0.5,1,-1)
這個公式使用了兩個RAND函數,其中IF中嵌套的RAND函數負責判斷正負号。如果這個随機數>0.5,就是正号,否則就是負号。
變化3 生成一個随機的字符
有時候我們要随機的字母(a,b,c,...),而不是随機的數字,可以使用公式:
=CHAR(RANDBETWEEN(97,122)
這個公式可以随機生成一個小寫字母。如果使用公式:
=CHAR(RANDBETWEEN(65,90)
就可以随機生成大寫字母。
這裡的CHAR函數的作用将一個字符的ASCII碼轉換為相應的字符。從65-90是小寫字母的ASCII碼,而97-122是大寫字母的ASCII碼。
變化4 從一個區域中随機選擇一項
下面的公式:
=INDEX(B2:B13, RANDBETWEEN(1,12))
可以從區域B2:B13中随機選取一項:
變化5 随機生成日期
日期就是數字,所以RANDBETWEEN就可以随機生成日期,隻要給定起止日期:
=RANDBETWEEN(--"2020/1/1",--"2020/9/30")
這個公式就可以随機生成2020/1/1至2020年9月30日之間的日期。
我更習慣使用下面的公式:
=--"2020/1/1" RANDBETWEEN(1,270)
公式中的--"2020/1/1"可以将一個文本表示的日期:"2020/1/1"轉換為真正的日期。
好了,今天的分享就到這裡了!想想看,你的工作中是不是有随機數的用武之地?
END
關注ExcelEasy
關于Excel的一切問題,你都可以在這裡找到答案
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!