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

Excel宏需求:修改代码忽略X列空白或0值,避免返回YYY

修改后的VBA代码及说明

核心修改点

在原公式的两个SUMPRODUCT函数中添加--(X$8:X$#<>0)条件,该条件会同时排除X列的空白单元格(Excel默认将空白视为0)和值为0的单元格,确保这类行不会被纳入统计逻辑。

修改后的完整代码

Sub Macro()
   
Columns("G:G").NumberFormat = "General"
    
  Dim lr As Long  

  lr = Range("A" & Rows.Count).End(xlUp).Row

  With Range("K8:K" & lr)

    .Formula = Replace("=IF(SUMPRODUCT(--(TEXT(A$8:A$#,&quot;&quot;mmyy&quot;&quot;)=TEXT(A8,&quot;&quot;mmyy&quot;&quot;)),--(S$8:S$#=S8),--(X$8:X$#=X8),--(X$8:X$#<>0))" _
        & "=SUMPRODUCT(--(TEXT(A$8:A$#,&quot;&quot;mmyy&quot;&quot;)=TEXT(A8,&quot;&quot;mmyy&quot;&quot;)),--(S$8:S$#=S8),--(X$8:X$#<>0)),&quot;&quot;&quot;&quot;,&quot;&quot;YYY&quot;&quot;)", "#", lr)

    .Value = .Value

  End With

End Sub

逻辑说明

调整后的公式仅统计X列非空且值不为0的行:

  1. 第一个SUMPRODUCT统计同月份、同S列值、同X列值且X列非空非0的行数
  2. 第二个SUMPRODUCT统计同月份、同S列值且X列非空非0的总行数
  3. 当两者相等时返回空值,否则返回YYY,彻底忽略X列的空白和0值情况

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 21:45:28