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

如何统计筛选状态下列中以DOT或PRO开头的唯一名称数量

实现方案

以下所有方案均自动适配任意列的筛选条件,调整公式内的范围参数即可匹配你的实际表格结构。假设你要统计的目标列范围为A2:A100,可按需替换为实际数据范围。

Excel 公式方案

Excel 365 / 2021 及以上版本

统计以PRO开头的唯一可见值总数:

=SUM(--(LEN(UNIQUE(FILTER(A2:A100, (LEFT(A2:A100,3)="PRO")*(SUBTOTAL(103,OFFSET(A2:A100,ROW(A2:A100)-MIN(ROW(A2:A100)),0,1))>0))))>0)

统计以DOT开头的唯一可见值总数,只需把公式内的"PRO"替换为"DOT"即可。

公式原理:先用SUBTOTAL判断行是否可见,再通过FILTER筛选符合前缀要求的可见内容,UNIQUE去重后统计有效结果数量。如果不需要忽略手动隐藏的行,把SUBTOTAL的第一个参数103改为3即可。

旧版 Excel(无FILTER/UNIQUE函数)

使用数组公式,输入完成后需要按Ctrl+Shift+Enter确认生效:
统计以PRO开头的唯一可见值总数:

=SUM(IF(FREQUENCY(IF(SUBTOTAL(103,OFFSET(A2:A100,ROW(A2:A100)-ROW(A2),0,1)),IF(LEFT(A2:A100,3)="PRO",MATCH(A2:A100,A2:A100,0))),ROW(A2:A100)-ROW(A2)+1),1))

统计以DOT开头的唯一可见值总数,同样替换公式内的"PRO"为"DOT"即可。

VBA 自定义函数方案

适合频繁使用该统计需求的场景,不受Excel版本限制,调用更简单:

  1. 按Alt+F11打开VBA编辑器,插入模块,粘贴以下代码:
Function CountUniqueVisiblePrefix(rng As Range, prefix As String) As Long
    Dim dict As Object
    Set dict = CreateObject("Scripting.Dictionary")
    Dim cell As Range
    For Each cell In rng
        ' 跳过隐藏行和空单元格
        If Not cell.EntireRow.Hidden And cell.Value <> "" Then
            ' 不区分大小写匹配前缀
            If Left(UCase(cell.Value), Len(prefix)) = UCase(prefix) Then
                If Not dict.exists(cell.Value) Then
                    dict.Add cell.Value, 1
                End If
            End If
        End If
    Next cell
    CountUniqueVisiblePrefix = dict.Count
End Function
  1. 回到表格直接调用函数即可:
    • 统计PRO前缀:=CountUniqueVisiblePrefix(A2:A100, "PRO")
    • 统计DOT前缀:=CountUniqueVisiblePrefix(A2:A100, "DOT")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 14:15:00