如何用公式加辅助列(让隐藏的列34)

隐藏列,是我们经常使用的一项功能。但是大家有没有注意到一个问题,当我们把某一列隐藏了以后,在对某个区域的求和等操作时,隐藏的列仍然会参与计算。很多时候我们是不希望这样的,我们希望把某一列隐藏后,在汇总求和的时候就忽略该列的值,而没有必要更改求和公式的计算区域。我们还是以最常见的学生成绩的例子来讲解今天的内容。

如何用公式加辅助列(让隐藏的列34)(1)

以上成绩表,我们希望实现的效果是,在不更改G列总分的公式的前提下,比如当我们将历史和计算机成绩列隐藏的时候,总分就变成了求语文和数学列,如果我们取消隐藏,又会变成求所有列。效果如下:相信很多小伙伴看到这个要求,脑子中肯定会蹦出一个想法,我们能够用某个函数判断一列某一列是否被隐藏,然后返回一个值,然后在使用条件求和函数sumif不是就能实现这个功能了嘛。思路完全正确。那用什么函数可以实现呢?

如何用公式加辅助列(让隐藏的列34)(2)

一、神奇的cell函数

Cell是是EXCEL中的信息函数,返回有关单元格的格式、位置或内容的信息。

语法:=cell(Info_type,reference)

参数解释:

Info_type:为要返回的单元格信息类型,可以为如下参数。

如何用公式加辅助列(让隐藏的列34)(3)

reference:单元格引用。

请看下面的一个例子。

如何用公式加辅助列(让隐藏的列34)(4)

根据以上的介绍,我们可以使用cell中的width返回单元格的列宽,当该列被隐藏时,返回值为0。

二、sumif条件求和

语法:= SUMIF(range,criteria,sum_range)

参数解释:

Range:条件区域,用于条件判断的单元格区域。

Criteria:求和条件,由数字、逻辑表达式等组成的判定条件。

Sum_range:实际求和区域,需要求和的单元格、区域或引用。当省略该参数时,则条件区域就是实际求和区域。

三、案例实现

根据以上的介绍,我们需要将第二行设置为辅助行,用于返回列宽计算值,C2的公式为:

=CELL("width",C1)。

则总分列的计算公式为:

=SUMIF($C$2:$F$2,">0",C3:F3)。

如何用公式加辅助列(让隐藏的列34)(5)

当设置完成后,大家就会发现一个问题,当我们对某个列进行了隐藏或者取消隐藏时,总分的计算结果并不会发生改变,这到底是是什么原因呢?这是因为CELL虽然函数为"易失性"函数,但"隐藏"或"取消隐藏"命令不会引起其重算,因此需要手动按【F9】键或用其他方式刷新计算结果。

为了解决某些强迫症朋友的问题,我们可以使用VBA代码实现让某列隐藏后取消隐藏后自动进行计算。在本工作表中添加代码如下:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Calculate

End Sub

如何用公式加辅助列(让隐藏的列34)(6)

为了美观,我们可以将第二行的辅助行删除。

如果需要获取本教程的演示文件,请点击我名字后面的关注,然后私信【隐藏不计算】获取。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页