在 Excel 中產生隨機的是或否,有兩種方式:一是在儲存格中輸入像 =CHOOSE(RANDBETWEEN(1,2),"Yes","No") 這樣的公式,二是使用基於瀏覽器的 Web Crypto 工具,再把結果貼上。由於 RAND 和 RANDBETWEEN 都是 volatile 函數,儲存格內的公式會在每次活頁簿變動時重新計算,這代表你十秒鐘前看到的是,可能在你還在編輯檔案時就翻成否。試算表外部的獨立產生器則是每次點擊產生一個固定答案,且不會影響活頁簿的其他部分,因此你貼上的值會停留在你放置的位置。在工作階段中需要快速做決定時——我該清理這個欄位嗎、我該寄出這份草稿嗎、我該發布這個版本嗎——外部的做法通常更快,因為你不必記住公式語法、處理波動性,或在試算表中其他東西改變前把值凍結住。兩種方式都能產生公平的 50/50 結果,但只有瀏覽器工具能在同一個畫面中顯示來源、對應規則和執行紀錄。

generate random yes or no in excel
為 Excel 工作表產生隨機的是或否

為什麼 Excel 公式不總是產生是或否的最快方式

Excel 內建的隨機函數功能很強大,但它們是為抽樣資料而設計的,而不是為了解決日常決策。RAND 會回傳一個介於 0 到 1 之間的小數,RANDBETWEEN 則會回傳兩個邊界之間的整數。把其中任一個包進 CHOOSE 或 IF 運算式就能得到是或否,但每次活頁簿重新計算時,結果都會跟著重算——包括你在另一個儲存格輸入資料、按 F9、排序範圍或儲存檔案的瞬間。你剛剛看到的同一個是,可能會在毫無預警的情況下悄悄變成否。

對於模擬和蒙地卡羅方法那類確實希望數值持續變動的工作來說,這種波動性是沒問題的。但對一次性決策來說就很尷尬了。若要在 Excel 中把產生的是或否凍結住,必須複製該儲存格,然後以值的形式貼回,這會多出一個步驟,也多了一個容易遺漏的地方。專門的 Yes or No Generator 完全避開了重新計算的問題,因為答案存在活頁簿之外,只在你刻意複製進來時才進入 Excel。

Yes or No Generator 的運作方式

Yes or No Generator 是個精簡的瀏覽器頁面,使用 W3C Web Cryptography API 而非較舊的 Math.random 函數來產生 50/50 的答案。每次點擊會對一個長度為一的 Uint32Array 呼叫 Crypto.getRandomValues,這會把緩衝區填入一個介於 0 到 4,294,967,295 之間的均勻分布 32 位元整數。產生器接著把該整數對應到結果:偶數為是,奇數為否。由於 2 可以整除 2^32,每一個有效的 Uint32 值都會被接受,且二元分割的每一側都恰好分配到 2,147,483,648 個來源值——這是來源範圍所能允許的最乾淨的 50/50 分割。

拒絕抽樣已內建於同一個經過測試的對應器中,即使在一般的二元用途下永遠不會觸發。對於無法整除 2^32 的結果數量,工具會拒絕大於或等於該結果數最大倍數的值並重抽,上限設為 128 次抽樣,以避免來源出問題時頁面卡住。雙結果情況的對應採用直接的模運算,但在測試期間會在第三個結果的邊界上進行底層數學的驗證,使拒絕路徑保持已驗證狀態。

若 Web Crypto 無法使用、被頁面封鎖,或因任何原因拋出例外,工具會回報明確的失敗訊息,且完全不產生答案。它刻意不後退到 Math.random,因為在無聲的情況下切換隨機來源會與顯示的方法學相牴觸,並把問題隱藏起來。根據 MDN documentation,getRandomValues 是瀏覽器所提供、用來取得密碼學強度隨機整數的標準介面,也是你所看到結果的基礎。

三步驟產生隨機的是或否

  1. (選擇性)在問題欄位中輸入一個低風險的問題。該欄位接受純文字,最多 1,000 個 UTF-16 字碼單位,因此長一點的提示可以,短一點也沒問題。留空同樣有效,會產生裸的是或否。
  2. 點擊 Generate 按鈕。頁面會向瀏覽器的 Web Crypto 實作請求一個 Uint32,並透過偶/奇規則進行對應。目前的答案會顯眼地顯示出來,並附上關於來源的簡短說明。
  3. 若要比較最近的答案,可以使用「最新優先」的歷史紀錄;用完後可以清除。歷史紀錄最多保留 20 筆;一旦產生第二十一次,工具會移除最舊的一筆,並明確告訴你已捨棄了幾筆先前的答案,不會有任何東西在無聲無息中消失。

編輯問題欄位會清除目前顯示的答案,確保是或否絕不會被標示成與其不再相符的文字。歷史紀錄項目則保持在原處,以你當時輸入的精確文字記錄。問題、答案與歷史紀錄都不會離開你的分頁,也不需要帳號、網路呼叫或遠端服務。

把 Yes or No 的結果放進你的 Excel 工作表

一旦得到答案,最可靠的方式是從「目前答案」顯示區複製文字,然後以值的形式貼上。以下是幾個實用的工作流程模式:

  • 單一決策儲存格。 直接在像 B1 這樣有標籤的儲存格中輸入或貼上「Yes」或「No」。由於該值是字串,在你繼續處理活頁簿其他部分時,它不會重新計算或變動。
  • 清單用的決策欄。 把同一個答案往下貼成一欄,一次標記所有列,例如把「Yes, follow up this week」標在所有你決定要追蹤的列上。這比輸入公式更快,也能給你一份穩定的稽核軌跡。
  • 以參照為基礎的工作流程。 如果你有個問題,希望它的答案與其他儲存格保持連結,請把答案輸入到一個命名儲存格,然後在其他地方用 =B1 來參照它。該參照繼承的是貼上的值,而不是新的抽樣,因此工作表其他部分會保持一致。
  • 用於訓練或展示的抽樣。 一次產生 20 個是或否值,然後貼成一欄來建立小型訓練集或範例工作表。可見的歷史紀錄對於挑選多樣化的批次很有用,因為你可以在它們進入試算表之前看到連續出現的狀況。

如果你寧願把工作留在 Excel 內部,3 formula approaches guide 會逐步說明 CHOOSE、IF 與 RANDBETWEEN 的模式。當你真的希望每個儲存格在重新計算時都重抽時,那種做法才是對的選擇——這在模擬時很有用,與解決單一決策的情境完全不同。

產生器 vs. 儲存格內的 Excel 公式

面向Yes or No Generator(瀏覽器)儲存格內的 Excel 公式
隨機來源Web Crypto Uint32,顯示於 UI 上Excel 內部的 PRNG,使用者看不到
重新計算每次點擊一個固定答案,不重新計算波動——每次活頁簿重新計算時值都會改變
值存在哪裡活頁簿外部,由你複製進來儲存格內部,與公式綁定
歷史紀錄最多 20 筆最新項目,附已捨棄數量無——只有當前儲存格的值存在
網路與儲存無上傳、無帳號、無遠端儲存儲存在活頁簿檔案本身
最適用於臨時的一次性決策和小規模稽核軌跡應持續變動的即時模擬與大量抽樣

這兩個工具各自負責不同的工作。想要單一凍結的決策時用產生器;想要整張工作表都是會重抽的值時則用公式。

公平性、連續出現,以及該注意的地方

由於兩個結果可以整除 2^32,產生器的對應在來源範圍所能允許的範圍內已盡可能平衡:每一側都分到一半的整數。獨立性也是契約的一部分——每次點擊都是全新的 Uint32 抽樣,不受問題、時間、前一個答案或歷史紀錄影響。連續三次抽到是,並不代表有偏誤;那是獨立公平抽樣的正常表現。最近的歷史紀錄僅供描述之用,絕不會為了「補回」某個連續出現的狀況而去重新平衡之後的答案。

這個工具在範圍上也刻意保持精簡。它不會學習偏好、不會為選項加權、不會在小樣本上證明公平性、也不會預測未來事件。問題欄位是標籤,不是因素。如果你需要不同的機率——例如 70/30 的分配,或是 yes/maybe/no 的範圍——同一個經過測試的對應器支援一般的結果數量,但這裡的標準 Yes or No 按鈕鎖定在 50/50。

什麼時候隨機的是或否不是合適的工具

一個臨時的 50/50 提示無法取代判斷、專業知識或適當的分析。請勿將結果用於醫療、法律、財務、安全關鍵、緊急情況、安全防護、同意權、僱用、資格認定或法規遵循等決策。Web Crypto 的品質並不會讓問題變得合宜、無法驗證可用選項,也無法保護你免於後果。一個數學上平衡的答案,在用於低風險情境之外時,仍可能不適合、不幸運或有害。對於任何重要的事,請諮詢合格的人員、查看實際資料,或使用結構化的決策框架,而不是用隨機提示。

對於快速的試算表決策、展示和小規模稽核軌跡來說,在 Excel 外部產生一個是或否,再以值的形式貼上,是個可靠的模式。答案會留在原處,活頁簿的其他部分繼續運作,且隨機性的來源會與結果顯示在同一個畫面中。

延伸閱讀:Bar Chart Maker Cheat Sheet: Syntax, Limits, and Output。