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

Excel中根据单元格颜色匹配值并返回列标题的公式求助

根据单元格填充色返回对应分组的解决方案

方法1:VBA自定义函数(全Excel版本通用)

Excel内置公式无法直接读取单元格填充色,需通过自定义函数实现颜色匹配:

  1. 按Alt + F11打开VBA编辑器
  2. 右键左侧工作簿名称,选择「插入」→「模块」
  3. 在模块窗口粘贴以下代码:
Function GetColorGroup(cell As Range, colorMap As Range) As String
    Dim cellColor As Long
    Dim rowNum As Integer
    cellColor = cell.Interior.Color
    ' 遍历颜色映射表查找匹配项
    For rowNum = 1 To colorMap.Rows.Count
        If colorMap.Cells(rowNum, 1).Interior.Color = cellColor Then
            GetColorGroup = colorMap.Cells(rowNum, 2).Value
            Exit Function
        End If
    Next rowNum
    ' 未找到匹配颜色时返回NotFind
    GetColorGroup = "NotFind"
End Function
  1. 返回Excel界面,在H2单元格输入公式:=GetColorGroup(G2, $A$2:$B$4)
    • 其中$A$2:$B$4为颜色映射区域(A列存放带目标颜色的单元格,B列对应分组名称,比如A2是红色单元格,B2填Group3)

方法2:GET.CELL宏表函数(需启用宏)

不想写VBA的话,可通过宏表函数获取颜色编码,再结合VLOOKUP匹配:

  1. 点击「公式」选项卡→「定义名称」,名称设为CellColor,引用位置输入:=GET.CELL(63, Sheet1!G2)(将Sheet1替换为你的工作表名称)
  2. 准备颜色映射表:C列存放颜色编码值(比如在C2输入=CellColor,选中红色单元格后复制数值),D列对应分组名称(D2填Group3)
  3. 在H2输入公式:=IFERROR(VLOOKUP(CellColor, $C$2:$D$4, 2, FALSE), "NotFind")

注意事项

  • 两种方法均需工作簿启用宏,保存时选择.xlsm格式
  • GET.CELL返回的是Excel内部RGB颜色编码,比如纯红色对应数值255

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 18:12:42