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

Excel中按Worker组统计Task列加粗单元格数量的实现方法

按Worker组统计Task列加粗单元格数量的VBA实现

调整后的VBA函数

Function CountBoldByWorker(targetWorker As Variant, dataRange As Range) As Long
    Dim row As Range
    Dim workerCol As Range
    Dim taskCol As Range
    
    ' 遍历数据区域的每一行
    For Each row In dataRange.Rows
        ' 取当前行的Worker列(数据区域第1列)和Task列(数据区域第2列)
        Set workerCol = row.Cells(1)
        Set taskCol = row.Cells(2)
        
        ' 判断Worker匹配且Task单元格加粗
        If workerCol.Value = targetWorker And taskCol.Font.Bold Then
            CountBoldByWorker = CountBoldByWorker + 1
        End If
    Next row
End Function

函数说明

  • 参数含义:
    • targetWorker:要统计的目标Worker名称(比如"张三")
    • dataRange:包含Worker列和Task列的数据区域(需确保区域第1列是Worker,第2列是Task,比如A2:B10)
  • 逻辑:逐行检查数据区域,当该行Worker值与目标匹配,且对应Task单元格字体加粗时,计数累加

使用示例

假设你的Worker列在A列,Task列在B列,数据从第2行开始到第10行,要统计Worker"张三"的加粗Task数量,在单元格中输入:

=CountBoldByWorker("张三", A2:B10)

可选优化(按需调整)

如果需要忽略Worker名称的大小写差异,可以把判断条件改成:

If StrComp(workerCol.Value, targetWorker, vbTextCompare) = 0 And taskCol.Font.Bold Then

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 20:39:19