在一个ROW(不是列)中只汇总可见单元格?

时间:2017-05-19 15:54:16

标签: excel excel-formula aggregate subtotal

我有一行,我想只对可见单元格求和,我知道它是否是一个列,我可以使用小计(109,范围),但是这一行似乎不适用于一行中的单元格。任何人都知道如何只连续可见单元格的总和?

Please click here for picture

enter image description here

3 个答案:

答案 0 :(得分:2)

您可以检查单元格的宽度。

=IF(CELL("width",A1)=0,"hidden","open")

然后,您可以根据需要使用IF和CELL对您的单元格进行求和

=IF(CELL("width",A1)=0,0,A1)

以下更多信息: Ignoring a hidden column in an excel sum formula

答案 1 :(得分:2)

如果VBA解决方案没问题,这将有效:

Function sumVisible(rng As Range) As Double
Dim cel As Range
For Each cel In rng
    If cel.EntireColumn.Hidden = False Then
        sumVisible = sumVisible + cel.Value
    End If
Next cel
End Function

非常简单 - 只需检查您范围内的单元格是否有隐藏列,如果它可见,请将其加总。

=sumVisible(D2:M2)就是你如何使用它。

答案 2 :(得分:2)

您可以单独使用单个工作表公式来执行此操作,前提是保持未隐藏的列都不会具有小于或等于0.5的宽度(实际上,这将非常窄,以至于实际上隐藏在任何情况)。

假设范围为A1:E1

=SUMPRODUCT(0+(CELL("width",OFFSET(A1,,N(INDEX(COLUMN(A1:E1)-MIN(COLUMN(A1:E1)),,))))>0),A1:E1)

不幸的是,此公式不会自动更新,因为有关隐藏/取消隐藏范围内列的更改。因此,有必要重新提交'每当你在这方面做出改变时;一种方法是通过进入公式,就好像要编辑它,然后按ENTER重新发送。

也许有兴趣is this post

此致