0

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

=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 的谷歌宏,如果您对此有建议,请不要犹豫,隐藏不需要的行和列。

4

2 回答 2

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。

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

于 2013-05-08T03:00:55.367 回答
0

我会在这里使用 QUERY 函数:

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

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

要将结果移动到另一张纸上,我会换一种方式:创建另一张纸,然后写:

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

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

我希望它有所帮助。

于 2014-04-24T19:23:47.373 回答