Yes or No Generator 中的每個 Yes 或 No 提示都會從瀏覽器的 Web Crypto API 抽取一個 Uint32,偶數對應 Yes,奇數對應 No,在 0 到 4,294,967,295 的完整 Uint32 範圍內,每個結果恰好對應 2,147,483,648 個來源值。整個流程都在你目前的瀏覽器分頁中執行,因此你的問題、紀錄或時間戳記絕不會離開你的電腦。由於對應方式將 2^32 範圍精確地平分給兩個結果,沒有任何有效的 Uint32 需要被拒絕,也不會有任何答案偏向某一邊。這讓你可以放心地將結果直接放入 Google 試算表的儲存格中,取得一個隨性的二元答案,而無需設定下拉式選單、撰寫陣列公式,或安裝外掛程式。這個工具會在「最新優先」的清單中記錄每個新結果,最多二十筆,當你再次提問時會乾淨地重置。

create yes or no in google sheets
create yes or no in google sheets

在 Google 試算表中取得 Yes 或 No 的最快方法

當你在 Google 試算表中工作並需要快速的二元決策時,建立下拉式選單、撰寫 CHOOSE 公式,或安裝外掛程式通常都太過於麻煩。專屬的瀏覽器產生器讓你只要按一下就能取得公正的 50/50 提示,然後讓你把答案貼回你正在注視的儲存格。由於結果存在於另一個分頁,你的試算表會保持乾淨,你的問題也絕不會附加到可能會重新計算並在背後改變的公式中。

如果你真正的目標是想解決像「我今天下午是否該請假」或「午餐是否該選披薩」這類低風險問題,那麼隨機答案本身就是最終成果,而不是資料結構。這正是一個 Yes or No 產生器所建置來處理的隨性使用情境,而且它能舒適地與你開啟的試算表分頁並存,完全不會影響該檔案。

每次點擊時產生器的運作方式

Yes or No Generator 是一個單頁工具,每次點擊會產生一個隨性的二元結果。你可以輸入最多 1,000 個 UTF-16 字碼單位的選填問題,如果你只想要擲硬幣式的翻面,也可以將欄位留空,然後按下 generate 按鈕。在背後,這個工具會透過 Crypto.getRandomValues 填入一個單元素 Uint32Array,產生一個介於 0 到 4,294,967,295 之間的整數。偶數解析為 Yes,奇數解析為 No。由於 2^32 恰好可被 2 整除,每個 Uint32 值都會被接受,一般二元使用不需要進行任何拒絕流程。

目前的答案會醒目地顯示在控制項上方。下方的紀錄清單永遠以最新的項目為優先,最多 20 筆,超過之後,計數器會明確告訴你已經捨棄了多少較舊的答案。編輯問題文字會清除目前的答案和任何先前的錯誤,讓你絕不會看到標示著錯誤措辭的答案,而修剪(trim)僅用於決定紀錄標籤是否應顯示為「No question」。

如何在 Google 試算表中建立 Yes or No

  1. 在瀏覽器分頁中開啟 Yes or No Generator,並與你的 Google 試算表文件並排。
  2. 選填地輸入一個符合你決策的問題,文字長度請保持在 1,000 個 UTF-16 字碼單位以內。如果你只想要一次乾淨的翻面,將方塊留空即可。
  3. 點擊 Generate,從瀏覽器的 Web Crypto 抽取一個 Uint32,並將其解析為 Yes 或 No。檢視控制項上方醒目的目前答案。
  4. 複製或記下答案,然後貼上或輸入到你需要該二元結果的 Google 試算表儲存格中。
  5. 如果你想比較重複的提示,可以使用最新優先的紀錄。完成後,使用重置控制項清除紀錄,這也會一併移除目前的答案。
  6. 請僅將此結果視為隨性的決策輔助工具,絕不可用於醫療、法律、財務、安全或其他高風險的選擇。

Web Crypto 如何讓 50/50 的對應保持公正

對應函式使用一般性的有限結果數演算法。它會計算出不超過 2^32 來源範圍的最大結果數倍數,接受低於該上限的值,拒絕等於或高於該上限的值,並透過模數運算將接受的值對應到結果。拒絕抽樣(rejection sampling)可防止在範圍無法整除時,較低索引獲得額外的來源值,而 128 次抽取引上限可防止損壞的來源導致頁面當機。

對於兩個結果而言,該上限等於完整的 2^32 範圍。偶數對應 Yes,奇數對應 No,每一邊恰好獲得 2^31 個可能的 Uint32 值。對應路徑仍會在「三個結果」的邊界進行測試,以便實際執行拒絕分支,即使是一般的 Yes 或 No 點擊也絕不會觸發該分支。

如果 Web Crypto 缺失、被封鎖,或擲出例外,產生器會回報明確的錯誤,並且不會產生任何答案。它刻意不會回退到 Math.random,因為靜默地替換隨機來源會與所展示的方法相牴觸,也會讓錯誤變得更難以偵測。W3C Web Cryptography 規範定義了 getRandomValues 以及該工具所依賴的就地整數型別陣列填入;MDN 獨立記錄了相同的瀏覽器行為,而NIST SP 800-90A提供了該呼叫所依賴的隨機位元產生器背景資訊。

紀錄、限制,以及哪些資料保留在本地

行為產生器執行的動作
問題為選填空白文字為有效輸入;紀錄標籤會顯示為「No question」
問題長度上限恰好 1,000 個 UTF-16 字碼單位;超過一個單位即會失敗,不會進行截斷
儲存位置僅限瀏覽器分頁;絕不會上傳到伺服器或寫入帳戶
紀錄大小最新優先,最多 20 筆
已捨棄數量可見計數器,明確顯示已捨棄的較舊項目數量
清除控制項同時重設項目、捨棄計數和目前的答案
重複出現允許;紀錄永遠不會重新平衡或改變未來的抽取
編輯問題清除目前的答案和任何先前的錯誤;保留紀錄

選填問題會完全按照你輸入的內容儲存在本地。單調遞增的本地項目識別碼可防止執行階段鍵值重複,既不是隨機值,也不是持續性識別碼。隨機序列自然會包含重複的 Yes 答案或重複的 No 答案,而紀錄清單僅供描述之用,絕不會為了補償某個連續結果而修改機率。

產生器與試算表下拉式選單的比較

方法最適用於輸出持續性
Google 試算表資料驗證下拉式選單由使用者強制執行的重複二元輸入儲存格中的固定選項
試算表公式 (RANDBETWEEN、CHOOSE)在試算表內重新計算的隨機值揮發性,於編輯時重新計算
Yes or No Generator 分頁試算表之外的快速、隨性決策你貼上一次性的答案

當你需要讓整欄的每個儲存格都強制執行固定清單時,資料驗證下拉式選單是正確的選擇。當你需要試算表格線內可重新計算的隨機值時,試算表公式是正確的選擇,而How to Generate Random Numbers in Google Sheets: 3 Methods中的三種方法逐步說明涵蓋了該路線。Yes or No Generator 處於互補的情境:答案是個人提示,而不是綁定儲存格的公式,而且它完全不會進入你的試算表檔案。

何時不應使用隨機 Yes 或 No

此產生器明確不是決策當局。請勿將其用於醫療、法律、財務、安全關鍵、緊急、安全性、同意、僱用、資格、遵法或其他高風險決策。Web Crypto 的品質並不會讓問題變得合適,也無法驗證可用選項、理解後果,或取代專業判斷。一個數學上平衡的答案在用於隨性低風險情境之外時,仍可能不適合、不幸或有害。

這個工具也不會學習偏好、為選項加權、保證結果交替、防止連續出現、在小樣本中證明公正性,或預測未來事件。獨立的 50/50 抽取會像公正的硬幣一樣產生 Yes 或 No 的連續結果。請將此結果視為單一的隨性提示,並在其完成任務後將其捨棄。

延伸閱讀:Create Yes or No on Excel Without a Spreadsheet Formula