在Excel公式中忽略隐藏的表格行

晚上好。

我想让我的公式忽略过滤表中的隐藏行。 我已经尝试了一些这里显示的技巧,但是我还没有成功。

我从BigFix(networkingpipe理工具)获得的CSV如下所示: [表]

应用程序列列出了同一单元中的应用程序。 因此,当我做一个计数函数来识别问题时,我必须使用通配符(我正在search不同的选项卡中的结果)。

在这里输入图像说明

=COUNTIF('Input Data'!C:C,"*"&Results!A2&"*") 

我希望能够过滤第一个选项卡上的表格,并在第二个选项卡上准确显示公式结果。

有任何想法吗?

更新:我觉得更多的信息将有所帮助。 我希望“结果”选项卡自动更新的原因是我计划从该选项卡上的信息构build图表。 我希望能够在“input数据”中过滤表格,只包含部门A,并将graphics自动更新到部门A的信息。

我正在使用的excel文件有多达一千个条目,并且我正在试图获得我可以复制/粘贴到尽可能有效的演示文稿的图表。

 =SUMPRODUCT(SUBTOTAL(3,OFFSET('Input Data'!C:C,ROW('Input Data'!C:C)-MIN(ROW('Input Data'!C:C)),,1))*(ISNUMBER(SEARCH(A2,'Input Data'!C:C)))) 

在上面的公式中将C:C限制为实际数据范围,或使用命名范围来标识实际数据范围。

编辑

上面的配方应该用吉普指出的103代替3代替

 =SUMPRODUCT(SUBTOTAL(103,OFFSET('Input Data'!C:C,ROW('Input Data'!C:C)-MIN(ROW('Input Data'!C:C)),,1))*(ISNUMBER(SEARCH(A2,'Input Data'!C:C)))) 

在上面的公式中将C:C限制为实际数据范围,或使用命名范围来标识实际数据范围。

根据OP的请求添加说明。

在上面的公式中使用Sumproduct()小计()Offset()Min()Row()IsNumber()Search()函数组合来达到预期的结果。

Row() – 将得到给定范围的行号

Min() – 将获得给定数字的最小值

Offset() – 用于将引用redirect到给定范围的每个单元格。

小计() – 用于查找redirect引用的(未)隐藏状态。

search() – 用于查找给定范围内的特定文本(不区分大小写)将导致数字或错误。

IsNumber()用于检查search是否返回Number或者错误。 所以Isnumber将返回布尔值True / False。

列-C 列-D

过滤数据

一个1

b 1

一个1

a2

a2

以上数据从第一行开始,第一行包含标题。 假设我用D过滤了D列。使用下面的公式将导致2。

= SUMPRODUCT(SUBTOTAL(103,OFFSET('Input Data'!C2:C6,ROW('Input Data'!C2:C6)-MIN(ROW('Input Data'!C2:C6)),, 1))* (ISNUMBER(SEARCH(“a”,“Input Data”!C2:C6))))

ROW('Input Data'!C2:C6)= {2; 3; 4; 5; 6}

MIN(ROW('Input Data'!C2:C6))= 2

ROW('Input Data'!C2:C6)-MIN(ROW('Input Data'!C2:C6)) 应该被读为 {2; 3; 4; 5; 6} -2 = {0; 1; 2 ; 3; 4}

(input数据)!C2:C6,ROW('Input Data'!C2:C6)-MIN(ROW('Input Data'!C2:C6)),1)='Input Data'!C2'input数据'!C3,'input数据'!C4,'input数据'!C5,'input数据'!C6

SUBTOTAL(103,OFFSET('Input Data'!C2:C6,ROW('Input Data'!C2:C6)-MIN(ROW('Input Data'!C2:C6)),, 1)) 应被读为

小数(103,“input数据”!C2,“input数据”!C3,“input数据”!C4,“input数据”!C5,“input数据”!C6)= {1; 1; 1; 0; 0 }小计()到达每个(单元格)引用的可见状态。

SEARCH(“a”,“input数据”!C2:C6)= {1; #VALUE!; 1; 1; 1}

ISNUMBER(SEARCH(“a”,“Input Data”!C2:C6)) 应该被读为 ISNUMBER({1; #VALUE!; 1; 1; 1})= {TRUE; FALSE; TRUE; TRUE; TRUE}

(103,OFFSET('Input Data'!C2:C6,ROW('Input Data'!C2:C6)-MIN(ROW('Input Data'!C2:C6)),1))= {1; 1; 1; 0; 0}

(ISNUMBER(SEARCH(“a”,'Input Data'!C2:C6)))= {TRUE; FALSE; TRUE; TRUE; TRUE}

{1; 1; 1; 0; 0} * {TRUE; FALSE; TRUE; TRUE; TRUE} = {1; 0; 1; 0; 0}

SUMPRODUCT({1; 0; 1; 0; 0})= 2

使用Sumproduct()来避免数组入口,也做数组公式的任务(循环遍历单元格范围)和Sumproduct()将导致传递值的总和。

不是过滤源数据,而是使用Countifs函数并将过滤条件添加到Countifs。