繁体   English   中英

Excel:如何在筛选的“命名范围”中计算TRUE

[英]Excel: How to Count TRUE in Filtered “Named Ranges”

经过长时间的搜索,我还没有找到答案。 我觉得我是在提出不同寻常的问题,例如“您如何计算独角兽?”

所以就这样:

您如何在Excel中...计算已过滤“命名范围”中TRUE单元的数量?

我发现可以指定A2:A100之类的列-行索引的方法。

=SUMPRODUCT(SUBTOTAL(3,OFFSET(A2:A100,ROW(A2:A100)-MIN(ROW(A2:A100)),,1)), --(A2:A100=TRUE))

那对我不起作用。 得到了命名范围。 我也不能使用帮助器列。 我宁愿不使用VBA。 还有...还有一些其他的魔术要求:我命名的范围是整个列,标题和所有内容。 仍可与SUBTOTAL一起使用。

您正在使用哪个版本的Excel? 在2013年,我能够使这项工作正常进行。

我用50个TRUE和49个FALSE值填充了A2:A100,并用99个RAND()值填充了B2:B100。 然后,我对B列中的各种数字过滤器进行了过滤,以下所有公式均正常工作,仅对A列中可见的TRUE值进行计数。

示例1:原始公式

=SUMPRODUCT(SUBTOTAL(3,OFFSET(A2:A100,ROW(A2:A100)-MIN(ROW(A2:A100)),,1)), --(A2:A100=TRUE))

示例2:非动态精确命名范围

范围名为“ NonDynamic”,并设置为:

=Sheet1!$A$2:$A$100

式:

=SUMPRODUCT(SUBTOTAL(3,OFFSET(NonDynamic,ROW(NonDynamic)-MIN(ROW(NonDynamic)),,1)), --(NonDynamic=TRUE))

示例3:动态命名范围

范围名为“动态”,并设置为:

=OFFSET(Sheet1!$A$1,1,0,COUNTA(Sheet1!$A:$A)-1)

式:

=SUMPRODUCT(SUBTOTAL(3,OFFSET(Dynamic,ROW(Dynamic)-MIN(ROW(Dynamic)),,1)), --(Dynamic=TRUE))

注意:动态命名范围是否适合您? 它们通常比引用整个列要有效得多,尤其是如果在数据的第一行和最后一行之间的列中没有空白值的情况下。

示例4:整个列的非动态命名范围

范围名为“ WholeColumn”,并设置为:

=Sheet1!$A:$A

式:

=SUMPRODUCT(SUBTOTAL(3,OFFSET(WholeColumn,ROW(WholeColumn)-MIN(ROW(WholeColumn)),,1)), --(WholeColumn=TRUE))

所有四个示例在Excel 2013中产生的结果完全相同。例如,我对B列> 0.5进行了过滤; 剩下的26个TRUE值总共可见50个。 所有四个公式从50变为26。

暂无
暂无

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

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