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

Excel超20万行扁平文件多条件计数:求公式/宏实现指导

针对大行数Excel多条件计数的解决方案

嘿,我太懂你面对20万行数据手动筛选的崩溃了——尤其是DCodiServ要选一堆代码的时候,手动点完全是浪费生命。下面给你两种实用的解决办法,公式和宏都有,你可以根据自己的习惯选:

一、公式解法(适合不想碰代码的朋友)

如果你的Excel是365/2021及以后的版本(支持动态数组),用COUNTIFS结合XMATCH的组合效率很高,完全能hold住20万行:

=COUNTIFS(A:A,106,B:B,"EV MEDICAL SERVICES 2019",ISNUMBER(XMATCH(C:C,$E$2:$E$1000,0)),TRUE)

给你拆解下:

  • A:A对应你的CodiAdmi列,B:B是DesCont列,C:C是DCodiServ列,记得换成你实际的列标
  • $E$2:$E$1000是你存指定DCodiServ代码的列表区域,改成你自己的范围就行
  • XMATCH会挨个检查C列的值是否在代码列表里,ISNUMBER把匹配结果转成TRUE/FALSE,最后COUNTIFS统计同时满足三个条件的行数

要是你用的是旧版Excel(不支持动态数组),就用SUMPRODUCT,虽然速度稍慢,但20万行也能应付:

=SUMPRODUCT((A:A=106)*(B:B="EV MEDICAL SERVICES 2019")*(ISNUMBER(MATCH(C:C,$E$2:$E$1000,0))))

⚠️ 小提醒:尽量别用整列(比如A:A),改成实际的数据范围(比如A2:A200001),能大幅提升计算速度,减少卡顿。

二、VBA宏解法(适合经常重复统计的情况)

如果需要频繁做这类统计,写个宏会更省心,步骤超简单:

  1. 按Alt+F11打开VBA编辑器
  2. 右键你的工作簿→插入→模块,新建一个空模块
  3. 把下面的代码粘贴进去:
Sub CountMultiConditions()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim criteriaRange As Range
    Dim countResult As Long
    Dim i As Long
    
    ' 修改成你实际的工作表名称
    Set ws = ThisWorkbook.Worksheets("Sheet1")
    ' 自动获取数据的最后一行(不用手动数行数)
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    ' 修改成你存放指定DCodiServ代码的区域
    Set criteriaRange = ws.Range("E2:E1000")
    
    countResult = 0
    
    ' 从第二行开始遍历数据(假设第一行是表头)
    For i = 2 To lastRow
        ' 同时检查三个条件
        If ws.Cells(i, "A").Value = 106 _
           And ws.Cells(i, "B").Value = "EV MEDICAL SERVICES 2019" _
           And Not IsError(Application.Match(ws.Cells(i, "C").Value, criteriaRange, 0)) Then
            countResult = countResult + 1
        End If
    Next i
    
    ' 弹出统计结果,也可以改成写入单元格,比如 ws.Range("G1").Value = countResult
    MsgBox "符合条件的行数为:" & countResult, vbInformation, "统计完成"
End Sub

宏的使用说明:

  • 把代码里的Sheet1改成你的工作表名称,E2:E1000改成代码列表的实际区域
  • 运行宏:按F5,或者回到Excel,点「开发工具」→「宏」→选择CountMultiConditions执行
  • 要是不想弹窗显示结果,把MsgBox那行换成ws.Range("G1").Value = countResult,结果就会写到G1单元格里

额外小贴士

  • 20万行数据推荐用Excel 365的动态数组公式,计算速度比旧版公式快很多
  • 运行宏前记得保存文件,避免意外丢失数据
  • 可以把数据区域转成Excel表(按Ctrl+T),这样后续数据更新时,公式和宏都能自动适配新的行数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:31:54