繁体   English   中英

如何在excel中动态使用基于过滤器的公式?

[英]How to dynamically use the formula based on filter in excel?

我很难在不使用SUM函数的情况下弄清楚如何获得总值。

例:

在此输入图像描述

我可以使用SUM函数获得SumSQ的总值,就像我在图像中所做的那样。

预期值为:30323295

SumSQ公式:SumSQ =(SD ^ 2 *计数*(计数-1)+(SumX ^ 2))/计数

在excel中:SumSQ =(SUMSQ(D3)* B3 *(B3-1)+(SUMSQ(C3)))/ B3

请注意,SumSQ是一种辅助列。

我想要的是避免使用辅助列,在本例中为SumSQ。 但我仍然希望得到总值30323295。

所以基本上这是没有过滤器的样子:

在此输入图像描述

Total SumSQ的公式:SumSQ =(total_SD ^ 2 * total_count *(total_count - 1)+(total_SumX ^ 2))/ total_count

请注意,这必须是基于A列过滤器的动态。

PC_Number中带过滤器的示例:

在此输入图像描述

这意味着它应该只计算基于过滤器的可见内容。

我已经尝试使用添加了OFFSET(),MIN()和ROW()的SUBTOTAL()函数,但它不会像我想要的那样工作。

这是我现在拥有的:

--start

=SUMPRODUCT(((SUBTOTAL(9,OFFSET(U5:U256,ROW(U5:U256)-MIN(ROW(U5:U256)),,1))^2)*SUBTOTAL(9,OFFSET(M5:M256,ROW(M5:M256)-MIN(ROW(M5:M256)),,1))*(SUBTOTAL(9,OFFSET(M5:M256,ROW(M5:M256)-MIN(ROW(M5:M256)),,1))-1)+((SUBTOTAL(9,OFFSET(Q5:Q256,ROW(Q5:Q256)-MIN(ROW(Q5:Q256)),,1))*SUBTOTAL(9,OFFSET(M5:M256,ROW(M5:M256)-MIN(ROW(M5:M256)),,1)))^2))/SUBTOTAL(9,OFFSET(M5:M256,ROW(M5:M256)-MIN(ROW(M5:M256)),,1)))

--end

这是使用我具有的公式的输出:

在此输入图像描述

这对总价值有很大影响。

不确定我解释得很好,但这是它的要点。

你需要使用数组公式,我不相信你可以使用SUMSQ() 以下产生了预期的结果。 请不要使用Shift + Ctrl + Enter

{=SUM(((D3:D9)^2 * (B3:B9)*((B3:B9)-1)+((C3:C9)^2))/B3:B9)}

正常公式,而不是数组公式,只使用SumProduct

=SUMPRODUCT((D3:D9*D3:D9*B3:B9*(B3:B9-1)+(C3:C9*C3:C9))/B3:B9)

要么

=SUMPRODUCT((D3:D9^2*B3:B9*(B3:B9-1)+(C3:C9^2))/B3:B9)

编辑1:过滤

要按column A添加一些过滤,假设您必须按A1输入的值进行过滤:

=SUMPRODUCT((A3:A9 = $A$1)*((D3:D9^2*B3:B9*(B3:B9-1)+(C3:C9^2))/B3:B9))

编辑2:为了使过滤可选,下一个公式应用过滤, 除非 A1为空,在这种情况下它占所有行:

=SUMPRODUCT((A3:A9=IF(ISBLANK(A1),A3:A9,A1))*((D3:D9^2*B3:B9*(B3:B9-1)+(C3:C9^2))/B3:B9)) 

编辑3:仅考虑可见(未过滤)的行:

=SUMPRODUCT(SUBTOTAL(2, OFFSET(B1, ROW(B3:B9)-1,0))*((D3:D9^2*B3:B9*(B3:B9-1)+C3:C9^2)/B3:B9))

想法是如果单元格可见(隐藏),则单个和数字单元格上的subtotal(2)返回1(0)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM