是否有可能在没有kutools的情况下动态地从另一张纸上获得过滤结果?

时间:2018-01-19 15:23:19

标签: excel

我需要将过滤后的结果从一张纸动态传输到另一张。一个快速谷歌搜索产生的结果只有一种方法来做一个付费的excel插件,称为kutools。是否有其他方法可以实现这一点,而不会得到空行。

=IF(ISNUMBER(SEARCH("text",Sheet1!A1)),Sheet1!A1,"")

像这样的东西是我的备份选项,但我想知道是否有另一种更好的方法来完成这项任务,这不会让我有一堆空行我必须排序。

1 个答案:

答案 0 :(得分:3)

尝试这个小技巧。如果列 B 中没有空,它将起作用。

无插件;没有VBA;该技巧不需要额外的数组公式。

假设我们的数据列在 A B 列中,如:

enter image description here

我们想要应用过滤器并在其他位置提取可见数据。

首先在 C2 中输入:

=IF(SUBTOTAL(3,B2:B2)=0,MIN($C$1:C1)-1,SUBTOTAL(3,$B$2:$B2))

并复制下来:

enter image description here

这是一个不错的顺序列表。现在设置列 B 的过滤器以显示 2 enter image description here

“帮助者”栏已调整为保持其良好的连续性。

在另一张表格中,我们现在可以使用典型的INDEX/MATCH来获取数据。

Sheet2 单元格 A1 中输入:

=IFERROR(INDEX(Sheet1!A$1:A$22,MATCH(ROWS($1:1),Sheet1!C$1:C$22,0)),"")

并复制下来:

enter image description here

(使用VBA,不需要“助手”列)

修改#1:

如果您不想使用 AutoFilter ,只需抓取 B 列的值 2 的记录strong>,然后在 C2 中输入:

=IF(B2=2,1+MAX($C$1:C1),"")

如果你想获取 2 记录以外的所有记录,请使用此“帮助”公式:

=IF(B2<>2,1+MAX($C$1:C1),"")