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

基于指定前缀文本统计多列行数的DAX函数使用问题

多列匹配统计解决方案

问题回顾

需要统计表格中任意一个「Linked Issues」系列列存在以THGRW-开头内容的行数,此前用单列COUNTROWS(FILTER('Sheet1', 'Sheet1'[Linked Issues.1] >= "THGRW-000"))无结果,且原计划用多列COUNTROWS累加会导致同一行重复计数。

单列公式失效原因

  • 用>= "THGRW-000"的字符串比较逻辑不准确:仅匹配字典序大于等于该值的内容,无法识别单元格内包含THGRW-的多Issue内容(如多Issue用逗号分隔的格式)
  • 空值或非THGRW-开头的内容会直接被过滤,导致返回0

正确多列统计公式(避免重复计数)

方案1:匹配包含THGRW-的内容(兼容多Issue单元格)

用CONTAINSSTRING判断列中是否包含目标前缀,通过||(逻辑或)实现任意一列满足即统计该行:

Episode without SM = 
COUNTROWS(
    FILTER(
        'Sheet1',
        CONTAINSSTRING('Sheet1'[Linked Issues.1], "THGRW-") ||
        CONTAINSSTRING('Sheet1'[Linked Issues.2], "THGRW-") ||
        CONTAINSSTRING('Sheet1'[Linked Issues.3], "THGRW-") ||
        CONTAINSSTRING('Sheet1'[Linked Issues.4], "THGRW-") ||
        CONTAINSSTRING('Sheet1'[Linked Issues.5], "THGRW-") ||
        CONTAINSSTRING('Sheet1'[Linked Issues.6], "THGRW-") ||
        CONTAINSSTRING('Sheet1'[Linked Issues.7], "THGRW-") ||
        CONTAINSSTRING('Sheet1'[Linked Issues.8], "THGRW-")
    )
)

方案2:严格匹配以THGRW-开头的内容

如果需要仅统计列内容**开头就是THGRW-**的行,用LEFT函数结合空值判断避免错误:

Episode without SM = 
COUNTROWS(
    FILTER(
        'Sheet1',
        (NOT(ISBLANK('Sheet1'[Linked Issues.1])) && LEFT('Sheet1'[Linked Issues.1], 6) = "THGRW-") ||
        (NOT(ISBLANK('Sheet1'[Linked Issues.2])) && LEFT('Sheet1'[Linked Issues.2], 6) = "THGRW-") ||
        // 依次复制剩余6列的判断逻辑
        (NOT(ISBLANK('Sheet1'[Linked Issues.8])) && LEFT('Sheet1'[Linked Issues.8], 6) = "THGRW-")
    )
)

注意事项

  • 禁止用多个COUNTROWS累加的方式,否则同一行若多列符合条件会被重复统计
  • 如果表格列名有变动,需同步修改公式中的列引用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 14:02:32