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

求可跳过空白单元格的列相乘公式或VBA代码

实现指定单元格相乘并跳过空白单元格的Excel方案

Excel公式方案

数组公式(兼容全版本Excel)

输入以下公式后,按 Ctrl+Shift+Enter 组合键完成输入(旧版Excel必须用此方式,新版Excel也支持):

=PRODUCT(IF({A1,C1,E1,G1,I1,K1}<>"", {A1,C1,E1,G1,I1,K1}, 1))

逻辑:将指定单元格转为数组,把空白单元格替换为1(乘1不影响乘积结果),再用PRODUCT函数计算最终乘积。

动态数组公式(仅适用于Excel 365/2021及以上版本)

直接输入公式即可,无需按组合键:

=PRODUCT(IF({A1,C1,E1,G1,I1,K1}<>"", {A1,C1,E1,G1,I1,K1}, 1))

VBA自定义函数方案

如果需要更灵活的调用(比如批量处理或复杂单元格选择),可以用自定义函数:

  1. 按 Alt+F11 打开VBA编辑器
  2. 右键点击当前工作簿 → 插入 → 模块
  3. 粘贴以下代码:
Function MultiplyNonBlank(ParamArray rngs() As Variant) As Double
    Dim result As Double
    result = 1
    Dim cell As Variant
    Dim item As Variant
    
    For Each item In rngs
        If TypeName(item) = "Range" Then
            For Each cell In item
                If cell.Value <> "" And IsNumeric(cell.Value) Then
                    result = result * cell.Value
                End If
            Next cell
        Else
            If item <> "" And IsNumeric(item) Then
                result = result * item
            End If
        End If
    Next item
    
    MultiplyNonBlank = result
End Function

使用方式:在Excel单元格中输入 =MultiplyNonBlank(A1,C1,E1,G1,I1,K1),即可得到跳过空白后的乘积。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 15:10:22