【问题标题】:Google Spreadsheet filter谷歌电子表格过滤器
【发布时间】:2013-01-21 03:32:47
【问题描述】:

我正在尝试在谷歌电子表格中按部门过滤员工列表

=filter(A:C,!B2:B6=D2)

我的样本数据是

Name    Department      age
asd     dep1            12
fds     dep2             2
plo     dep3             3
sdfsdf  dep1            56
shg     dep2            98

现在我已经让过滤器部分工作了。我的问题是过滤后。我怎样才能告诉 GSpreadsheet 只显示特定的列值...比如使用部门作为过滤条件但只返回姓名和年龄?

最后我还想把结果移到另一张纸上。

对于这个问题,我的首选方法是使用类似 thingy 的 google 宏,如果您对此有任何建议,请隐藏不需要的行和列。

【问题讨论】:

    标签: filter google-sheets


    【解决方案1】:

    最简单的过滤方式是[Data-Filter],否则[View-List]也可以过滤。使用公式,您将在不同的列中显示结果,通常在不同的页面上。

    我建议省略 B 列是制作两个单独的列过滤器,如下所示:

    =过滤器(A:A,B:B=D2) =过滤器(C:C,B:B=D2)

    感叹号仅在您在另一张纸上时才需要,您可能还尝试执行以下操作: filter(A2:A,B2:B="dep1") 公式的真正威力在于您想要的地方在比较之前操纵值,如下所示: filter(A:A,right(B:B,1)="1") 否则我不确定您指的是什么,除了我不知道的 Google Apps 脚本任何与 VBA 非常相似的功能。

    如果这没有回答你的问题,你能说得更具体一点吗?

    【讨论】:

      【解决方案2】:

      我会在这里使用 QUERY 函数:

      =QUERY(A:C, "选择 A,C where (B = 'dep1')")

      这将返回两列(姓名和年龄 - 分别是“A”和“C”)。过滤条件在 WHERE 子句中提供。

      为了将结果移动到另一个工作表,我会换一种方式:创建另一个工作表,然后写:

      =QUERY(employees!A:C, "select A,C where (B = 'dep1')")

      假设您的原始工作表的名称是“员工”。

      希望对你有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-29
        • 1970-01-01
        • 2019-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多