有一张流水表,比如:C列是姓名,E列是收入或者支出,F列是余额。这样排列下来的表格,在余额栏是即时的全部余额,比如在F5输入的公式为:=F4+E5。如果在自动筛选时,比如只选取“张三”,然后在余额栏显示的是他的即时余额呢?
希望达到以上效果,请各位指教。
一、这要用到SUBTOTAL函数。
比如要计算筛选后A列可见单元格的数字和值,则公式可以写成
=SUBTOTAL(109,A:A)
二、SUBTOTAL函数的定义:
返回列表或数据库中的分类汇总。通常,使用“数据”菜单中的“分类汇总”命令可以容易地创建带有分类汇总的列表。一旦创建了分类汇总,就可以通过编辑 SUBTOTAL 函数对该列表进行修改。
语法
SUBTOTAL(function_num, ref1, ref2, ...)
Function_num 为 1 到 11(包含隐藏值)或 101 到 111(忽略隐藏值)之间的数字,指定使用何种函数在列表中进行分类汇总计算。
Ref1, ref2, 为要进行分类汇总计算的 1 到 29 个区域或引用。
说明
如果在 ref1, ref2,… 中有其他的分类汇总(嵌套分类汇总),将忽略这些嵌套分类汇总,以避免重复计算。
当 function_num 为从 1 到 11 的常数时,SUBTOTAL 函数将包括通过“格式”菜单的“行”子菜单下面的“隐藏”命令所隐藏的行中的值。当您要分类汇总列表中的隐藏和非隐藏值时,请使用这些常数。当 function_num 为从 101 到 111 的常数时,SUBTOTAL 函数将忽略通过“格式”菜单的“行”子菜单下面的“隐藏”命令所隐藏的行中的值。当您只分类汇总列表中的非隐藏数字时,使用这些常数。
SUBTOTAL 函数忽略任何不包括在筛选结果中的行,不论使用什么 function_num 值。
SUBTOTAL 函数适用于数据列或垂直区域。不适用于数据行或水平区域。例如,当 function_num 大于或等于 101 时需要分类汇总某个水平区域时,例如 SUBTOTAL(109,B2:G2),则隐藏某一列不影响分类汇总。但是隐藏分类汇总的垂直区域中的某一行就会对其产生影响。
如果所指定的某一引用为三维引用,函数 SUBTOTAL 将返回错误值 #VALUE!。
我不是要最后的答案,我是要流水表,是几个混记的。然后希望在筛选状态下能看出每一个人的收支状况和余额,不是最终的余额,而是每一笔的明细。也就是说在不筛选的状态下,能看出整个的明细,而在筛选的状态下,能看出每个人的明细。
追答INDEX函数即可
追问举例说吧,F5和F9单元格,没筛选的情况下,F5它的值为F4+E5,F9的值为F8+E9。筛选后,F5上面的一格是F2,我希望在F5单元格的值为F2+E5。F9上面的一格是F5,我希望这的值是F5+E9。
追答根据图片,用INDEX函数
不需要筛选
看下动画,如果是你需要的,发你实际的表
306212368
不好意思,按你这种做法,最后得出的张三的流水表结果是错误的。你G列结果是C列中张三消费后的结果 而这个结果是是张三、李四同时消费的结果,我需要的是在筛选状态下,张三单独的结果。
追答这个就是张三所有的结果,实在不明白你的意思
你图中G列 最后的张三 -3 198 ,198是怎么来的?