互动 先见
+ - - - - - -
{{项目。标签}}
的见解

如何使用= Query函数查询谷歌表中的数据

为什么我要学习如何使用=QUERY函数?

我知道你在想什么为什么要学习另一种呢谷歌表函数?

表面上看,你是对的只是另一个谷歌Sheets函数,但深入挖掘,你会发现=QUERY更像是通往大数据的门户。

查询函数的操作与结构化查询语言(又名SQL)非常非常相似。SQL通常被认为是学习如何使用、操作和访问大数据的基础。

学习如何在熟悉的设置(如谷歌Sheets)中使用=QUERY是开始使用大数据的好方法。最好的方法是什么?学习SQL。为什么?SQL被广泛使用- SQL更有可能适用于您自己开发和管理的数据库(甚至通过Microsoft的Azure SQL或谷歌的BigQuery等服务)。

除了学习基本的大数据语言之外,查询在谷歌表中本身就很强大。它不仅使在电子表格中查找数据变得更容易,还打开了一个可能性的世界,这是使用IF、SUMIF、FIND、VLOOKUP等函数不可能或不容易做到的。

如果有人介绍给你查询之前,请随意跳过到谷歌床单的教程,它将帮助你应用我下面列出的内容。对于那些不熟悉的人,请继续阅读语法和函数的详细说明。


=QUERY简介

QUERY函数语法

让我们分析一下函数的语法或部分。通过谷歌的文档中我们可以看到函数接受三个形参或实参:

  • 查询(数据,查询,报头)

用简单的英语定义参数,我们得到:

  • data -我们的数据在谷歌表中的位置的引用
  • Query——在这里我们将指定我们正在寻找的东西,也就是查询
    • 注意,这个参数是SQL部分,将是学习的最大领域
  • 标题-可选,数据中作为标题的行数

除了它们的定义之外,还有一些与每个参数相关的规则需要记住:

  • 在数据:
    • 数据中的列的值必须具有相同的类型,并且只能是布尔值(true/false)、数字值(包括日期/时间戳)和字符串。
    • 如果值不都是同一类型,则多数类型将定义该列的类型,少数值将被视为空值
    • 说白了就是:列中的数据需要是相同类型的数据,如果不是,谷歌将查看所有的值,确定哪种类型具有最多的外观,使列的类型和任何不是该类型的数据将成为空的或空值这或多或少意味着它会表现得好像它不存在一样
  • 在查询:
    • 这个值需要在引号内,它可以是对另一个单元格的引用,只要那个单元格有引号括起来
    • 说白了就是:我们需要把我们的查询放在引号内,否则谷歌将不知道如何解释它
  • 在标题:
    • 可选值,如果为空,或设置为-1,谷歌将猜测数据中的标头
    • 说白了就是:这告诉谷歌不把x行数视为数据,而是把它们视为我们给列的标签。如果我们忽略它或将其设置为-1,谷歌将扫描数据并估计头部的行数。

现在我们已经学习了基本语法,让我们分解一个实际的查询,让您感受一下它的实际操作。在下面的查询中,我们不打算做任何特殊的事情——从电子表格中的不同选项卡(称为“data”)返回几列数据。

查询(数据!A1: z1000, " select a, b, d, i ", 1)

将这个参数逐个分解,我们得到:

  • 数据=数据!A1: Z1000
    • 说白了就是:我们的数据在名为data的选项卡中,在A - Z列和第1 - 1000行
  • 查询= " SELECT A, B, D, I "
    • 说白了就是:从数据中获取A、B、D和I的完整列。注意,我们用引号括起来了
  • Headers = 1
    • 说白了就是:嘿,谷歌,我们数据的第一行是我们数据的标签,不要把它包括在其他数据中,而是把它用作我们返回的数据集的标签

这很简单,对吧?但现在你可能会想,为什么我要使用这个函数,而不是数据选项卡的引用,数据透视表或vlookup——好问题,当你开始在子句和数据操作函数中分层时,查询真的很出色。我们将首先介绍子句,然后是数据操作函数,最后进入谷歌Sheets,它将帮助您应用所有这些东西。

QUERY功能子句

子句对于每个查询都是必不可少的(实际上,没有子句查询就无法运行!),并且从本质上告诉查询该做什么。它是指定我们要返回给我们的数据的地方。

我们实际上已经使用了一个SELECT子句。这个子句指定了要返回的列,以及以何种顺序返回。但我们还有其他许多条款,可以说是更令人兴奋的条款。这是一张表格谷歌的文档这涵盖了所有可用的条款:

条款 使用
选择 选择以何种顺序返回哪些列。如果省略,则按默认顺序返回表的所有列。
在哪里 只返回符合条件的行。如果省略,则返回所有行。
集团 跨行聚合值。
将列中的不同值转换为新列。
命令 按列中的值对行进行排序。
限制 限制返回行数。
抵消 跳过给定数量的第一行。
标签 设置列标签。
格式 使用给定的格式模式格式化某些列中的值。
选项 设置其他选项。

注意,这些子句必须按照上表的顺序使用,否则会抛出错误,没有人喜欢抛出错误。

从表面上看,这些似乎很陌生,但这些是我们一直在做的事情,只是不明确。例如,我们都按照特定的列对数据表进行了排序——这与使用ORDER by子句没有什么不同。例如:

查询(数据!A1: z1000,“select a, b, d, I order by I”,1)

这将返回与上面的查询相同的结果,但是根据列i将所有内容从低到高排序。注意,默认情况下,所有内容都是升序排列的。如果我们想要数据从高到低,我们可以在我们想要排序的列后添加DESC,如下所示:

查询(数据!A1: z1000,“select a, b, d, I order by I desc”,1)

WHERE子句也是一个常见的概念——在简单的英语中,它说的是返回给我满足这个条件的行,其中条件可以是数学的(例如:<,>,>=,<=,<>,等等)或字符串比较运算符(例如:包含,开始,结束,等等)例如:

查询(数据!A1:Z1000,“SELECT A, B, D, I WHERE B CONTAINS ' some criteria we want match ' ORDER BY I DESC”,1)

上面的查询将在前一个查询的行级别上过滤数据,并且只允许返回与我们的条件匹配的行。

LIMIT子句相对简单——只是限制返回的数据行数。例如:

查询(数据!A1:Z1000,“SELECT A, B, D, I WHERE B CONTAINS ' some criteria we want match ' ORDER BY I DESC LIMIT 10”,1)

上面的查询将返回它找到的前十行数据与前一个查询的比较。

GROUP BY子句聚合GROUP BY子句中每个唯一值组合的值。简单地说,让我们假设你有一堆数据,其中行代表你网站上的各个会话。第一列列出会话发生的日期,第二列列出用户进入的登录页,第三列列出在该日期发生并在该登录页开始的会话数。我们可以在这里使用GROUP BY子句按日期聚合会话数。不过,要做到这一点,我们需要使用数据操作函数。例如:

QUERY数据操作的函数类型

数据操作函数定义为三类via谷歌as

  • 聚合函数——接收一列值并对每个组中的所有值执行一个操作(其中组由group by或pivot子句定义,如果未指定则由所有行定义)
    • 说白了就是:聚合函数将值组合成组,例如返回两年数据中每个月的会话数
  • 标量函数——操作零个或多个参数以产生另一个值
    • 说白了就是:这个定义没什么用,不是吗?这是你需要知道的——标量函数取一个值,并将它转换成与它相关的其他东西,例如,取一个日期,以这种格式:YYYY-MM-DD,并只返回年份,返回日期x和日期y之间的差值,并返回这个字符串,但全部是大写或小写
  • 算术运算符——对任何求值为单个数字的东西执行数学运算(即适当的聚合函数、运算符或常量的输出)
    • 说白了就是:您可以在查询中进行计算

在这篇文章中,我不打算花很多时间来介绍聚合函数,主要是因为它是一个兔子洞,我们可以花很多时间在上面,而谷歌的文档在为每个函数提供上下文和示例方面做得很好。

话虽如此,聚合函数可以用于聚合或组合值。这是通过用函数包装我们调用的列来实现的。例如,如果我们想求D列中值的平均值,我们可以使用下面的语法:avg(D)。类似地,你可以调用max, min, count和sum的值。

将标量函数视为将值从一种状态重新格式化为另一种状态是最容易概念化的。就像聚合函数一样,我们用标量函数来包装我们想要改变的值。例如,如果希望返回日期所在的月份,可以使用以下语法:month(date " 2019-06-04 ")。

请注意,这些值都是以0为基础的,这意味着它们的索引从0开始,因此这将返回一个5的值,因为January = 0, February = 1,等等。

算术运算符相对简单,定义了四个运算符:+、-、*和/。你可能已经猜到了,“+”返回两个数值的和,“-”返回两个数值的差,“*”返回两个数字的乘积,“/”返回两个数字的商。

谷歌表查询教程

在我们开始我们的教程之前,我想指出一件与创建查询相关的事情,这不是很直观——当选择多个列时,在每个列之间使用逗号将它们串在一起。当从一个子句到另一个子句时,你不需要使用逗号。

让我们跳到谷歌表我已经准备好把我们在这里学到的东西付诸行动。

从说明标签开始快速概述,回顾并适应“数据TAB,然后转到查询-方便选项卡来测试你的新查询技能。

最后,我正在努力添加一个更高级的部分,将在“查询-高级标签,但你必须回来查看,所以如果你感兴趣,一定要订阅我们的通讯。另外,不要忘记阅读我们的另一篇文章谷歌分析数据的基本公式


订阅时事通讯

詹姆斯。柯尔
詹姆斯。柯尔
Assoc。数字测量解决方案总监

我们乐于帮助像您这样的营销人员。

注册我们的通讯,接收更新和更多信息: