Google Sheets 會使用公式 =RANDBETWEEN(min, max) 產生隨機整數,兩個端點皆為可能值,並透過無參數的 =RAND() 函式產生介於 0 到 1 之間的隨機小數。若要取得可貼到任何位置的固定清單,您也可以一次產生 1 到 1,000 個整數,使用隨機數字產生器,然後將以逗號分隔的輸出貼到儲存格 A1。Sheets 原生公式屬於揮發性函式,因此每次活頁簿變動時都會重新計算,這對即時模型很有用,但在您需要穩定的測試資料或可重現的抽籤時就會出問題。相較之下,瀏覽器工具會擷取一個快照,能在編輯、匯入與共用檢視流量中存活下來。兩者皆支援負數邊界,且僅含一個值的範圍會直接回傳該值。請依據您需要的是跟著活頁簿更新的數值,還是擷取後就固定不變的值,來選擇適合的方法。

大多數在 Google Sheets 中搜尋隨機數字的人可分為三類:製作練習題的老師、產生樣本或測試資料的分析師,以及舉辦小型抽籤或隨機篩選的任何人。這些任務在可重現性、規模與範圍上各有不同的需求,而試算表本身通常不是產生數字的最佳場所 — Sheets 在數字產生後的儲存與分析方面非常出色。

how to generate random numbers in google sheets
how to generate random numbers in google sheets

Google Sheets 內建的隨機數字函式

Sheets 提供兩個原生隨機數字函式,以及一個能讓您更精確控制範圍的輔助函式。

FunctionOutput typeRangeRecomputes on edit?
=RAND()Decimal0 (inclusive) to 1 (exclusive)Yes
=RANDBETWEEN(low, high)IntegerInclusive low to inclusive highYes
=INT(RAND() * (max - min + 1)) + minIntegerInclusive min to inclusive maxYes

=RAND() 不接受任何參數,並在每次重新計算時回傳新的小數。=RANDBETWEEN(1, 100) 會從 1 到 100 之間回傳一個整數,兩個端點皆為可能值。若不使用 RANDBETWEEN 而要將數值強制限制在自訂整數範圍內,請將 RAND 包進 INT 中:=INT(RAND() * (50 - 10 + 1)) + 10 會產生介於 10 到 50 之間的整數,因為 INT 會先將小數截斷為最接近的整數,再加上 10 的偏移量。這三個公式都有相同的缺點:它們都是揮發性的,因此活頁簿中任何位置的更動都會觸發新的抽籤並取代您原本的數值。

如何在 Google Sheets 中產生隨機數字:3 種方法

這三種方法幾乎涵蓋了 Sheets 使用者需要隨機數字的所有情境。請依據您需要的是跟著活頁簿更新的數值,還是擷取後就固定不變的值,來挑選合適的方法。

方法 1:使用 RANDBETWEEN 產生即時、含端點的整數

  1. 點選您要放入第一個隨機整數的儲存格。
  2. 輸入 =RANDBETWEEN(1, 100) 並按下 Enter;將 1 替換為您的最小值,100 替換為您的最大值。
  3. 若要填滿整欄,請選取該儲存格,抓住右下角的填滿控點,並向下或向右拖曳至您需要的儲存格數量。
  4. 若要鎖定這些數值,請選取範圍、複製,然後使用「選擇性貼上 → 只貼上值」;這能讓儲存格在下一次編輯時不會重新產生新的數字。

方法 2:使用 RAND 與 INT 建立自訂範圍

  1. 點選目標儲存格。
  2. 輸入 =INT(RAND() * (max - min + 1)) + min,將 min 替換為您的最小值,max 替換為您的最大值。
  3. 按下 Enter,然後拖曳填滿控點,將公式延伸到您想要的儲存格數量。
  4. 如果您想要的是兩個值之間的單一小數而非整數,請使用 =RAND() * (max - min) + min。

方法 3:使用隨機數字產生器產生固定清單並貼上

  1. 在另一個瀏覽器分頁中開啟隨機數字產生器。
  2. 輸入您的最小與最大整數,將數量設定在 1 到 1,000 之間,並選擇是否允許重複。
  3. 點選「產生數字」,然後點進輸出框,複製以逗號分隔的清單。
  4. 切換回 Sheets,點選 A1 儲存格並貼上;Sheets 會將每個以逗號分隔的值分散到該列的個別儲存格中。
  5. 若要將該列拆成欄,請使用「資料 → 將文字分隔至欄」,並以逗號作為分隔符號,之後再視需要將列轉置成欄。

方法 1 與方法 2 會在活頁簿變動時持續更新;方法 3 則擷取一個快照,能在編輯、匯入與共用檢視流量中存活下來。如果您需要一欄穩定的測試資料,或一份用於抽籤的固定中獎位置清單,方法 3 通常是較安全的選擇。

如何使用隨機數字產生器工具

不論您是填入一個儲存格、一整欄,或 1,000 筆資料,該工具都遵循相同的三步驟流程。

  1. 輸入最小與最大的安全整數。兩個端點皆為可能結果,並支援負數邊界。
  2. 選擇介於 1 到 1,000 之間的結果數量,並決定是否允許重複的數字。
  3. 點選「產生數字」,然後檢視或複製以逗號分隔的輸出結果。

如果您要求的唯一值數量超過該含端點範圍所能提供的數量,產生器會以清楚的錯誤訊息停止,而不會迴圈或悄悄回傳較少的結果。例如,要求從 1 到 3 中產生五個唯一整數會立即被拒絕。輸入僅限於 JavaScript 的安全整數;小數、空白欄位、顛倒的邊界、無限大與不安全的整數都會被拒絕。更動任何輸入會清除先前的清單,避免將舊結果誤認為新設定的輸出;僅含一個值的範圍會直接回傳該值。結果以逗號分隔的整數呈現,可用單一鍵盤快速鍵選取並複製。

為何此工具能產生公平的結果

隨機整數產生器的公平性來自兩個地方:隨機性的來源,以及原始隨機位元如何對應到所要求的範圍。隨機數字產生器從瀏覽器的 Web Crypto 介面(MDN 上的 Crypto.getRandomValues)取得熵,而非使用並非專為不可預測抽籤設計的 Math.random。原始的隨機位元無法整除到所有目標範圍,因此該工具採用拒絕抽樣法:它會捨棄模數運算後不完整尾段的值並重新抽取,如此一來,請求範圍中的每個整數都擁有相同數量的可能可接受原始值。

當停用重複值時,工具會執行稀疏的部分 Fisher–Yates 洗牌來挑選唯一的偏移量,而無需為可能極大的範圍中每個整數都建構陣列。瀏覽器會將兩個 32 位元的 Web Crypto 字組合成精確的 53 位元非負整數再進行抽樣,避免一般餘數運算可能產生的精度遺失。每次操作可回傳 1 到 1,000 個數字,而驗證步驟會在抽籤開始前先拒絕非整數、不安全的邊界、顛倒的範圍、非精確的範圍大小與不可能的唯一值要求。

需要隨機數字的常見試算表任務

隨機整數在日常 Sheets 工作出現的頻率比想像中更高。以下是幾個具體例子:

  • 圖表與儀表板的測試資料。 產生一欄 50 個介於 0 到 100 之間的整數,在您建立折線圖或長條圖時,把它們當作假的每日數據使用。
  • 班級名單的隨機排序。 使用 =RANDBETWEEN(1, 10000) 為每一列指派一個隨機整數,然後依該欄排序,即可在不使用第三方外掛的情況下打亂姓名順序。
  • 快速抽籤與贈獎活動。 從 1 到參加人數中挑選一個整數以找出單一中獎者,然後擷取該結果,讓它在下次編輯時不會重新產生。
  • 從資料集中抽樣。 使用 =RANDBETWEEN(2, COUNTA(A2:A) + 1) 抽取一個隨機列位置,再用 INDEX 或 VLOOKUP 取出對應的記錄。
  • A/B 測試分組。 使用 =RANDBETWEEN(0, 1) 為每位使用者列指派 0 或 1,再用該旗標來分流流量。

若您還想將連續的日期範圍載入 Sheets,另一個相關的工作流程以相同的試算表優先思維介紹了在 Google Sheets 中建立日期清單。

限制與何時應選擇其他工具

在某些情況下,Sheets 原生公式或這個瀏覽器工具並不適合。如果您需要與特定種子綁定、可重現的抽籤,不論是 RANDBETWEEN 或本工具都無法幫上忙 — 兩者每次都會產生全新的樣本,並且不提供已發布的種子、經簽署的紀錄或外部隨機性信標。如果您需要的數值超過 JavaScript 安全整數的範圍,瀏覽器無法精確表示,您應改用接受整數字串的系統。如果您的任務受到規範 — 例如真正的彩券、安全權杖、密碼或重大的存取控制決策 — 本頁面刻意不是為此設計,請遵循您組織所要求的獨立稽核程序。本工具是一個方便的通用隨機整數產生器,無法取代經過稽核的彩券或加密系統。

在一般的試算表工作中 — 測試資料、課堂抽籤、樣本挑選、A/B 旗標與排序洗牌 — 「RANDBETWEEN 用於即時模型」加上「隨機數字產生器用於固定清單」的組合,幾乎涵蓋了所有實際情境,而且不必離開 Sheets 或瀏覽器。

若想深入了解,請參閱使用隨機值在 Excel 中建立是非下拉選單。