在 Excel 中,所謂隨機的 yes 或 no 選項,指的是一個儲存格或一整欄,內容只包含兩個文字值——「Yes」或「No」——而要在這一欄中填入彼此獨立且公平公正的答案,最可靠的做法,是先用像 Yes or No Generator 這類以瀏覽器為基礎的工具,在工作表之外一筆一筆地產生,再把結果貼回工作表。這個方法可以跳過公式與下拉式選單的維護,而且能讓一個密碼學層級的安全來源,透過單一次的 Crypto.getRandomValues 呼叫驅動每一個答案,而不是依賴 Excel 內部的 RAND 或 RANDBETWEEN 引擎。「yes/no option in Excel」這個說法其實很籠統,至少涵蓋四種不同的情境:限制輸入只能為兩個選項的資料驗證下拉式選單、搭配輔助 IF 函式以顯示為 Yes 或 No 的核取方塊欄、依據另一欄內容回傳文字的 IF 或 IFS 公式,以及一整欄預先填好的隨機答案,可用於抽樣、課堂示範、模擬資料或快速稽核。這四種做法的建立方式各不相同,在活頁簿關閉後重新開啟時,行為也會不一樣。

create yes or no option in excel
在 Excel 儲存格中加入公平的隨機 Yes 或 No 選項

人們在說「yes/no option in Excel」時,實際所指的四種情況

在挑選方法之前,先弄清楚你實際想要的是這四種模式中的哪一種會很有幫助,因為同樣的字眼背後可能對應完全不同的運作機制。這四種做法都收錄在 Microsoft Excel 的官方文件中,最終結果都是儲存格顯示「Yes」或「No」,但背後的運作方式完全不同。

第一種模式是資料驗證下拉式選單。選取儲存格後,前往「資料 → 資料驗證」,把「允許」設為「清單」,然後在「來源」欄位中輸入 Yes,No。使用者只能在該儲存格為作用中時,從這兩個值中擇一。這裡沒有任何隨機成分,是人為決定要記錄哪一個值。

第二種模式是核取方塊欄。較新版本的 Excel 可以透過「插入 → 核取方塊」來加入,每個可見的方塊背後都對應一個 TRUE 或 FALSE 值。希望儲存格直接顯示「Yes」或「No」而非 TRUE 或 FALSE 的團隊,通常會搭配一個簡短的輔助公式,例如 =IF(A1=TRUE,"Yes","No")。這裡的答案仍然是由使用者勾選決定,並非隨機抽出。

第三種模式是 IF 或 IFS 公式,根據另一欄的數值回傳「Yes」或「No」這個文字。=IF(B2>=100,"Yes","No") 是典型的寫法。答案是確定性的,只要來源欄位變動或活頁簿重新計算,就會即時更新。

第四種模式,也是本文的核心,是一整欄預先填好的隨機「Yes」或「No」答案,可用於抽樣、A/B 分組、模擬資料集、課堂示範或快速稽核。這些值是靜態的——一次性貼上後,就以純文字的形式保存在儲存格中——而每一列要填入哪個答案,則由像 Yes or No Generator 這類專門的隨機來源決定。

什麼時候預先產生的值是更簡單的選擇

公式與下拉式選單各自帶有一些你可能不想要的負擔。像 =IF(RANDBETWEEN(1,2)=1,"Yes","No") 這樣的公式,只要活頁簿有任何變動、按下 F9,或是關閉後重新開啟,就會重新計算。對於單次抽樣來說這沒問題,但當你希望第 4 列的「Yes」、第 7 列的「No」在整個工作階段中都維持不變時,問題就出現了——因為 RANDBETWEEN 會把每個儲存格都視為一次全新的硬幣翻擲,而且綁定在那個不穩定的計算引擎上。

下拉式選單解決了穩定性問題,但本身不會產生任何值,仍然需要有人去點選。核取方塊解決了輸入的步驟,但產出的是 TRUE 或 FALSE,而不是字面的 Yes 或 No 文字,除非另外搭配一個輔助公式來轉換。一整欄預先填好的純文字答案,一次解決了這三個問題:儲存格中保存的就是字面字串,數值永遠不會重新計算,而且之後不需要任何公式或來源依據來解讀。

公平性是另一個讓外部產生方式值得採用的原因。Excel 內建的 RAND 與 RANDBETWEEN 使用的是以活頁簿狀態作為種子的確定性產生器。官方文件指出,它們適合一般休閒用途,並非密碼學等級或稽核等級的隨機性。當你希望 yes 或 no 的答案在大量抽取時真正保持平衡,而不是悄悄受到鄰近儲存格的影響時,每次點擊都使用全新的隨機來源,比會重新計算的試算表公式更誠實。

使用 Yes or No Generator 產生隨機的 yes 或 no 值

  1. 在接下來工作階段要使用的同一個瀏覽器中開啟 Yes or No Generator。不需要安裝任何東西,這個工具完全在目前的分頁中執行。
  2. 在選填的問題欄位中輸入這個選擇的簡短標籤——例如「Row 14 sample」或「Group A picker」。標籤會儲存在本機,與答案並列保存,不會影響實際出現的結果。標籤長度上限為 1,000 個 UTF-16 程式碼單位;剛好等於這個上限的值會被接受,超過一個程式碼單位則會被拒絕,而不會自動截斷。
  3. 點擊 Generate Yes or No。這個工具會呼叫 Crypto.getRandomValues 作用於一個長度為 1 的 Uint32Array,讀出介於 0 到 4,294,967,295 的數字。偶數對應 Yes,奇數對應 No,所以在整個 32 位元的範圍內,每個結果各自對應到剛好 2,147,483,648 個來源值。
  4. 在顯眼的顯示面板中讀取目前產生的答案。如果想在不改變標籤的情況下重新抽一次,再點一次 Generate。如果編輯了標籤,先前的答案與任何錯誤訊息都會被清空,如此新的抽樣結果就不會不小心與舊的文字並列在一起。
  5. 選取答案文字並複製。重複「產生—複製」的循環,直到你為每一列要填入的 Excel 儲存格都準備好一個值。
  6. 打開你的活頁簿,點選第一個目標儲存格,然後貼上。使用「選擇性貼上 → 值」,確保純文字字串不會夾帶公式格式,讓儲存格保存的是純文字,而不是一個會持續運作的運算式。
  7. 完成後,點擊 Clear history。最新的在最前(最多 20 筆)的紀錄會重設,累計的「已捨棄的先前答案」計數器會重設,目前顯示的答案也會一併移除,這樣就不會在鍵盤前留給下一位使用者任何資料。

整個過程完全在本地端進行:問題、每一次的答案、歷史紀錄,以及持續累積的捨棄計數,都不會離開這個分頁,也不會同步到任何帳號,或上傳到任何後端。隨機輸入完全來自瀏覽器的 Web Crypto 實作,過程中不需要剪貼簿、檔案、ObjectURL 或任何網路呼叫。

比較在 Excel 中加入 yes 或 no 選項的四種方法

不同的 Excel 工作適合不同的機制。下表把每一種方法,對應到你在建立 yes 或 no 欄位時真正會問的那些問題:你想要的是由使用者輸入的條目、核取方塊、動態公式,還是靜態的隨機填入。

方法最適合情境是否隨機?儲存後是否穩定?設定時間
資料驗證下拉式選單(Yes,No)結構化表單中由使用者輸入的答案否——由使用者挑選是每欄約 1 分鐘
搭配輔助 IF 的核取方塊欄顯示為 Yes 或 No 的互動式核取方塊否——由使用者勾選是,但切換後才穩定每欄約 2 分鐘
IF 或 RANDBETWEEN 公式動態邏輯或滾動式隨機抽樣僅在使用 RANDBETWEEN 時否——會重新計算每欄約 30 秒
瀏覽器 Web Crypto 產生器 + 選擇性貼上 → 值抽樣、模擬資料、A/B 分組、示範是——每次點擊都使用全新的來源值是——以文字形式貼上每批儲存格約 1 分鐘

如果你希望儲存格的值始終停留在你放進去的那個位置,或是希望答案來自一個在數學上完全平衡的來源,而不是 Excel 那個有種子的 RAND 引擎,那麼本指南以具體步驟支援的,就是表格最下方那一列。

50/50 對應如何在限制內保持平衡

一個只有兩個結果的二選一提示,之所以能夠不採用拒絕抽樣就保持平衡,是因為 2 可以整除 2^32。瀏覽器透過 Crypto.getRandomValues 將一個長度為 1 的 Uint32Array 填滿;產生的數字是介於 0 到 4,294,967,295(含端點)的整數。對應方式讓每一個合法的 Uint32 值都會被接受,偶數指派為 Yes,奇數指派為 No。由於 2^32 是偶數,每個結果各自對應到相同數量的來源值——2,147,483,648——沒有剩餘的餘數,在一般二選一的使用情境下也不需要拒絕循環。

這個對應器在一般情況下仍然保留了拒絕路徑。當結果數量超過兩個時,它會計算仍能放進 2^32 之內的最大倍數,只接受嚴格低於該上限的來源值,捨棄等於或超過上限的部分,然後在通過的值上套用模數對應。此外,還有一個上限為 128 次的迴圈保護,避免因來源注入或平台損壞而導致頁面無限期卡住。這些機制都不會影響一般的 Yes 或 No 點擊——這個保護機制之所以存在,是因為同一個對應器會在測試套件中以三個結果的邊界進行測試,而非因為一般的二選一抽樣需要重試。

如果 Web Crypto 缺失、被阻擋,或在這個分頁中拋出例外,工具會回報清楚的失敗訊息,並且不產生任何答案。設計上完全沒有 Math.random 的備援:靜悄悄地換掉隨機來源,會讓錯誤變得更難察覺,也會與頁面上所標示的方法論相矛盾。瀏覽器自行挑選底層的產生器;這個工具並未宣稱擁有物理上的真隨機性,也不公開演算法。支撐這個做法的參考資料包括 MDN 對 Crypto.getRandomValues 的說明文件,以及 NIST SP 800-90A Rev. 1 隨機位元產生器指引。

在產生過程中,有幾道安全界線值得留意。選填的問題標籤上限為 1,000 個 UTF-16 程式碼單位;剛好等於上限的值會被接受,超過一個單位則會被拒絕,因此事先修剪過長的提示文字能讓結果更清楚易讀。空字串是有效的,因為問題欄位本質上就是選填的。歷史紀錄上限為最新的 20 筆,以最新者為先;在第二十一次產生之後,最舊的一筆會被捨棄,螢幕上的一個計數器會記錄累計已捨棄的先前答案數量。問題標籤與答案都不會影響機率——每一次點擊都會從瀏覽器讀取一個全新的來源值,然後答案的對應完全獨立於任何輸入文字或先前出現的結果。

把這個工具想像成桌上的一枚硬幣就好。它很適合用來決定今晚要吃什麼外送、為兩個都合理的模擬資料列破除先講者或後講者的順序、決定課堂上要先點哪一邊的同學,或是為一個快速示範產生一個小型 A/B 樣本。它不是建議、不是預測、不是公平性稽核,也不適用於醫療、法律、財務、安全、防護、同意,或其他任何高風險的決定——在這些情境下,再平衡的硬幣翻擲仍然可能給出錯誤的答案。

如果你正在權衡各種選項,在 Excel 中繪製 3 個變數並匯出乾淨的 SVG 對此有詳細說明。

如果你正在權衡各種選項,與朋友一起用的隨機活動產生器:挑選一個團體點子 對此有詳細說明。