求助:Google Sheet中基于日期筛选后仅统计可见行内Buy和Sell数量的公式修正
解决筛选后可见行的Buy/Sell统计问题
你的思路方向是对的,但问题出在SUBTOTAL的参数选择上:原公式里用的参数9会统计所有行(包括被筛选隐藏的行),而我们需要只统计可见行,应该用参数109(对应忽略隐藏行的求和逻辑)。
修正后的公式(统计可见行的"Buy"数量):
=SUMPRODUCT(SUBTOTAL(109,OFFSET(E4,ROW(E4:E100)-ROW(E4),,1)),--(E4:E100="Buy"))
统计可见行的"Sell"数量只需替换条件:
=SUMPRODUCT(SUBTOTAL(109,OFFSET(E4,ROW(E4:E100)-ROW(E4),,1)),--(E4:E100="Sell"))
公式逻辑拆解:
OFFSET(E4,ROW(E4:E100)-ROW(E4),,1):逐个定位E列从E4到E100的每一行单元格,生成单个单元格的引用区域,让SUBTOTAL能逐行判断是否可见。SUBTOTAL(109,...):对每个单个单元格进行求和(单个单元格求和就是它本身的值),但如果该行被筛选隐藏,会返回0。--(E4:E100="Buy"):把符合条件的单元格转为1,不符合的转为0,实现条件判断的数值化。SUMPRODUCT:将前两部分的结果相乘后求和,最终得到可见行中符合条件的数量。
如果你的表格行范围不是E4:E100,只需要把公式里的范围对应替换成实际数据范围即可。
内容的提问来源于stack exchange,提问作者Deyaa
相关产品推荐
相关产品推荐

