如何使用Google Sheets中的查询功能

如果您需要操作Google Sheet中的数据,查询功能可以提供帮助!它为您的电子表格带来了强大的数据库式搜索,因此您可以按您喜欢的任何格式查找和过滤数据。我们将向您介绍如何使用它。

使用查询功能

如果您曾经使用SQL与数据库交互,那么掌握查询函数并不太难。典型查询函数的格式类似于SQL,并为Google Sheet带来了数据库搜索的强大功能。

使用查询函数的公式格式为=Query(Data,Query,Header)。您可以将“data”替换为您的单元格区域(例如,“A2:D12”或“A:D”),并将“query”替换为您的搜索查询。

可选的“Headers”参数设置要包括在数据区域顶部的标题行数。如果有一个标题分布在两个单元格上,如A1中的“First”和A2中的“Name”,这将指定查询使用前两行的内容作为组合标题。

在下面的示例中,Google Sheets电子表格的一个表格(称为“员工列表”)包括一个员工列表。它包括他们的姓名、员工ID号、出生日期,以及他们是否参加了强制性的员工培训课程。

在第二张工作表上,您可以使用查询公式提取所有未参加强制性培训课程的员工的列表。此列表将包括员工ID号码、名字、姓氏以及他们是否参加了培训课程。

要对上面显示的数据执行此操作,您可以键入=query(‘Staff List’!A2:E12,“SELECT A,B,C,E where E=‘No’”)。这将查询“人员列表”工作表上A2到E12范围内的数据。

与典型的SQL查询一样,查询函数选择要显示的列(SELECT)并标识搜索参数(WHERE)。它返回列A、B、C和E,提供所有匹配行的列表,其中列E(“Attendted Training”)中的值是包含“No”的文本字符串。

如上所示,最初名单中的四名员工没有参加过培训课程。查询函数提供了此信息,以及匹配列,以便在单独的列表中显示他们的姓名和员工ID号。

此示例使用非常特定的数据范围。您可以将其更改为查询A到E列中的所有数据。这将允许您继续向列表中添加新员工。每当您添加新员工或有人参加培训课程时,您使用的查询公式也会自动更新。

此操作的正确公式为=Query(‘Staff List’!A2:E,“Select A,B,C,E where E=‘No’”)。此公式忽略单元格A1中的初始“Employees”头衔。

如果将未参加培训的第11名员工添加到初始列表中,如下所示(Christine Smith),则查询公式也会更新,并显示新员工。

高级查询公式

查询功能多种多样。它允许您使用其他逻辑运算(如AND和OR)或Google函数(如COUNT)作为搜索的一部分。还可以使用比较运算符(大于、小于等)查找两个图形之间的值。

将比较运算符用于查询

您可以使用带有比较运算符(如小于、大于或等于)的查询来缩小和筛选数据范围。为此,我们将在“员工列表”表中添加一个额外的列(F),其中包含每个员工获得的奖励数量。

使用查询,我们可以搜索至少获得一个奖项的所有员工。此公式的格式为=Query(‘Staff List’!A2:F12,“SELECT A,B,C,D,E,F where F where F>0”)。

它使用大于比较运算符(>)在F列中搜索大于零的值。

上面的示例显示了查询函数返回了获得一个或多个奖项的八名员工的列表。在总共11名员工中,有3名从未获奖。

使用AND和OR WITH QUERY

嵌套的逻辑运算符函数(如AND和OR)可以在较大的查询公式中很好地工作,以将多个搜索条件添加到您的公式中。

相关:如何在Google Sheets中使用AND和OR函数

测试和的一个好方法是搜索两个日期之间的数据。如果我们使用员工列表示例,我们可以列出1980到1989年间出生的所有员工。

这还利用了比较运算符,如大于或等于(>=)和小于或等于(<=)。

此公式的格式为=Query(‘Staff List’!A2:E12,“SELECT A,B,C,D,E where D>=date‘1980-1-1’and D<=date‘1989-12-31’”)。它还使用一个额外的嵌套日期函数来正确解析日期时间戳,并查找1980年1月1日和1989年12月31日之间的所有生日。

如上所示,出生于1980年、1986年和1983年的三名员工符合这些要求。

也可以使用OR产生类似的结果。如果我们使用相同的数据,但更改日期并使用OR,我们可以排除所有80年代出生的员工。

此公式的格式将为=Query(‘Staff List’!A2:E12,“SELECT A,B,C,D,E where D>=date‘1989-12-31’or D<=date‘1980-1-1’”)。

在最初的10名员工中,有3名出生于80年代。上面的例子显示了剩下的7个人,他们都出生在我们排除的日期之前或之后。

使用COUNT WITH QUERY

除了简单地搜索和返回数据之外,您还可以将查询与其他函数(如Count)混合使用来操作数据。比方说,我们要清除名单上所有参加过和没有参加过强制性培训课程的员工。

为此,您可以将查询与计数结合使用,如下所示:=query(‘Staff List’!A2:E12,“SELECT E,COUNT(E)GROUP BY E”)。

聚焦于E列(“已参加培训”),查询函数使用COUNT计算找到每种类型的值(“是”或“否”文本字符串)的次数。从我们的名单中,有6名员工完成了培训,4名员工没有完成培训。

您可以很容易地更改此公式,并将其与其他类型的Google函数(如SUM)一起使用。

相关文章