我需要一个excel公式来选择包含某个关键字的所有行,然后返回这些行的数据透视表,或者将它们复制到工作簿中的另一个工作表。我不能使用VBA或过滤器,它必须使用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 :(得分:0)
我认为我找到了一个有关两种可能性的解决方案:
鉴于您的数据存放在第1页的A栏中。
您应该因此创建一个新工作表,然后在案例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)));"")
通过A2 -> A100
和A1
=IFERROR(MATCH("*a*";INDIRECT("Sheet1!"&ADDRESS(A1+1;1)):Sheet1!A100;0)+A1;"")
然后在整个B2 -> B100
=IFERROR(INDIRECT("Sheet1!"&ADDRESS(A2;1));"")
自动A1
和A2
应分别增加实际行数。还有一种方法可以在一个整个单元格内填充(或连接)所有结果,因为我的EXCEL版本不包括返回数据透视表。