在EXCEL中隨機函數的利用

2020-12-22 VBA語言專家

大家好,最近推出的內容是「VBA信息獲取與處理」中的部分內容,這套教程面向中高級人員,涉及範圍更廣,實用性更強,現在的內容是第二個專題「隨機數(Random)在EXCEL工作表及VBA中的應用」的內容。

對於數據處理而言,隨機信息的處理是非常重要的一部分,什麼是隨機數呢?隨機數是專門的隨機試驗的結果。在統計學的不同技術中需要使用隨機數,比如在從統計總體中抽取有代表性的樣本的時候,或者在將實驗動物分配到不同的試驗組的過程中等等。

產生隨機數有多種不同的方法。這些方法被稱為隨機數發生器。隨機數最重要的特性是:它所產生的後面的那個數與前面的那個數毫無關係。真正的隨機數是使用物理現象產生的:比如擲錢幣、骰子、轉輪、使用電子元件的噪音、核裂變等等,這樣的隨機數發生器叫做物理性隨機數發生器,它們的缺點是技術要求比較高。

計算機或計算器產生的隨機數有很長的周期性。其實它們不是真正地隨機產生,因為它們實際上是可以計算出來的,但是它們具有類似於隨機數的統計特徵。這樣的發生器叫做偽隨機數發生器。在實際應用中往往使用偽隨機數就足夠了。

第一節 在EXCEL中隨機函數的利用

隨機函數就是產生隨機數的函數,是EXCEL中很重要的函數,應該說Excel和VBA對隨機數的支持都是有限的。在Excel中,可以使用RAND工作表函數返回一個隨機數D,其中0<=D<1。在分析工具包外接程序中,有一個名為RANDBETWEEN的函數,它將返回兩個指定數字之間的隨機整數。VBA有自己的隨機函數Rnd,它返回一個隨機數D,其中0<=D<1。在RAND函數和Rnd函數的基礎上,我們可以設計出一些有用的公式和函數。

1 RAND函數,返回值含小數部分

返回到數字之間的十進位數(包括小數點後的小數部分),可以使用以下公式:=RAND()*(High-Low)+Low。

其中Low是所需範圍內的最小值,High是所需範圍內的最大值。公式將返回一個介於Low和High之間的值。

2 RAND函數,返回整數值

返回到數字之間的十進位數整數(不帶小數部分的整數),可以使用:=TRUNC(RAND()*(High-Low)+Low)

上述公式中利用了一個TRUNC()函數,這個函數直接去除數字的小數部分。

3 RAND 函數在數組中的應用

RAND函數是一個可以支持數組的函數,因此RAND單獨或上面的任何一個公式都可以用於數組公式。需要注意的是,RAND是一個易失函數(volatile function),這意味著它將在任何計算時重新計算。這意味著函數的值將隨每次計算而改變。如果希望僅在某些情況下更改隨機數,可以使用帶有循環引用的公式來創建僅在某些情況下重新計算的隨機數。也可以利用「迭代」運算來完成重新計算隨機數的結果。

我們看一下本節內容的截圖:

本節知識點回向什麼是隨機數?什麼是隨機函數?在EXCEL工作表中有哪些隨機函數可以利用?如何返回兩個數間的隨機數?如何返回兩個數間的隨機整數?

再看看上面的截圖E列的數為什麼不是D列數的取整值?

本節內容詳細代碼「參考002工作表.XLSM」

VBA是利用Office實現自己小型辦公自動化的有效手段,這是我對VBA的應用界定。在取代OFFICE新的辦公軟體沒有到來之前,誰能在數據處理方面做到極致,誰就是王者。其中登峰至極的技能非VBA莫屬!學習VBA是個過程,也需要經歷一種枯燥的感覺,如太白詩云:眾鳥高飛盡,孤雲獨去閒。相看兩不厭,只有敬亭山。

「水善利萬物而不爭」,綿綿密密,微則無聲,巨則洶湧。學習亦如此,知道什麼是自己所需要的,不要蜷縮在一小塊自認為天堂的世界裡,待到暮年時再去做自欺欺人的言論。要努力提高自己,用一顆充滿生機的心靈,把握現在,這才是進取。越是有意義的事情,困難會越多。願力決定始終,智慧決定成敗。不管遇到什麼,都是風景。看淡紛爭,看輕得失。茶,滿也好,少也好,不要計較;濃也好,淡也好,其中自有值得品的味道。去感悟真實的時間,靜下心,多學習,積累福報。而不是天天混日子,也不是天天熬日子。在後疫情更加嚴峻的存量殘殺世界中,為自己的生存進行知識的儲備,特別是新知識的儲備。學習時微而無聲,利用時則巨則洶湧。

我記得20年前自己初學VBA時,那時的資料甚少,只能看源碼自己琢磨,真的很難。20年過去了,為了不讓學習VBA的朋友重複我之前的經歷,我根據自己多年VBA實際利用經驗,推出了六部VBA專門教程。

第一VBA代碼解決方案是VBA中各個知識點的講解,覆蓋絕大多數的VBA知識點,初學必備;

第二VBA資料庫解決方案資料庫是數據處理的專業利器,教程中詳細介紹了利用ADO連接ACCDB和EXCEL的方法和實例操作,適合中級人員的學習。

第三VBA數組與字典解決方案數組和字典是VBA的精華,字典是VBA代碼水平提高的有效手段,值得深入的學習,是初級及中級人員代碼精進的手段。

第四VBA代碼解決方案之視頻是專門面向初學者的視頻講解,可以快速入門,更快的掌握這門技能。

第五VBA中類的解讀和利用是一部高級教程,講解類的虛無與肉身的度化,類的利用雖然較少,但仔細的學習可以促進自己VBA理論的提高。

第六套教程:《VBA信息獲取與處理》是一部高級教程,涉及範圍更廣,實用性更強,面向中高級人員。教程共二十個專題,包括:跨應用程式信息獲得、隨機信息的利用、電子郵件的發送、VBA網際網路數據抓取、VBA延時操作,剪切板應用、Split函數擴展、工作表信息與其他應用交互,FSO對象的利用、工作表及文件夾信息的獲取、圖形信息的獲取以及定製工作表信息函數等等內容。如需要可以可以WeChat: NZ9668

學習的過程也是修心的過程,修一個平靜的心。在代碼的世界中,心平靜了,心情好了,身體自然而然就好。心靜則正,內心裡沒有那麼多邪知邪見,也就沒有那麼多妄想。利人就是利己。這些教程也是為幫助大家起航,助上我自己之力,我的上述教程是我多的經驗的傳遞,大家可以根據以上資料1,3,2,6,5或者是4,3,2,6,5的順序逐漸深入的逐漸學習。

每一分收穫都是成長的記錄,怎無憑,正是這種執著,成就了朝霞的燦爛。最後將一闕詞送給致力於VBA學習的朋友,讓大家感受一下學習過程的枯燥與執著:

浮雲掠過,暗語無聲,

唯有清風,驚了夢中啼鶯。

望星,疏移北鬥,

奈將往事雁同行。

阡陌人,昏燈明暗,

忍顧長亭。

多少VBA人,

暗夜中,悄聲尋夢,盼卻天明。

怎無憑!

分享成果,隨喜正能量

相關焦點

  • excel技能提升,利用函數設置倒計時天數
    我們在日常工作中,我們經常使用excel處理數據,我們都清楚,excel裡的函數功能特別強大,這次我們要分享兩個日期函數,date函數和today函數,我們可以利用這兩個函數,快速計算出倒計時天數,下面我們就一起學習一下。
  • excel函數公式大全之利用REPT函數SUM函數製作星級服務評價表
    excel函數公式大全之利用REPT函數SUM函數製作星級服務評價表,利用紅色五角星表示員工服務水平。excel函數與公式在工作中使用非常的頻繁,會不會使用公式直接決定了我們的工作效率,今天我們來學習一下提高我們工作效率的函數REPT函數SUM函數。
  • EXCEL函數公式大全之利用COUNTIF函數IF檢查工作表中數據是否重複
    EXCEL函數公式大全之利用COUNTIF函數和IF的組合檢查工作表中數據是否重複錄入。excel函數與公式在工作中使用非常的頻繁,會不會使用公式直接決定了我們的工作效率,今天我們來學習一下提高我們工作效率的函數COUNTIF函數和IF的組合。
  • Excel中隨機函數的應用!
    我們工作中在講解案例或者分析數據,經常要錄入一些模擬數字,特別是一些Excel培訓師,若一個個的錄入,效率肯定會低,其實Excel給我們提供了很多函數可以幫助我們。的平均分布的隨機實數。每次計算工作表時都會返回一個新的隨機實數。語法RAND 函數語法沒有參數。
  • 隨機生成整數,randbetween函數的具體使用技巧
    我們在實際工作中,我們使用excel處理數據的頻率比較高,我們需要掌握一些excel表格的使用技巧,上次我們一起學習了隨機函數rand的使用技巧,不過有些人覺得rand函數有點複雜,因為我們大部分情況下,希望隨機生成的都是整數,所以這次我們分享另外一個比較實用的excel函數,這個函數就是
  • EXCEL函數公式大全之利用MONTH函數和分類匯總匯總每個月的銷售額
    EXCEL函數公式大全之利用MONTH函數和分類匯總匯總每個月的銷售額。excel函數與公式在工作中使用非常的頻繁,會不會使用公式直接決定了我們的工作效率,今天我們來學習一下提高我們工作效率的函數MONTH函數與分類匯總的組合。
  • EXCEL函數公式大全之利用SUBSTITUTE函數REPLACE函數刪除特定文本
    EXCEL函數公式大全之利用SUBSTITUTE函數和REPLACE函數的組合刪除特定字符串中的字符。EXCEL函數與公式在工作中使用非常的頻繁,會不會使用公式直接決定了我們的工作效率,今天我們來學習一下提高我們工作效率的函數SUBSTITUTE函數和REPLACE函數。
  • 隨機生成數據的幾個小技巧,rand函數的應用
    我們在日常工作中,有時候使用excel表格隨機生成數據,下面我們就分享一下隨機函數rand的使用技巧。rand函數可以生成0-1之間的隨機函數(包含小數位數)。我們大部分人都只使用rand函數的基礎應用,就是在excel單元格內輸入=rand(),然後按enter鍵,即可生成隨機數,按F9鍵可以自動刷新。如果我們覺得0-1之間這個數值不能夠滿足我們的需求,我們也讓他放大使用公式=rand()*100,加上*100也就擴大100倍的隨機數。假如我們需要要給這個隨機函數生成的隨機數指定一個範圍,那我們可以使用=rand()*(B-A)+A。
  • 詳細講解Excel中的RAND隨機函數和ROUND四捨五入函數
    中的RAND隨機函數和ROUND四捨五入函數大家好,今天為大家分享的是Excel中的數學函數,數學是一個偉大的基礎學科,是很多學科發展前進的根基。在Excel中就有幾個常用的數學函數為我們解決了一些常用,但又不能忽視的問題。例如用隨機函數彌補數據不足,用四捨五入函數解決數值的精準程度。下面就逐一講解這幾個函數給大家。1、RAND隨機函數功能:產生一個大於0,小於1的均勻分布的隨機數。
  • excel函數應用:如何快速製作考生座次分配表
    既然要考試,自然就會涉及到考生座位安排的問題,今天我們就一起來學習一下,如何在excel中快速地製作考生的座位分配表!春節剛過,某部門馬上組織員工進行崗位技能考試,本次考試有561人報名參考,部門安排了兩個考場共18個考室,每個考室安排32座,需要對所有報名的考生隨機安排座位。
  • excel函數應用:做一張函數控制的動態圖
    今天, excel也迎來了今年的第一場大雪,趕緊出來和小玲老師一起賞雪吧!瑞雪兆豐年,我用excel陪你看雪景,以感謝一路相伴與支持!值此元旦佳節之際,利用excel,特獻上一副動態雪景圖,讓我們共同迎接新的一年的到來!
  • excel數據計算的基礎,公式與函數的基礎操作技巧
    我們在實際工作中,當我們需要處理大量數據的時候,我們通常會選擇excel表格,因為excel自身具有強大的公式與函數,我們可以利用公式與函數對excel數據進行快速計算。公式與函數的基礎操作技巧excel自帶很多實用的函數,比較常見的有邏輯函數、判斷函數等,我們可以根據自己的需要選擇適合的函數
  • 四句話讓你搞清楚,Excel中函數與Excel VBA中函數不同
    Excel中我們經常會用到函數,其實ExcelVBA中也有函數。他們之間有什麼區別和聯繫,搞懂下面四句話就知道了。第一句:Excel中有的函數,VBA中沒有,但是可以引用比如sum函數中Excel中,但是不在VBA中,VBA中可以調用這個函數。
  • 「函數010」- EXCEL如何隨機打亂數據,不重複隨機數來幫忙!
    今天我們繼續學習我們函數實戰系列!一個不小心,我們已經更新9期了,今天就是第十期!具體講點啥?第十期-生成隨機不重複數據!順勢我們把相關的隨機函數也學習一下,一舉兩得!在EXCEL的中,要生成隨機數有兩個函數、1、隨機整數-RANDBETWEEN這個函數的他的數據,是可以重複的,或者說他的機制可以重複雖然這樣,但是對於我們經常生成一些數據數據用於測試等很有用
  • excel中的經典查找引用函數之lookup函數的使用
    excel表格的眾多函數中,我們常用的查找引用函數大致有3個,分別是有縱向查找功能的vlookup函數、有橫向查找功能的hlookup函數和可以任意多條件查找引用的lookup函數。下面我們來介紹lookup函數的用法。
  • 在excel表格中如何使用LOG函數
    LOG函數是根據給定底數返回數字的對數的函數,那如何在EXCEL表格中使用該函數呢?下面就為大家詳細介紹一下,不會的朋友可以參考本文,來看看吧!   在彈出窗口中選擇數學與三角函數,如圖     選擇LOG函數,如圖     在彈出對話框中輸入數值,點確定按鈕
  • excel中if函數的功能是什麼,參數含義是什麼,具體該怎麼使用?
    excel函數的具體作用:判斷是否滿足條件,當條件滿足時就返回一個值,不滿足條件時又返回另外的一個值。 IF函數中的各個參數介紹,第一個任何可以計算為TRUE或者FALSE的數字或者表達式。
  • Excel中if函數如何使用
    Excel中如果涉及到邏輯的東西,那麼if函數就不得不提了,這個也是其他邏輯函數的一個基礎。先看一下if函數的語法。#excel看不懂英文沒關係,來解釋下。例如,=IF(C2=」Yes」,1,0) 表示如果C2單元格中是Yes值,那麼則返回 1, 否則返回0。在實際工作中,單個判斷條件使用的情況比較少,更多情況是進行嵌套使用。
  • Excel中使用IF函數的方法
    那麼在Excel中使用IF函數就可以輕鬆地實現這個功能。方法/步驟打開excel,並打開一個數據的文檔。
  • Excel中large函數直接在公式中查找最大值
    在excel中,如果想要找到一組數的最大值,可以藉助於max函數輕鬆解決。但是如果想在一組數據裡面,找到第二大的數據怎麼進行呢?或者說,我們在編寫函數公式具體應用的過程中,應該如何設置呢?在這種情況下,我們就會使用到large函數,藉助於他我們來尋找一組數據中的最值問題。