You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel/Sheets技术求助:如何提取字符串中的颜色(Farve)

提取文本中颜色的解决方案

针对颜色名称长度不固定、无法准确定位起始/结束位置的问题,可根据文本结构选择以下方法:

一、颜色前后有固定标识(最常见场景)

如果颜色字段有明确的前缀(如“Farve: ”)或后缀分隔符(如|、逗号等),用REGEXEXTRACT正则提取是最优解,无需考虑颜色长度:

  • 示例1:颜色后有固定分隔符
    假设文本为 Produkt: Jakke | Farve: Mørk Grå | Størrelse: XL,提取颜色的公式:
    REGEXEXTRACT(A1, "Farve: (.*?) \|")
    
    其中(.*?)是非贪婪匹配,会精准提取“Farve: ”后到下一个|之间的内容。
  • 示例2:颜色在字段末尾
    假设文本为 Vare: T-Shirt - Farve: Lys Blå,提取颜色的公式:
    REGEXEXTRACT(A1, "Farve: (.*)$")
    
    $表示匹配到文本结尾,直接提取前缀后的所有内容。
  • 适配多分隔符场景
    如果颜色后的分隔符不固定(逗号、句号、竖线都有可能),可以扩展正则匹配范围:
    REGEXEXTRACT(A1, "Farve: (.*?)[,.|]")
    

二、文本中仅含一个颜色词(无固定标识)

如果文本里只有一个颜色词汇,其他内容为产品描述,可通过预设颜色词库匹配提取:

  • Google Sheets 公式:
    假设B1:B100是颜色词库(如Rød、Blå、Grå等),A1是目标文本单元格:
    =INDEX($B$1:$B$100, MATCH(TRUE, ISNUMBER(SEARCH($B$1:$B$100, A1)), 0))
    
  • Excel 公式:
    同样基于颜色词库color_list,使用XLOOKUP匹配:
    =XLOOKUP(TRUE, ISNUMBER(SEARCH(color_list, A1)), color_list, "Ingen farve fundet")
    

三、颜色带标准格式(如十六进制、RGB)

如果颜色以标准代码形式出现,可直接匹配格式提取:

  • 提取十六进制颜色:
    REGEXEXTRACT(A1, "#[0-9A-Fa-f]{6}")
    
  • 提取RGB格式颜色:
    REGEXEXTRACT(A1, "RGB\(\d{1,3},\d{1,3},\d{1,3}\)")
    

补充说明

  • 若文本含多个颜色,可结合ARRAYFORMULA(Google Sheets)或TEXTJOIN(Excel)批量提取所有匹配项;
  • 正则匹配时,注意区分大小写(如需忽略大小写,可在正则后加i参数,如REGEXEXTRACT(A1, "farve: (.*?) \|", "i"))。

内容的提问来源于stack exchange,提问作者Sebastian Moth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 05:30:53