Hi,我是偏愛函數(shù)公式,愛用 Excel 圖表管理倉庫的大叔 Mr 趙~
前段時間,有個小伙伴提過一個有關(guān)隨機(jī)取值的問題:怎么生成一個從-2.5 到 + 2.5 范圍內(nèi)的隨機(jī)值?
下面就通過幾個案例,來講一講在 Excel 中經(jīng)常用到的 3 個隨機(jī)函數(shù) ↓
1、RAND 函數(shù)
其實上面這個問題只需要一個 RAND 函數(shù)就可以搞定!
選中任一單元格,在編輯欄輸入公式:
=RAND()*5-2.5
沒騙你,很簡單吧!
RAND 函數(shù)是一個沒有參數(shù)的函數(shù):RAND () 返回一個大于等于 0,小于 1 的隨機(jī)實數(shù)。
如果要生成 a 與 b 之間的隨機(jī)數(shù),就用:
=RAND()*(b-a)+a
比如要生成-5 到 8 范圍的隨機(jī)數(shù),就把 a=-5,b=8 代入公式中,寫成:
=RAND()*13-5
學(xué)會了這個公式套路,以后遇到再多同類型的問題,都可以輕松解決。
2、RANDBETWEEN 函數(shù)
再來說說 RANDBETWEEN 函數(shù)。比如要構(gòu)造一列年齡在 18 到 60 周歲范圍內(nèi)的隨機(jī)值,效果如下圖 B 列所示:
這時,我們就可以用 RANDBETWEEN 函數(shù)。
在 B3 單元格輸入公式,然后下拉復(fù)制填充公式:
=RANDBETWEEN(18,60)
RANDBETWEEN 函數(shù)用于生成一個介于兩個指定數(shù)字之間的隨機(jī)整數(shù)。語法為:
=RANDBETWEEN (最小整數(shù),最大整數(shù))
RANDBETWEEN (18,60) 生成了一個介于 18 和 60 之間的隨機(jī)整數(shù)。
當(dāng)然 RANDBETWEEN 函數(shù)也可以與其它函數(shù)嵌套使用,隨機(jī)生成文本。
比如隨機(jī)生成一列表示性別的文本值,如下圖,在 C3 單元格輸入公式并向下拖動填充:
=CHOOSE(RANDBETWEEN(1,2),"男","女")
簡單解釋一下公式:
首先 RANDBETWEEN (1,2) 返回一個介于 1 與 2 的隨機(jī)整數(shù);
然后用 CHOOSE 函數(shù)根據(jù)這這個值選擇對應(yīng)的文本內(nèi)容:
如果整數(shù)是 1,返回 "男",如果是 2 返回 "女"。
由此可見,RANDBETWEEN 函數(shù)對于快速生成測試數(shù)據(jù)非常有用!
3、RANDARRAY 函數(shù)
最后用一個實例,講講 RANDARRAY 函數(shù)。如下圖,怎么將 B 列的名單順序隨機(jī)打亂,效果如 D 列:
這里我們就會用到 RANDARRAY 函數(shù),在 D3 單元格輸入公式:
=SORTBY(B3:B13,RANDARRAY(COUNTA(B3:B13))
公式解析:
首先用 COUNTA 函數(shù)計算單元格區(qū)域 B3:B13 的文本個數(shù),也就是這列名單的人數(shù)。
然后用 RANDARRAY 函數(shù)根據(jù)人數(shù)生成一列不重復(fù)隨機(jī)值。
最后用 SORTBY 函數(shù),以這列隨機(jī)值作為排序依據(jù),對名單區(qū)域 B3:B13 進(jìn)行排序。
由此可見,RANDARRAY 函數(shù)的最大突破是可以生成一組不重復(fù)的隨機(jī)值。
好了,今天就說到這里結(jié)束啦~
4、寫在最后
在 Excel 中,有三個隨機(jī)函數(shù):
RAND 函數(shù):返回一個大于等于 0 且小于 1 的隨機(jī)值;
RANDBETWEEN 函數(shù):該函數(shù)返回一個在指定范圍內(nèi)的隨機(jī)整數(shù);
RANDARRAY 函數(shù):可以生成一組隨機(jī)值。
本文來自微信公眾號:秋葉 Excel (ID:excel100),作者:趙驕陽
廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。