隨機性(Randomness)是偶然性的一種形式。隨機事件的發生有偶然性,但從統計學角度上看也有必然性,如果限制了隨機事件的發生範圍,那麼這種隨機事件就帶有或多或少的必然性。我們還常常用到這種帶有某種的必然程度的隨機事件。今天我們將從函數的角度來講解這種隨機是如何控制範圍的。
我們先引入一個隨機函數RAND(),這個函數是產生一個隨機數,此隨機數大於等於0,小於1。是一個小數,在利用此函數時經常會用到它的兩種變形的應用,即控制了它的範圍,具體的例子如下:
其一:生成A與B之間的隨機數字(A≤隨機數
如:生成1到10之間的隨機數字,輸入:=RAND()*9+1
其二:生成A與B之間的隨機整數(A≤隨機數
如:生成1到10之間的隨機整數,輸入:=INT(RAND()*9+1)
但是今天我們提出的問題是:如何獲取在上午8:00到10:00 間隨機的選取出任意的10個時間點。這裡會利用到上面的RAND函數,同時又有要限制一定的範圍,怎麼做到呢?
在正式的講解之前,我們再引入一個函數:TIME()函數。此函數返回某一特定時間的小數值為從 0(零)到 0.99999999 之間的數值,代表從 0:00:00 (12:00:00 AM) 到 23:59:59 (11:59:59 P.M.) 之間的時間。如果在輸入函數前,單元格的格式為"常規",則結果將設為日期格式。
語法TIME(hour, minute, second)
其中Hour 必需。0(零)到 32767 之間的數值,代表小時,任何大於 23 的數值將除以 24,其餘數將視為小時;Minute 必需,為從0 到 32767 之間的數值,代表分鐘,任何大於 59 的數值將被轉換為小時和分鐘;Second 必需,為從0 到 32767 之間的數值,代表秒。任何大於 59 的數值將被轉換為小時、分鐘和秒。
好了,有了TIME函數和RAND函數,來看我們今天的問題:如何從上午8:00到10:00 間隨機的選取出任意的10個時間點。
先看看最後實現的公式:
=time(8,int(121*rand(),0)
思路分析:因為RAND函數產生的數值的區間是大於等於0,小於1的隨機小數,所以INT(121*RAND())得到的結果為大於或等於0小於或等於120的整數,這樣才能保證time(8,int(121*rand(),0)在8點到10點之間.
好,我們看看下面的截圖:
我們再次按下"F9"鍵看結果:F9鍵是刷新公式,由於RAND在某種意義上說也是一種易失性的函數,當刷新時數值會更新.
好了到此我們的問題就圓滿的解決了。產生了在8:00到10:00間的不同的時間值。雖然很簡單,但最為基礎的函數應用還是非常的有用的,特別是在每篇文章後我寫道的內容技巧提升,都是非常用用的知識點,希望看到的朋友多留心,對於自己的提升會有很大的幫助。
今日內容技巧提升:
1.RAND()函數的概念;要注意它的返回值是大於或等於0,小於1.
2,TIME()函數。語法TIME(hour, minute, second),三個參數的意義要牢記。
3,F9鍵可以刷新公式。
分享成果,隨喜正能量
閱讀更多 VBA專家 的文章