excle表內(nèi)的隨機函數(shù)應(yīng)用.docx_第1頁
excle表內(nèi)的隨機函數(shù)應(yīng)用.docx_第2頁
excle表內(nèi)的隨機函數(shù)應(yīng)用.docx_第3頁
excle表內(nèi)的隨機函數(shù)應(yīng)用.docx_第4頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

一:生成隨機數(shù)字 生成隨機數(shù)比較簡單,=rand()即可生成0-1之間(不包含1)的隨機小數(shù); 如果想要得到整數(shù),就用=int(rand()*10,表示0至9的整數(shù),以此類推; 如果要生成a與b之間的隨機實數(shù),就用=rand()*(b-a)+a,如果是要整數(shù)就用=int(rand()*(b-a)+a;稍微擴充一下,就能產(chǎn)生固定位數(shù)的整數(shù)了。 注意:如果要使用函數(shù)rand()生成一隨機數(shù),并且使之不隨單元格計算而改變,可以在編輯欄中輸入“=rand()”,保持編輯狀態(tài),然后按F9,將公式永久性地改為隨機數(shù)。不過,這樣只能一個一個的永久性更改,如果數(shù)字比較多,也可以全部選擇之后,另外選擇一個合適的位置粘貼,粘貼的方法是點擊“右鍵”執(zhí)行“選擇性粘貼”,然后選擇“數(shù)值”,即可將之前復(fù)制的隨機數(shù)公式產(chǎn)生的數(shù)值(而不是公式)復(fù)制下來! 二:產(chǎn)生隨機字母 隨機小寫字母:=CHAR(INT(RAND()*26)+97) 隨機大寫字母:=CHAR(INT(RAND()*26)+65) 隨機大小寫混合字母:=CHAR(INT(RAND()*26)+if(INT(RAND()*2)=0,65,97) 三:產(chǎn)生隨機的六位數(shù)的字母和數(shù)字混合 =CONCATENATE(IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65),CHAR(INT(RAND()*25+97),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65),CHAR(INT(RAND()*25+97),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65),CHAR(INT(RAND()*25+97),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65),CHAR(INT(RAND()*25+97),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65),CHAR(INT(RAND()*25+97),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*9+48),IF(INT(RAND()*2)=0,CHAR(INT(RAND()*25+65),CHAR(INT(RAND()*25+97) 四:隨機不重復(fù)數(shù)字序列的生成方法 在某些特定的工作需求下,我們需要生成一個不重復(fù)的隨機序列。 比如:我們要模擬洗牌,將一副撲克牌去掉大小怪后剩下的52張打亂。 比較笨的方法是在1-52間每生成一個隨機數(shù)后,檢查該隨機數(shù)是否出現(xiàn)過,如果是第一次出現(xiàn),就放到序列里,否則重新生成一個隨機數(shù)作檢查。在excel worksheet里面用這種辦法,會造成if多層嵌套,不勝其煩,在VBA里面做簡單一些,但是效率太差,越到序列的后端,效率越差。 當(dāng)然也有比較好的辦法,在VBA里面,將a(1)-a(52)分別賦予1-52,然后做52次循環(huán),例如,第s次生成一個1-52間的隨機數(shù)r,將a(s)與a(r)互換,這樣的話,就打亂了原有序列,得到一個不重復(fù)的隨機序列。 VBA里這個算法是很容易實現(xiàn)的,但是,處于通用性和安全考慮,有的時候我們并不希望用VBA,我們來看看在worksheet里面如何利用內(nèi)置函數(shù)實現(xiàn)這個功能。 在A1-A52間填入=INT(RAND()*52)+1,產(chǎn)生1-52間的隨機數(shù),注意這里是有重復(fù)的 在B1-B52間填入1-52 在C54-BB54填入1-52 在C1填入=IF(ROW()=C$54,INDEX(B$1:B$52,INDEX($A$1:$A$52,C$54),IF(ROW()=INDEX($A$1:$A$52,C$54),INDEX(B$1:B$52,C$54),B1)。 分項解釋: 1:ROW()=C$54,如果當(dāng)前行等于當(dāng)前交換所排的序號 2:INDEX(B$1:B$52,INDEX($A$1:$A$52,C$54),返回在B1到B52中選擇A1:A52中的第C54個值 3:IF(ROW()=INDEX($A$1:$A$52,C$54),否則的話,如果當(dāng)前行等于A1:A52中第C54個值,則: 4:INDEX(B$1:B$52,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論