标签: google-query-language

使用中位数和分组依据以及谷歌表格进行查询

我需要获得分组中位数

我已经对表单的数据进行了分组

From    type                 Weight
A       person-person        4
A       person-person        3
A       person-organization  11
A       person-person        5
A       person-organization  6
B       person-person        2
B       person-organization  3
B       person-organization  7
C       person-person        5
C       person-person        2
C       person-organization  15
S       person-organization  7
S       person-person        4
S       person-person        3
Run Code Online (Sandbox Code Playgroud)

我需要获取按列 A 分组的中位数,其中列 B = '人-人'

A   value1
B   value2
C   value3
S   value4
Run Code Online (Sandbox Code Playgroud)

我可以用以下方法对平均值执行此操作:

=QUERY(Connections!A:C,"Select A, Avg(C) where B='person-person' and C is not null group by A",1)
Run Code Online (Sandbox Code Playgroud)

我尝试过使用该Median函数,但无法将其按 A 列分组 …

lambda mean median google-sheets google-query-language

6
推荐指数
1
解决办法
5077
查看次数

Google 查询语言连接

是否可以将列中的值与 Google 查询语言中的字符串连接起来?我想做这样的事情:

=QUERY('Business Income'!A1:E, "select 'Q' + quarter(A), sum(B) where A is not null group by 'Q' + quarter(A) label quarter(A) 'Quarter', sum(B) 'Income'")
Run Code Online (Sandbox Code Playgroud)

使用如下所示的数据:

Date          Amount
----------    -------
01/01/2015    XXXX.XX
02/01/2015    XXXX.XX
03/01/2015    XXXX.XX
04/01/2015    XXXX.XX
05/01/2015    XXXX.XX
...
Run Code Online (Sandbox Code Playgroud)

我希望输出如下:

Quarter    Income
-------    ---------
Q1         $XXXXX.XX
Q2         $XXXXX.XX         
Q3         $XXXXX.XX
Q4         $XXXXX.XX
Run Code Online (Sandbox Code Playgroud)

google-sheets google-query-language

5
推荐指数
2
解决办法
7650
查看次数

Google表格查询语言:转义撇号

如何在Google表格中的SQL查询中转义撇号?

这是我的功能:

=QUERY(QUERY(IMPORTRANGE("XXXXXXX", "XXXXXX!A1:C"),"SELECT * WHERE Col2 = 'Woman's blabla: blablabla'"),"SELECT Col1, Col2")
Run Code Online (Sandbox Code Playgroud)

我试过添加另一个撇号:

=QUERY(QUERY(IMPORTRANGE("XXXXXXX", "XXXXXX!A1:C"),"SELECT * WHERE Col2 = 'Woman''s blabla: blablabla'"),"SELECT Col1, Col2")
Run Code Online (Sandbox Code Playgroud)

没有运气..我试过反斜杠,也没有运气:

=QUERY(QUERY(IMPORTRANGE("XXXXXXX", "XXXXXX!A1:C"),"SELECT * WHERE Col2 = 'Woman/'s blabla: blablabla'"),"SELECT Col1, Col2")
Run Code Online (Sandbox Code Playgroud)

编辑:文件的区域设置是英国.

google-sheets google-query-language google-sheets-formula

5
推荐指数
2
解决办法
8415
查看次数

QUERY Google Sheets 函数中同一字符串中的引号和撇号

我想知道如何处理这样的查询。假设我在电子表格的单元格 A2 中包含以下文本:

Case Bakers' Flats 12" White Flour Tortillas 10/12ct
Run Code Online (Sandbox Code Playgroud)

并需要将以下公式放入B2:

=QUERY(importrange("KEY", "DATA!A1:Z1000"), "select Col24 where (Col1 = '"&A2&"')")
Run Code Online (Sandbox Code Playgroud)

它会产生错误。

我的问题是:当我使用的字符串包含各种引号和撇号时,有什么方法可以避免查询出错?

formulas google-sheets google-query-language

5
推荐指数
1
解决办法
1万
查看次数

如果唯一的 SELECTed 列已经在 GROUP BY 中,为什么我还必须选择一个聚合列才能使用 GROUP BY?

在下面公式使用的数据中,C列包含一个产品标题列表(这些不是唯一的,很多都是空白的);Q 列包含每个产品的类别,F 列包含该产品的销售额。如果可能,我想避免发布任何实际数据(因为它属于我的雇主),但如果认为有必要,我可以模拟一些相同格式的虚假行。

我想要做的是生成某个类别中总销售额最高的非空白产品标题列表,按降序排序,限制为 25 个条目。

以下公式在我看来是完全合法的:

=QUERY('Raw Data'!A:Q, "Select C where Q = 'foo' and C != '' group by C order by sum(F) desc limit 25", 1)
Run Code Online (Sandbox Code Playgroud)

但事实并非如此。我收到错误“CANNOT_GROUP_WITHOUT_AGG”。我发现要完成这项工作,我还需要选择 sum(F) ,如下所示:

=QUERY('Raw Data'!A:Q, "Select C, sum(F) where Q = 'foo' and C != '' group by C order by sum(F) desc limit 25", 1)
Run Code Online (Sandbox Code Playgroud)

首先,这是为什么?文档(在此处找到)指出“如果您使用 group by 子句,则 select 子句中列出的每一列都必须在 group by 子句中列出,或者由聚合函数包装。” 我不明白第一个公式如何不遵守这个标准;select 中的每一列(即只有 C)都列在 group by 子句中。

其次,我怎样才能最好地修改这个公式(如果我可以的话)才能只选择 C?如果我没有做错任何事情(可疑,但可能),是否有解决方法,或者我是否必须处理它?

这个问题,以及其他类似的问题,不回答我的问题 - 我知道如果我想选择多个列,就像我在上面给出的第二个公式中所做的那样,我需要提供一个聚合函数,以便清楚它们是如何要分组。但是,在这种情况下,只有一列 …

google-sheets google-query-language

5
推荐指数
1
解决办法
2165
查看次数

如何通过谷歌表格上的查询比较日期或日期与今天?

我正在努力将sheet1的副本复制到另一个sheet2(同一文档)上,并且query()工作得很好,直到我想要过滤的列是公式单元格(每个都有查询、匹配等的长单元格)。

我想要做的是过滤sheet1中的行,其中M列中的事件日期即将到来(还有更多过滤条件,但只是为了简化这是主要问题)。

我不想要日期为空、过去(各种日期格式)或公式给出空字符串“”结果的行。

我尝试过的公式(给出了错误) - 请注意,我只是选择 2 列进行测试:

=query(sheet1!A3:N, " select I,M where I = 'Singapore' AND DATEVALUE(M)>TODAY() ",0)

=query(sheet1!A3:N, " select I,M where I = 'Singapore' AND M>TODAY() ",0)

此公式不会给出错误,但不会显示正确的数据 - 显示除 2017 年 1 月 - 2017 年 8 月 7 日之外的所有数据:

=FILTER(sheet1!A3:N, sheet1!I3:I="Singapore", sheet1!M3:M>TODAY())

此公式给出空输出:

=query(sheet1!A3:N, " select I,M where I = 'Singapore' AND M='22 August' ",0)

date google-sheets google-query-language google-sheets-formula

5
推荐指数
1
解决办法
2万
查看次数

尝试在 Google 表格上使用 QUERY 函数时总是出现公式解析错误

我正在尝试从谷歌表格上的表单响应中选择某些数据。如果一个单元格等于某个特定单词,我只想选择所有数据。我在同一存档中创建了一个新工作表,并尝试使用多个公式:

=QUERY("respuestas!A2:M50","select * where G = 'Felino'")
Run Code Online (Sandbox Code Playgroud)

设置名称范围响应!A2:M50 = raw :

=QUERY(raw,"select * where G = 'Felino'")
Run Code Online (Sandbox Code Playgroud)

进口范围:

=QUERY(importrange("https://docs.google.com/spreadsheets/d/1y1WxrJ9ErkqX1gR5su37dAPe97fI9KZoeQtxhuSC2lA/edit","respuestas!A2:M50"),"select * where G = 'Felino'")
Run Code Online (Sandbox Code Playgroud)

导入带有名称范围的范围:

=QUERY(importrange("https://docs.google.com/spreadsheets/d/1y1WxrJ9ErkqX1gR5su37dAPe97fI9KZoeQtxhuSC2lA/edit","respuestas!A2:M50"),"select * where G = 'Felino'")
Run Code Online (Sandbox Code Playgroud)

并尝试在选择属性中使用 Col1 属性代替列名称,例如 A2。还尝试仅选择一列,例如:

"select A"
Run Code Online (Sandbox Code Playgroud)

或者

"select Col1""
Run Code Online (Sandbox Code Playgroud)

而这些都不起作用......

我不知道还能尝试什么?

google-sheets google-query-language

5
推荐指数
1
解决办法
5227
查看次数

查询返回错误无法解析函数 QUERY 参数 2 的查询字符串:NO_COLUMN

我目前正在使用以下电子表格

https://docs.google.com/spreadsheets/d/13KfjUhWSB-BjGyC1G8f8i8o4SPd1kFFLkjN7D6VY8Lk/edit#gid=993210576

在其中,我使用 IMPORTRANGE 从另一个工作表导入数据,并编写一个 QUERY 来将 B 列中的单元格(对应于特定零件编号)与导入工作表的 D 列中找到的相应切割数量相匹配。我写的查询如下。

=QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1kFK-ZW8QjtsLYY5twdoMNTdqobGNWIV8nAFBRdouE28/edit#gid=473793446", 
 "FABRICATION LOG!A78169:K"), "Select Col3 where Col4 = "&B3&" limit 1", 0)`
Run Code Online (Sandbox Code Playgroud)

并返回错误消息:

无法解析函数 QUERY 参数 2 的查询字符串:NO_COLUMN:WFR332703

我已将 ImportRange 用于上面链接的电子表格的sheet1 中链接到的工作表,并允许访问,因此不存在错误。

Sheet1 用于显示 IMPORTRANGE 返回的值,以便我可以手动查找我期望获得的值。现在,对于其中一些单元格,我预计不会获得值,因为这些单元格不会出现在我要导入的工作表中。但对于其他人,我期待一个数值,但不会返回。我怀疑这可能与数据类型之间不匹配有关,因为 b 列中的条目都是字母和数字,但这只是一种预感,没有实际事实支持。如果有人有任何建议,我们将不胜感激。

google-sheets google-query-language google-sheets-query importrange google-sheets-formula

5
推荐指数
1
解决办法
4万
查看次数

Google Sheets IMPORTXML 不适用于 YouTube 网址

我希望从 Google 表格中的 YouTube 视频中提取视频标题或视频说明。我有 URL,当我编写IMPORTXML公式时,它会一直显示“与朋友、家人和全世界分享您的视频”作为描述,如果我将其更改为标题,则只会显示“YouTube”。YouTube 方面有什么变化吗?

例子: =IMPORTXML(F3,"//meta[@name='description']/@content")

单元格 F3 包含值:https://www.youtube.com/watch?v=cwttM41xVBY

公式输出: Share your videos with friends, family, and the world

regex youtube google-sheets web-scraping google-query-language

5
推荐指数
1
解决办法
2090
查看次数

具有存储在单列中的多个类别的堆叠图表 - Google 表格

我需要创建一个堆积柱形图,其中日期在 X 轴上聚合,并且条形图具有多个(动态形成的?类别系列。

所有示例都演示了如何为每个类别创建具有单独列的堆叠图。是否可以实现该目标,而无需创建另一个将类别内联到数十列的表?我真的很想避免这种情况。

我将不胜感激的帮助

维护中的表

charts pivot google-sheets google-query-language stacked-bar-chart

5
推荐指数
1
解决办法
2078
查看次数