我有一行,我想只对可见单元格求和,我知道它是否是一个列,我可以使用小计(109,范围),但是这一行似乎不适用于一行中的单元格。任何人都知道如何只连续可见单元格的总和?
答案 0 :(得分:2)
您可以检查单元格的宽度。
=IF(CELL("width",A1)=0,"hidden","open")
然后,您可以根据需要使用IF和CELL对您的单元格进行求和
=IF(CELL("width",A1)=0,0,A1)
答案 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。
此致