如何在 Excel 中根據儲存格的字體顏色提取文字?
在 Excel 中,您可能會遇到儲存格內含有混合文字顏色的資料,例如部分字元或詞彙以紅色標示,用來強調重點或進行分類。舉例來說,某個儲存格可能同時包含一般文字與紅色文字,以突顯重要項目。此時,若能僅提取特定字體顏色(例如紅色)的文字,將對數據分析、報表製作或後續處理大有幫助—尤其是在您需要單獨擷取以字體顏色標註的關鍵資訊或註解時。
此任務無法直接透過 Excel 內建函數完成,因為標準公式無法偵測或針對字體顏色執行動作。因此,若您擁有如下方截圖所示的資料清單,且目標是僅從每個儲存格中提取紅色文字,可能會想了解有哪些實用方法能有效達成此目的。以下解決方案將詳細說明如何在 Excel 中根據字體顏色提取文字,讓您更輕鬆地管理、篩選並依需求靈活運用這類資料。

根據字體顏色從每個儲存格中提取文本
預設情況下,Excel 並未提供可直接根據儲存格字體顏色提取文字的內建函數,因此必須透過自訂 VBA 程式碼(使用者定義函數)來達成此目的。此方法適合熟悉 VBA、且需要以程式化方式從大量或複雜儲存格中提取彩色文字的使用者。其優點在於能靈活指定任意目標顏色;限制則是當字體色彩格式變更時,除非重新計算或重新套用該函數,否則結果不會自動更新。
請依照下列步驟建立並使用提取彩色文字的函數:
1. 同時按下 Alt + F11 鍵,即可開啟 Microsoft Visual Basic for Applications (VBA) 視窗。若您尚未啟用開發人員選項卡,也可在功能區上按一下滑鼠右鍵,選擇自訂功能區,並新增開發人員選項卡,日後存取更加便捷!
2. 在 VBA 視窗中,按一下插入> 模組,即可建立一個新模組,讓您貼上下列 VBA 程式碼。
VBA:根據字體顏色來提取文本
Function GetColorText(pRange As Range) As String
'UpdatebyExtendoffice20220621
Dim xOut As String
Dim xValue As String
Dim i As Long
Dim TextColor
TextColor = RGB(255, 0, 0) 'colorindex RGB
xValue = pRange.Text
For i = 1 To VBA.Len(xValue)
If pRange.Characters(i, 1).Font.Color = TextColor Then
xOut = xOut & VBA.Mid(xValue, i, 1)
End If
Next
GetColorText = xOut
End Function
3. 貼上程式碼後,請儲存變更並關閉 VBA 編輯器,然後返回 Excel 工作表。選取緊鄰資料清單的空白儲存格,並輸入下列公式:
=GetColorText(A1)
將 A1 替換為您要從中提取文字的特定儲存格參照。按下 Enter 執行函數,即可從所選儲存格中提取指定字型顏色(預設為紅色)的文字。若要將此提取功能套用至清單中的其他儲存格,請向下或向右拖曳所選儲存格右下角的填滿控點,覆蓋所需範圍即可!
現在,每個儲存格中的所有紅色文字都會自動提取並顯示在對應的公式儲存格中,讓您輕鬆高效地分離彩色文字,方便後續分析或呈現。

提示:在所提供的 VBA 程式碼中,程式碼行 TextColor = RGB(255,0,0) 決定了目標文字顏色(此處為紅色)。若您需要提取其他顏色的文字,請調整 RGB 值以符合您想要的字體顏色(例如藍色可使用 )TextColor = RGB(0,0,255))。
務必留意,此方法僅會提取儲存格中字體顏色與指定顏色完全一致的文本。若文字顏色雖為相近色調,但 RGB 值不完全相同,則可能無法被正確識別。如提取結果不符預期,請再次確認工作表中的字體顏色代碼。
若您遇到公式未傳回任何文字的問題,請確認 Excel 環境中已啟用巨集,並檢查字體顏色是否確實符合程式碼中設定的 RGB 值。請注意,此類使用者定義函數僅在您加入程式碼的工作簿中可用;若要於其他工作簿使用,必須將其儲存為增益集,或重新加入至對應的工作簿。

透過 KUTOOLS AI 解鎖 Excel 的神奇功能
- 智慧執行:透過簡易指令,輕鬆執行儲存格操作、分析資料,並建立圖表!
- 自訂公式:打造專屬公式,讓您的工作流程更順暢!
- VBA 編碼:輕鬆撰寫並套用 VBA 程式碼,立即提升工作效率!
- 公式解析:輕鬆掌握複雜公式!
- 文字翻譯:輕鬆打破試算表中的語言隔閡!
相關文章:
最佳 Office 生產力工具
| 🤖 | KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 高級 LOOKUP:多重條件 VLookup | 多重數值 VLookup | 跨多個工作表 VLookup | 模糊查找…… | |
| 高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位|移動欄位|切換隱藏欄位的可見狀態|比較範圍與欄位…… | |
| 精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)|……以及更多 |
運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……
Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!
- 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
- 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
- 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!
所有 Kutools 增益集,一個安裝程式
Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!
- 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
- 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
- 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
- 30 天完整功能試用— 無需註冊,無需信用卡
- 超值之選— 比單獨購買各增益集更省費用