如何生成指定年份的隨機(jī)日期? RAND和RANDBETWEEN很專業(yè)!
?
作者:老菜鳥來源:部落窩教育發(fā)布時間:2022-02-24 18:52:23點擊:3090
編按:
在Excel里有兩個專門生成隨機(jī)數(shù)的函數(shù):RAND和RANDBETWEEN。今天通過幾個示例來和大家分享一下隨機(jī)數(shù)的妙用。
示例1:生成指定年份的隨機(jī)日期
在Excel中,日期的本質(zhì)是數(shù)值,因此可以使用隨機(jī)數(shù)來生成隨機(jī)日期。
有三個公式都可以實現(xiàn)這個功能。
公式1:=RANDBETWEEN(DATE($A$2,1,1),DATE($A$2,12,31))
公式1中設(shè)置2019年1月1日作為隨機(jī)整數(shù)的下限,設(shè)置2019年12月31日作為隨機(jī)
整數(shù)的上限,然后利用RANDBETWEEN函數(shù)產(chǎn)生隨機(jī)整數(shù),即可得到2013年的隨機(jī)日期。
公式2:=DATE($A$2,1,RANDBETWEEN(1,365))
公式2將隨機(jī)數(shù)作為date函數(shù)的第三參數(shù),也可以生成指定年份的隨機(jī)日期。需要注意平年和閏年的差別,平年為365天,閏年為366天。
公式3:=RANDBETWEEN(A$2&-1,(A$2+1&-1)-1)
公式3利用文本合并符&將A2單元格的年份與-1合并,得到字符串“2013-1”,意思是2013年1月1日。同理A2+1&-1得到字符串“2014-1”,再將字符串-1,得到2013年12月31日。按照運算符的運算順序,+、-號優(yōu)先于&號,所以(A2+1&-1)需要加括號。這個公式對于Excel公式的計算順序和日期原理要比較熟悉,不然就不太好理解。
示例2:生成一組不重復(fù)的隨機(jī)整數(shù)
有兩種方法可以實現(xiàn)這種功能,方法1使用輔助列,方法2使用數(shù)組公式。
方法1:使用RAND函數(shù)作輔助列,用RANK函數(shù)排序生成不重復(fù)的隨機(jī)整數(shù)。
B列使用公式=RAND()得到一組隨機(jī)數(shù),C列使用公式=RANK(B2,$B$2:$B$13)得到每個隨機(jī)數(shù)的排名,這樣就間接得到了一組不重復(fù)的隨機(jī)整數(shù)。
方法2:使用數(shù)組公式=SMALL(IF(COUNTIF($E$1:E1,ROW($1:$10))=0,ROW($1:$10)),INT(RAND()*(11-ROW(1:1))+1))生成10個不重復(fù)的隨機(jī)整數(shù)。
如果要生成的隨機(jī)整數(shù)不是10個,就需要修改箭頭所指的三個地方。
這個公式的原理比較復(fù)雜,就不贅述了。
示例3:生成一組隨機(jī)的英文字母
思路是使用隨機(jī)函數(shù)產(chǎn)生字母的數(shù)字代碼,然后使用CHAR函數(shù)將其全部轉(zhuǎn)換為英文字母。
首先必須知道大寫英文字母的數(shù)字代碼為65~90,小寫英文字母的數(shù)字代碼為97~122,使用RANDBETWEEN函數(shù)產(chǎn)生65~90的隨機(jī)整數(shù)。
然后使用INT(RAND()*2)*32隨機(jī)返回0或32,目的是實現(xiàn)大小寫字母均有50%的出現(xiàn)概率。
最后使用CHAR函數(shù)將數(shù)字代碼轉(zhuǎn)換為英文字母。
最終的公式是:=CHAR(INT(RAND()*2)*32+RANDBETWEEN(65,90))
示例4:利用隨機(jī)數(shù)制作加減乘除練習(xí)題
需要5個步驟:
步驟 1:制作題目的編號,使用 TEXT 函數(shù)將編號設(shè)置為帶括號的數(shù)字。
公式為=TEXT(ROW(A1),"(0)")
步驟 2:制作隨機(jī)的加、減、乘、除符號。
公式為=MID("+-×÷",RANDBETWEEN(1,4),1)
步驟 3 :首先判斷 C 列是否為乘或除符號,如果是,則產(chǎn)生 1~10 的隨機(jī)整數(shù),否則產(chǎn)生 0~99 的隨機(jī)整數(shù)。
公式為:=IF(OR(C3={"×";"÷"}),INT(SQRT(RAND()*99))+1,RANDBETWEEN(0,99))
步驟 4 :使用 FIND 函數(shù)查詢加、減、乘、除符號的位置,通過 CHOOSE 函數(shù)選擇對應(yīng)的隨機(jī)數(shù)范圍。
公式為:
=CHOOSE(FIND(C3,"+-×÷"),RANDBETWEEN(0,99-D3),RANDBETWEEN(D3,99),RANDBETWEEN(0,INT(99/D3)),RANDBETWEEN(0,INT(99/D3))*D3)
步驟5:最后一列輸入=即可,完成后效果見下圖。
特別說明:這個例子只是為了學(xué)習(xí)公式函數(shù)之用,并不一定符合實際使用的要求。
本文配套的練習(xí)課件請加入QQ群:902294808下載。
做Excel高手,快速提升工作效率,部落窩教育《一周Excel直通車》視頻和《Excel極速貫通班》直播課全心為你!
掃下方二維碼關(guān)注公眾號,可隨時隨地學(xué)習(xí)Excel:
相關(guān)推薦:
將excel中的數(shù)據(jù)按照指定數(shù)量進(jìn)行重復(fù),非得用VBA才能實現(xiàn)嗎?
Power Query的數(shù)據(jù)替換技巧比Excel函數(shù)更萬能!
版權(quán)申明:
本文作者老菜鳥;同時部落窩教育享有專有使用權(quán)。若需轉(zhuǎn)載請聯(lián)系部落窩教育。
最熱教程
- 像綠皮火車一樣長像珠穆拉瑪峰一樣高的Excel表怎么操作才方便?
- Power Query實戰(zhàn):按指定次數(shù)遞增數(shù)據(jù)
- 2019年全網(wǎng)最全—excel提取身份證信息合集?。ńㄗh收藏)-下篇
- 明明沒有重復(fù),Excel卻判定數(shù)據(jù)重復(fù),這是怎么回事?
- 文本格式的求和,及求和中最容易出現(xiàn)的問題解疑
- 致命缺陷:不懂一維表!
- 函數(shù)組合思維,你有嗎?
- 學(xué)會這2個公式,整理考勤數(shù)據(jù)只要一分鐘
- 就算被說是拍馬屁也成,今天你應(yīng)該這樣發(fā)Excel報表……
- 如何計算Excel單元格中的算式,四種求和方法請收好!