2017-07-03 925 views
0

我需要一个Excel公式,它将选择包含某个关键字的所有行,然后返回这些行的数据透视表或将它们复制到工作簿中的另一个工作表。我不能使用VBA或过滤器,它必须用Excel功能来完成。如果它可以搜索多个工作表,它也会很有帮助。如何使用excel公式返回包含特定值的所有行

这是我迄今为止

=INDEX($A$2:$B$29,SMALL(IF($B$2:$B$29=$G$2,ROW($B$2:$B$29)),ROW(1:1))-1,1) 

但只返回匹配,而不是整个行,而不是作为一个数据透视表的行返回一个值。

+0

请让你的第一步前进,你有多远 – Abra001

+0

我一直在使用这个= INDEX($ A $ 2:$ B $ 29,小(如果($ B $ 2:$ B $ 29 = $ G $ 2,ROW ($ B $ 2:$ B $ 29)),ROW(1:1)) - 1,1),但它只返回一个值,我需要的是返回整行。 –

+0

好吧,等待我开启窗户 – Abra001

回答

0

我想我找到了关于这两种可能性的解决方案:

考虑您的数据通过表的列A 1

  • seached之间不叠音值被存放,这意味着没有两个可以找到相同的出现:

您应该为此创建一个新工作表,然后复制案例A1中的值0,然后将此行复制到同一列的其他行中。

=IFERROR(INDIRECT("Sheet1!$A"&MATCH("*a*";INDIRECT("Sheet1!"&ADDRESS(IF(ISNUMBER(A1);A1;MATCH(A1;Sheet1!$A$1:A100;0))+1;1;1;1)):Sheet1!A100;0)+IF(ISNUMBER(A1);A1;MATCH(A1;Sheet1!$A$1:Sheet1!A100;0)));"") 
  • 值搜索之间包含重复:

A1

=IFERROR(MATCH("*a*";INDIRECT("Sheet1!"&ADDRESS(A1+1;1)):Sheet1!A100;0)+A1;"") 

然后复制这个拷贝通过A2 -> A100和0整个B2 -> B100

=IFERROR(INDIRECT("Sheet1!"&ADDRESS(A2;1));"") 

自动A1A2应该分别增加实际行,也有办法压缩(或连接)一个完整的单元格内的所有结果,因为我的版本的EXCEL不包括返回数据透视表。

相关问题