tft每日頭條

 > 生活

 > excel随機函數模拟

excel随機函數模拟

生活 更新时间:2024-07-17 15:28:12

我們,讓Excel變簡單

excel随機函數模拟(Excel中那些奇怪的函數之很有用的随機函數)1

在Excel的好幾百個函數中,有一些比較奇怪的函數。其中,随機數函數可以稱為最奇怪的函數了。它奇怪之處在于看上去沒什麼用(是啊,誰沒事弄個随機數玩),但是其實很多應用場景還離不了。(實際上,所有的編程語言都會内置随機數生成機制)。

(順便說一下,有好幾個人問過究竟Excel有多少個函數,我沒有準确的答案。我曾經做過一個不敢保證完整的統計,在Excel 2013中,有400多個内置函數)

我們先來說一下為什麼我們需要随機數。

先引用一段英文網站上的答案(中文網站上沒找着):

excel随機函數模拟(Excel中那些奇怪的函數之很有用的随機函數)2

大意是說随機數重要是因為我們的現實世界非常複雜,以緻于看起來是随機的。

這段話說的是真的,但是不一定對你有幫助。不過我們還是可以舉出一些真實的場景,在這些場景中好像隻能使用随機數:

  • A公司有許多門店,作為市場人員,要想檢查門店的某些指标并分析,以制定後續政策,需要檢查一部分門店(檢查全部門店既無可能,又無必要),此時就需要随機來選擇這一部分門店
  • 我們有多個設備,但是執行某個操作隻用一個設備即可。但是如果總是使用一個設備,就會造成這個設備的過度使用,加快設備的損耗。此時,最好随機選擇設備的使用。
  • 需要生成ID(例如SKU)。公司的物料ID有固定的格式,但是除了物料本身的屬性及日期外,還必須有其他可以互相區分的信息,很多公司避免使用序号等有明顯意義的信息,此時就需要使用随機數)
  • 排名的需要。我們在講排名的文章中介紹過一種“公平排名”的方法,必須要用随機數

這種場景在實際應用中還有很多,甚至在業務的分析和預測中都會用到随機數。(我們在以後,會專門介紹這方面的例子)。

接下來,我們為大家介紹Excel中的随機數,以及它們的一些變化。

excel随機函數模拟(Excel中那些奇怪的函數之很有用的随機函數)3

随機數函數

Excel中有兩個随機數函數:RAND和RANDBETWEEN。

RAND函數的語法如下:

=RAND()

這個函數不需要參數。這個函數返回一個0-1之間的小數,類似于:0.687841910389369。

RANDBETWEEN函數的語法如下:

RANDBETWEEN(bottom,top)

其中,bottom和top是兩個整數,bottom要小于top。

這個函數返回bottom和top之間的一個整數:

excel随機函數模拟(Excel中那些奇怪的函數之很有用的随機函數)4

在G列随機生成了50-100之間的整數

我經常會用到這兩個函數,因為上課時,我舉得例子不能含有真實的數據,我就會用随機數代替。

excel随機函數模拟(Excel中那些奇怪的函數之很有用的随機函數)5

随機數函數在使用中的一些變化

随機數函數很簡單,但是在實際中的場景我們對随機數的要求很可能跟這兩個函數都不一樣,這時就需要一些變化。

變化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中随機選取一項:

excel随機函數模拟(Excel中那些奇怪的函數之很有用的随機函數)6

變化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"轉換為真正的日期。

excel随機函數模拟(Excel中那些奇怪的函數之很有用的随機函數)7

好了,今天的分享就到這裡了!想想看,你的工作中是不是有随機數的用武之地?

excel随機函數模拟(Excel中那些奇怪的函數之很有用的随機函數)8

END

excel随機函數模拟(Excel中那些奇怪的函數之很有用的随機函數)9

關注ExcelEasy

關于Excel的一切問題,你都可以在這裡找到答案

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved