使用公式筛选列表(不含VBA)

时间:2018-04-01 21:07:00

标签: excel

要明确的是,这个问题不是关于Excel术语"过滤器"或者"自动过滤器"。我有一张我不想以任何方式改变的价值观(sheet1)。我有另一张要创建的工作表(sheet2),其中包含sheet1中的行的子集。有没有办法使用公式而不留空行?

以下示例:

   A      | B
 --------------------
1| Person | Age
2| Bob    | 25
3| Mary   | 10
4| Sue    | 15
5| Bill   | 20
6| Sam    | 35
SHEET1 ("People")

   A      | B
 --------------------
1| Person | Age
2| Bob    | 25
3| Bill   | 20
4| Sam    | 35
SHEET2 ("Adults")

我想在Sheet2中输入一个公式来捕获Sheet1中的行(类似于过滤器的工作方式)。这对于空白行来说是微不足道的,但我还没有找到如何在没有空行的情况下做到这一点。

1 个答案:

答案 0 :(得分:1)

为同一个工作簿创建数据查询,引用包含所有数据的工作表。

  1. 功能区 - >获取数据 - >来自文件 - >来自工作簿
  2. 选择相同的文件,然后在树状视图中选择“人员”表。
  3. enter image description here

    1. 使用您选择的过滤方法将适当的过滤器应用于生成的查询表。一种选择是直接过滤数据查询 -

      let
          Source = Excel.Workbook(File.Contents("C:\Users\jdphe\OneDrive\Documents\Book1.xlsx"), null, true),
          Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],
          #"Promoted Headers" = Table.PromoteHeaders(Sheet1_Sheet, [PromoteAllScalars=true]),
          #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Person", type text}, {"Age", Int64.Type}}),
          #"Filtered Rows" = Table.SelectRows(#"Changed Type", each [Age] >= 18)
      in
          #"Filtered Rows"