Chapter 10. 函式 (五):特殊功能函式10.3 資料生成

10.3 資料生成


本節將介紹與生成資料相關的函式,包括重複資料、等差級數資料與隨機資料,如下:

  • REPT:將文字重複多次

語法

REPT (重複文字, 重複次數)

輸入

  • 重複文字:要重複的字元或字串。
  • 重複次數:要重複的次數,最多 100 次。

輸出

重複文字 重複 重複次數 次,輸出在單一儲存格。

  • SEQUENCE:生成多列多欄的等差數列

語法

SEQUENCE (列數, [欄數], [起始值], [間距])

輸入

  • 列數 / 欄數:輸出列數 / 欄數,列數必填、欄數預設為 1。
  • 起始值:首項,預設為 1。
  • 間距:公差,預設為 1。

輸出

輸出 列數 列、欄數 欄、首項為 起始值、公差為 間距 的等差數列,若 欄數 大於 1 會先左至右填滿整列,填滿後再換下一列。

  • RAND / RANDARRAY:隨機生成 0~1 之間的小數

語法

輸入

列數 / 欄數:輸出列數 / 欄數,皆預設為 1。

輸出

0~1 之間的隨機小數,每編輯一次試算表就會重新生成。其中 RAND 只會在使用函式的儲存格輸出,RANDARRAY 則輸出 列數 列、欄數 欄。

  • RANDBETWEEN:隨機生成 m~n 之間的整數

語法

RANDBETWEEN (最小值, 最大值)

輸入

最小值 / 最大值:隨機整數的最小、最大值。

輸出

隨機生成一個 最小值 與 最大值 之間的整數。


  • NORMINV:輸出指定值、平均值和標準值的反常態分佈函式值

語法

NORMINV (x, 平均值, 標準差)

輸入

  • x:指定的值,必須介於 0~1 之間。
  • 平均值 / 標準差:常態分布的平均數、標準差。

輸出

傳回 x平均值 和 標準差 的反常態分佈函式值。

例如 =NORMINV(0.025, 100, 15) 會輸出 129.4,在平均 = 100、標準差 = 15 的情況下,數值大於 129.4 的機率只有 1 − 0.975 = 0.025

以下使用六個範例說明上述函式的用法:

  1. 重複 5 次 "Hi",每次中間用半形逗號間隔

    公式

    • =LEFT(REPT("Hi,",5),LEN("Hi,")*5-1)
    • =JOIN(",",SPLIT(REPT("Hi,",5),","))

    解說

    • 兩者的做法相似,都是先使用 REPT 重複五次 "Hi,",再想辦法將最後的逗點去掉。
    • 第一種方法使用 LEFT 取得除了最後一個逗點之外的內容,長度則使用  ("Hi," 的長度 × 5) − 1 即可。
    • 第二種方法先用 SPLIT 分割成多欄,再使用 JOIN 合併,是因為 SPLIT 的 移除空白文字 預設 TRUE,為會自動去掉最後一個逗號的內容,因此合併後不會有最後的逗點。
  2. 生成一個 2 列、3 欄的等差級數,其首項為 1、公差為 5

    公式

    =SEQUENCE(2,3,1,5)

    解說

    依序輸入列數、欄數、首項、公差 (間距) 即可。

  3. 隨機生成 1 列、3 欄在 0~1 之間的小數

    公式

    =RANDARRAY(1,3)

    解說

    依序輸入列數、欄數即可。

  4. 隨機生成一個 20~21 之間的小數

    公式

    =20+RAND()

    解說

    RAND 只會生成 0~1,即非整數的小數部分,因此只要加上整數 20 即可。


  1. 隨機生成一個 30~40 之間的小數

    公式

    • =RANDBETWEEN(30,39)+RAND()
    • =30+10*RAND()

    解說

    • 第一種方式是與 D. 相同,只是將整數部分改成使用 RANDBETWEEN,但因為 RANDBETWEEN 包含 最大值,因此要將 最大值 設為 39
    • 第二種方式是將 RAND 倍數放大,例如 10*RAND() 會輸出 0~10 之間的小數,再加上 30 就會變成 30~40 之間的小數。
  2. 隨機生成一個數字,其平均值為 0、標準差為 1

    公式

    =NORMINV(RAND(),0,1)

    解說

    可以將這個例子當作是如何生成一個常態分配的隨機數字,而因為 NORMINV 的 x 要在 0~1 之間,所以 RAND() 剛好可以作為 x

了解本節的函式後,可以用於各種需要抽獎、實驗等需要隨機數字的時機 (例如:蒙地卡羅模擬法),更可以在學習統計學之後搭配 Google Sheets / Excel 中各種統計相關的函式進行計算,但各項統計函式礙於篇幅的關係,在此僅介紹較常用的 NORMINV,請有興趣的同學再自行參考各式官方文件。