Excel 本身並沒有提供「隨機色彩」的功能,因此若要在 Excel 中產生隨機色彩,你必須透過外部工具產生 HEX、RGB 或 HSL 碼,再利用「設定格式化的條件」、「選擇性貼上」或一段簡短的 VBA 程式碼,將這些代碼套用到儲存格中。最快的工作流程是開啟 隨機色彩產生器,將數量設定為你所需的色票數(1 到 100),點擊「產生」,然後點擊任何一個色票,即可將其 HEX 碼複製到剪貼簿;接著再將該值以貼上任何其他色彩參考的方式貼到 Excel 中即可。

Excel 非常擅長處理亂數(RAND、RANDBETWEEN、RANDARRAY),也能讀取 HEX 字串,但它本身無法像專用的產生器那樣「擲出」一個新色彩。這個落差正是「隨機色彩產生器」要補上的部分:它負責視覺上的挑選、同時以三種實用的格式呈現結果,並讓你一鍵複製其中任何一種。本指南的其餘部分將逐步說明在 Excel 端的實務工作流程,包括在 Excel 中套用色彩的兩種主要方式(設定格式化的條件與選擇性貼上)、當你希望在試算表內部產生隨機性時如何透過 VBA 自動化,以及如何避免人們嘗試從頭自製時最常犯的錯誤。

how to generate random color in excel
how to generate random color in excel

為什麼 Excel 沒有內建隨機色彩

Excel 的色彩系統綁定在主題色彩、標準調色盤色彩,以及你從「色彩」對話框中挑選的任何自訂色彩。每一個色彩都是儲存於該活頁簿的主題或儲存格的填滿格式中的固定值。沒有任何函式可以「重新擲」一個色彩,即使是較新的 LAMBDA 與 LET 函式也沒有提供。像是 RANDBETWEEN 這類函式可以產生隨機整數,你可以用它來組合出十六進位字串,但你仍然必須手動解析並套用結果。

大多數使用者最終歸納出的實用變通方法是將兩個步驟分開:在擅長此事的工具(專門打造的)中產生色彩,再將該值送入 Excel。這樣能讓你的活頁簿公式保持簡潔、讓色彩在進入儲存格之前就能以視覺方式驗證,並且結果可重現,因為你可以儲存你喜歡的色票。

使用「隨機色彩產生器」產生色彩代碼

  1. 在瀏覽器中開啟 隨機色彩產生器 工具。
  2. 在「數量」欄位中輸入你一次想要取得的色票數,範圍介於 1 到 100。
  3. 點擊 Generate(產生)來產生一整批全新的隨機 HEX、RGB 與 HSL 色彩。
  4. 點擊任何一個色票即可複製其 HEX 碼,或點擊其下方的 RGB 或 HSL 數值來改複製該格式。
  5. 切換回 Excel,將該代碼貼到你工作流程中預期的位置(儲存格、設定格式化的條件規則,或 VBA 中的常數)。

由於該工具會並排輸出三種格式,因此你不需要做任何轉換。如果你的 Excel 工作表使用帶有十六進位代碼的設定格式化的條件,請使用 HEX。如果你要為 VBA 或圖片匯出建立 RGB 三元組,請點擊 RGB 那一行。若下游工具需要 HSL,你也能直接取得。

使用「設定格式化的條件」在 Excel 中套用隨機色彩

這是最可靠的非程式作法,適用於 Microsoft 365 版 Excel、Excel 2021、Excel 2019 與 Excel 2016。

  1. 選取你想要上色的儲存格範圍,例如 A2:A100
  2. 常用 索引標籤上,點擊 設定格式化的條件 並選擇 新增規則
  3. 選擇 只格式化包含下列內容的儲存格,然後將條件設定為符合你想上色的資料列(例如「儲存格值大於 0」)。
  4. 點擊 格式,切換到 填滿 索引標籤,然後點擊 其他色彩
  5. 自訂 索引標籤中,將你複製的 HEX 值貼到 Hex 欄位。Excel 會自動接受開頭的 #
  6. 點擊 確定,再點一次 確定 即可套用規則。

如果你產生了十個色票,並希望每一個套用於不同的資料區段,請針對每個區段重複上述步驟,並在步驟 5 貼上下一個 HEX 值。「隨機色彩產生器」的數量上限為 100,代表你可以在單一次產生流程中涵蓋大多數的規則組合。

使用「選擇性貼上」在 Excel 中套用隨機色彩

當你想一次設定整個範圍的填滿色彩,又不想撰寫規則時,「選擇性貼上」是最快的方法。

  1. 在你的活頁簿中,將其中一個儲存格的填滿色彩設定為你產生的色彩(常用 > 填滿色彩 > 其他色彩,貼上 HEX)。
  2. 選取該儲存格,然後按 Ctrl+C 複製。
  3. 選取目標範圍,然後按 Ctrl+Alt+V 開啟 選擇性貼上
  4. 選擇 格式,然後點擊 確定。填滿色彩便會複製到整個範圍。

當你想要的是單一純色,而非根據條件套用的色彩時,這個方法也很好用,而且它能避免任何可能在大型工作表中拖慢速度的公式負擔。

使用 VBA 在 Excel 中自動化隨機色彩

對於熟悉 VBA 編輯器的使用者,你可以透過呼叫 RGB 函式,搭配三個介於 0 到 255 之間的隨機整數,直接在 Excel 內部產生隨機色彩。這些數值本身若沒有種子並不是真正隨機的,但對於視覺取樣而言,已經足夠「隨機」。

元件功能說明範例
Rnd()傳回介於 0 到 1 之間的 Single 值Rnd()
Int(... * 256)將該值縮放為 0 到 255 的整數Int(Rnd() * 256)
RGB(r, g, b)將三個色道合併為一個 Long 色彩值RGB(174, 92, 33)
.Interior.Color將色彩套用至儲存格的填滿Range("A1").Interior.Color = RGB(...)

一個能以隨機色彩填滿選定範圍的精簡宏如下,套用於目前選取的範圍:

Sub RandomFillColors()
  Dim cell As Range
  For Each cell In Selection
    cell.Interior.Color = RGB(Int(Rnd * 256), Int(Rnd * 256), Int(Rnd * 256))
  Next cell
End Sub

執行一次後,Excel 便會以獨立隨機的填滿為選取範圍中的每個儲存格上色。如果你希望在填滿之外同時產生十六進位字串(用於文件記錄或在其他活頁簿中重複使用),可以讓同一個迴圈將 Hex(cell.Interior.Color) 寫入相鄰的欄位。

挑選與工作流程相符的格式

格式最適用於在 Excel 中的套用位置
HEX(例如 #4A7C2E)網頁風格的色彩參考、設定格式化的條件自訂色彩、CSS 匯出「色彩」對話框的「自訂」索引標籤
RGB(例如 74, 124, 46)VBA 巨集、Power Query 轉換、設計工具匯入VBA 內部的 RGB() 函式
HSL(例如 102, 47%, 33%)為方便無障礙調整而以 HSL 為標準的設計系統先使用工具轉換為 RGB 再套用

「隨機色彩產生器」會同時顯示這三種格式,因此選擇權在你。如果你之後需要互相轉換(例如將 RGB 轉為 HEX 以放入設定格式化的條件規則中),RGB 轉 HEX 工具可在瀏覽器中完成該轉換,且不會將你的數值傳送至任何地方。

儲存你喜歡的色票,而不是重新擲色

隨機色彩產生器本質上就是隨機的,這代表重新執行時幾乎不可能得到完全相同的一組結果。如果你產生了一批並決定保留它們,請在關閉產生器之前將數值複製到活頁簿中的一張「色彩庫」工作表。一張簡單的兩欄工作表(名稱、HEX)就能提供可重複使用的調色盤,日後可讓你的「設定格式化的條件」規則指向它。這與設計系統中「token」檔案的理念相同,只是將它放在 Excel 裡,與專案的其他部分放在一起。

對於需要協調一致的組合而非純隨機色票的專案,建議將「隨機色彩產生器」與 調色盤產生器 搭配使用:使用調色盤工具取得經過深思熟慮、和諧的基底色,再使用隨機工具取得強調色、焦點色或壓力測試用色票。這兩個工具都具有相同的「點擊即複製」行為,因此你可以快速地在兩者之間切換。

在 Excel 中產生隨機色彩的常見陷阱

最常見的錯誤,是誤以為單獨使用 RANDBETWEEN(0, 16777215) 就能產生可用的色彩。它會回傳一個十進位數字,雖然 Excel 可透過 DEC2HEX 函式將其格式化為十六進位,但結果是一個 Long 色彩值,而不是帶有 # 前綴的字串,而且在未經轉換的情況下貼到「色彩」對話框時,看起來會不正確。第二個常見問題是忘記 Excel 的標準調色盤僅包含 56 種主題色彩,加上你所新增的任何自訂色彩;如果你產生的十六進位值不在主題中,Excel 只有在透過「自訂」索引標籤輸入時才能正確顯示,而不是從色票格中挑選。

第三個陷阱是波動性:任何呼叫 RAND 或 RANDBETWEEN 的公式式作法,都會在工作表重新計算時再次運算,這代表你的色彩可能在每次儲存或排序時都會變動。如果你需要穩定的色彩,請使用工具產生一次,將 HEX 值以純文字貼到輔助欄位中,再讓你的「設定格式化的條件」規則參照這些靜態儲存格。

最後,如果你的色彩必須考量無障礙性(在所選的填滿上文字仍須清晰可讀),請先產生幾組候選色彩,並在定稿前使用 色彩對比檢查器 檢查每一組搭配。該檢查器會依據 WCAG AA 與 AAA 對比門檻評估任何一組搭配,這對於會被列印或與螢幕閱讀器使用者共享的內部試算表同樣重要。

何時應使用隨機色彩,何時應使用精選調色盤

隨機色彩並不總是正確的選擇。它適用於壓力測試「設定格式化的條件」規則、在資料集中突顯離群值,或在草稿型活頁簿中作為暫時的樣式。它較不適合用於面向客戶的報告,或任何會被列印、重視視覺一致性的內容。針對這些情況,建議先產生幾組隨機候選色彩來探索可能性,再切換到 調色盤產生器 來鎖定一組你真正想推出的協調組合。兩種方法相輔相成:隨機用於探索,調色盤用於定案。

Putting it all together

For most users, the practical workflow is short: open the Random Color Generator, set a count, click Generate, click to copy the swatch in whichever format your workflow expects, then paste it into Excel through Conditional Formatting, Paste Special, or a VBA RGB() call. The tool handles the randomness and the formatting; Excel handles the application. That division of labor keeps both pieces simple, and it is the fastest way to get verifiable random colors into a spreadsheet without writing a custom function or maintaining a personal color library by hand.

If you build out the color library approach mentioned earlier, you can also pull related palettes for design work, such as the techniques described in Generate Random Colors for Design Projects in One Click, and reuse the same HEX values across Excel, CSS, and image exports. Random colors become far more useful once they are documented rather than regenerated.

If you're weighing options, How to Generate Random Color in Flutter: Fast Methods covers this in detail.