【技巧分享】隐藏列求和「完整版」
创作者俱乐部成员
今日在工作时,遇到一个场景
❓ | 需要对隐藏列求和,常规情况下大多都是对隐藏行求和。 |
⬆️⬆️⬆️⬆️
Mac版
Windows版
⬇️⬇️⬇️⬇️
隐藏行求和常见的函数有SUBTOTAL(一参,数组)和AGGREGATE(一参,二参,数组)对于这两个函数的使用方法请大家搜索社区内其他老师的教学贴,这里就不水字数了。
但是
SUBTOTAL
当 一参 为从 1 到 11 的常数时,SUBTOTAL 函数将包括通过“隐藏行”命令所隐藏的行中的值。 当对列表中的隐藏和非隐藏数字进行分类汇总时,请使用这些常数。 当 一参 为从 101 到 111 的常数时,SUBTOTAL 函数将忽略通过“隐藏行”命令所隐藏的行中的值。 当只对列表中的非隐藏数字进行分类汇总时,请使用这些常数。
SUBTOTAL 函数忽略任何不包括在筛选结果中的行,不论 一参 使用什么值。
SUBTOTAL 函数适用于数据列或垂直区域。 不适用于数据行或水平区域。 例如,当 一参 大于或等于 101 时需要分类汇总某个水平区域时,例如 SUBTOTAL(109,B2:G2),则隐藏某一列不影响分类汇总。 但是隐藏分类汇总的垂直区域中的某一行就会对其产生影响。
AGGREGATE
AGGREGATE 函数设计用于数据列或垂直范围。 不适用于数据行或水平区域。 例如 AGGREGATE (1,1,数组)对水平范围进行分类汇总时,隐藏列不会影响总和值。 在垂直范围内隐藏行会影响聚合。
这两个优秀的函数只对隐藏行起作用,那么隐藏列怎么办呢?
解决方法
在社区中搜索到墨云轩老师的帖子(https://bbs.wps.cn/topic/22044)算是解了燃眉之急。
⬆️⬆️⬆️⬆️
Mac版
Windows版
⬇️⬇️⬇️⬇️
这篇帖子到这里就结束了么?
「完整版」
当然不会,要不这就妥妥的是水贴了,要不也不会写作「完整版」了,墨云轩老师的帖子介绍的很详细但并不完整,或许说是到了9月份来说显得不是那么完整。
因为我的表格需要发给不同的人群使用,这群人有使用WPS的,也有使用M365的,所以这个文件必须在Excel中通过测试。
⬆️⬆️⬆️⬆️
Mac版
Windows版
⬇️⬇️⬇️⬇️
在Excel中打开,傻眼了
⬆️⬆️⬆️⬆️
Mac版
Windows版
⬇️⬇️⬇️⬇️
怎么回事呢?
多方查找资料,最终确认Excel悄悄的对CELL函数升级了,将CELL函数中"width"参数的输出升级了,该参数返回数组。
⬆️⬆️⬆️⬆️
Mac版
Windows版
⬇️⬇️⬇️⬇️
找个空白表看看=CELL("width",D3)返回什么数组?
😱 | 悄悄的升个级,这个函数输出数组依然不是动态数组,需要使用F9刷新才能得到新结果,有什么意义? |
不管有没有意义,无论如何都要找办法将这个问题解决,这里可以使用TAKE函数。
这样公式在WPS中行得通,也兼容了Excel悄悄的升级小动作:
在解决问题的同时,我在想能不能不要辅助行?
使用=SUMPRODUCT((CELL("width",$C$3:$N$3>0)*(C4:N4))能否行得通?
Excel提示错误
WPS提示错误
这个想法似乎很有道理
但这个方法是不行的,因为CELL函数不支持对数组的引用,CELL函数只会对引用数组范围内左上角的单元格返回信息,即=CELL("width",D3:N33)只返回D3所在列的宽度,所以辅助行还是需要存在的,将其隐藏即可。
相信大家对CELL函数使用最多的还是CELL("filename"),关于其他参数的含义,从各种教学贴中都能获取使用方法,但具体的使用场景以后会写技巧分享给大家。
⬆︎⬆︎⬆︎⬆︎⬆以上这个列表是在Excel中截图的,在WPS中是没有相应的提示,所以在WPS中还需要大家凭借高超的记忆书写参数。︎
文尾
📌 | 结尾老规矩,文中示例文档:https://kdocs.cn/l/clTPhhE6YAs3 |
创作者俱乐部成员
创作者俱乐部成员
创作者俱乐部成员
创作者俱乐部成员