【问题标题】:Sum of every 4th column in a row in Excel to end of rowExcel中每行中每4列的总和到行尾
【发布时间】:2020-07-22 14:34:50
【问题描述】:

我有一个 VBA 代码,每次在工作簿中添加新工作表时,它都会添加 4 个新列(已用数量、已报废或无账单、已开票、收入)。我需要创建一个公式,它将从 S 列开始到行尾的每 4 列加在一起,因为最后一列总是在变化。下面是我创建的公式,但我得到了#VALUE!。有人可以帮忙吗。下面是示例工作表的链接。

=SUMPRODUCT((MOD(COLUMN($S13:$XN13)-0,4)=0)*($S13:$XN13))

https://drive.google.com/file/d/1m_aZJyUdShydn53Puvb2G38g5C1YCvCJ/view?usp=sharing

【问题讨论】:

    标签: excel excel-formula excel-2016 sumproduct


    【解决方案1】:

    可能是这样的(数组公式,所以 Ctrl + Shift + Enter):

    =SUM(IF(MOD(COLUMN($S$13:$XN$13),4)=0,$S$13:XN13,""))
    

    我无法更改您的数组公式,因此在图片中我选择了第 71 行。

    此公式有效,但它假定您正在检查的行中没有空单元格(数组公式,因此 Ctrl + Shift + Enter)。

    =SUMPRODUCT((MOD(COLUMN($S13:$XN13)-0,4)=0)*($S13:$XN13))
    


    这两个公式都假定您的周数据中没有任何 #VALUE 或 #N/A 值(即$S13:$XN13 范围内没有错误值)。


    对于其他列,更改 MOD 的集群编号,explanation

    所以对于 SUM 列 G,我们将 =0 更改为 =3

    =SUM(IF(MOD(COLUMN($S$13:$XN$13),4)=3,$S$13:XN13,""))
    

    H 列

    =SUM(IF(MOD(COLUMN($S$13:$XN$13),4)=1,$S$13:XN13,""))
    

    J 栏

    =SUM(IF(MOD(COLUMN($S$71:$XN$71),4)=2,$S$71:XN71,""))
    

    【讨论】:

    • 第一个有效,但是如何为 G、H 和 J 列复制它?我会调整哪个数字。 =SUM(IF(MOD(COLUMN($S$13:$XN$13),4)=0,$S$13:XN13,"")) F 列是所有“工时”的总和 G 列是总和所有“安装数量”列 H 是所有“发票”列的总和 J 列是所有“收入”的总和
    • 我相信我发现它是我调整的“=0”吗?
    • 没错!!是=0,因为它调整了应该是总和的组的集群中的位置。如果您还有其他问题,请随时询问:)!
    • 完美!感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2022-12-03
    • 2014-03-05
    • 2023-01-16
    • 1970-01-01
    • 2021-05-13
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    相关资源
    最近更新 更多