QUERY函数允许您使用灵活的查询命令从一个范围或整个数据表中提取信息。学习如何使用谷歌Sheets QUERY函数可以让您访问一个强大的查找工具。
如果您曾经编写过SQL查询来从数据库中获取数据,那么您就会认识到查询函数。如果您没有数据库经验,查询功能仍然很容易学习。
什么是查询功能?
该函数有三个主要参数:
=查询(数据、查询标题)
这些参数相当简单。
- 数据:包含源数据的单元格范围
- 查询:描述如何从源数据中提取所需内容的搜索语句
- 头:一个可选参数,允许您将源范围中的多个头合并为目标表中的单个头
查询函数的灵活性和功能来自查询参数,如下所示。
如何创建一个简单的查询公式
当您有一个非常大的数据集需要从中提取和过滤数据时,查询公式特别有用。
以下示例使用美国SAT高中成绩统计数据。在第一个示例中,您将学习如何编写一个简单的查询公式,返回所有高中及其数据,其中“纽约”是学校名称。
-
创建用于放置查询结果的新工作表。在左上角的单元格类型中=查询(.当您这样做时,您将看到一个弹出窗口,其中包含require参数、一个示例和关于函数的有用信息。
-
接下来,假设Sheet1中有源数据,按如下方式填写函数:
=查询(第1页!A1:F460,“选择B、C、D、E、F,其中B类似于“%New York%”).
这个公式包括以下参数:
- 细胞范围:表1中A1至F460中的数据范围
- SELECT语句:一个SELECT语句,调用列B、C、D、E和F中的任何数据,其中列B包含有单词“New York”。
“%”字符是一个通配符,可用于搜索任何数据集中的字符串或数字部分。在字符串前面保留“%”将返回以文本“New York”开头的任何学校名称。
-
如果要从列表中查找确切的学校名称,可以键入查询:
=查询(第1页!A1:F460,“选择B、C、D、E、F,其中B=‘纽约港高中’”).
使用=运算符查找精确匹配,并可用于查找任何列中的匹配文本或数字。
由于GoogleSheets查询功能非常易于理解和使用,因此您可以使用上述简单的查询语句从任何大型数据集中提取任何数据。
使用带有比较运算符的QUERY函数
通过比较运算符,可以使用查询函数筛选出不符合条件的数据。
您可以访问QUERY函数中的所有操作符:
- =:值与搜索值匹配
- <:小于搜索值
- >:大于搜索值
- < =:值小于或等于搜索值
- >=:取值大于等于搜索值
- <>还有=:搜索值和源值不相等
使用上面的SAT示例数据集,让我们来看看如何看哪些学校的平均数学平均值在500分以上。
-
在空白表格的左上方单元格中,按如下方式填写QUERY函数:
=查询(第1页!A1:F460,“选择B、C、D、E、F,其中E>500”)
此公式调用E列包含大于500的值的任何数据。
-
您还可以包括逻辑运算符,如AND和OR,以搜索多个条件。例如,要仅为参加考试人数超过600人且关键阅读平均数介于400和600之间的学校获取分数,您可以键入以下查询函数:
=查询(Sheet1 !A1: f460,“select b, c, d, e, f where c > 600 and d > 400 and d < 600”)
-
比较运算符和逻辑运算符为您提供了从源电子表格中提取数据的多种不同方法。它们可以让你从非常大的数据集中过滤出重要的信息。
查询函数的高级用法
您还可以使用一些附加命令向查询函数添加一些其他功能。通过这些命令,可以聚合值、计数值、排序数据和查找最大值。
-
在QUERY函数中使用GROUP允许聚合多行中的值。例如,可以使用GROUP函数计算每个学生的平均考试成绩。要做到这一点,输入:
=查询(第1页!A1:B24,“按A选择A,平均(B)组”)
-
在QUERY函数中使用COUNT,你可以使用以下QUERY函数计算写作平均分数超过500的学校数量:
=查询(Sheet1 !A2: f460," select b, count (f) group by b ");
-
在QUERY函数中使用ORDER BY,可以找到数学平均分数最高的学校,并根据这些分数对列表进行排序。
=查询(Sheet1 !A2: f460,“select b, Max (e) group by b order by Max (e)”))