首页 > 解决方案 > 有没有办法从导入范围中过滤特定数据进行平均?

问题描述

我正在使用不同的 Google 表格电子表格来输入数据(电影详细信息,例如英文标题、原始标题、发行日期、评级、原产国和链接),而我正在分析我管理的数据使用importrange成功。

这是我成功使用的代码,用于获取一个国家/地区电影列表的平均评分:

=AVERAGE(IMPORTRANGE("LINK_TO_INPUT_DATA_GOOGLE_SHEETS", CONCAT(A1:A, "!D1:D")))

此平均值输出到 C 列,而国家/地区的名称(也是 的工作表名称importrange)在 A 列中。

我想创建一个类似的查询,但对于原产国与 A 列中的国家匹配的电影(任何具有多个原产国的电影都在电子表格中输入第一个并复制到所有其他原产国的相应的表)。

我尝试使用QUERY来自 Google Sheets 的结果集来制作我的结果集,但在最好的情况下,它给出的结果与之前的平均值相同,而在最坏的情况下,它只会给出错误。这是我对查询的最新尝试:

=AVERAGE(QUERY (IMPORTRANGE("LINK_TO_INPUT_DATA_GOOGLE_SHEETS", A1:A), "SELECT Col4 WHERE Col5="&A1&""))

据我所知,这应该可以工作,但目前它说它找不到导入范围的范围或工作表。

任何帮助都深表感谢!

编辑:

这是输入表的链接:https ://docs.google.com/spreadsheets/d/1bopmJu7Av71sCh8iUoG20WubGL9ssx09dOnBZnys4Ko/edit?usp=sharing

这是分析电子表格的链接(查询应该在电影表中): https ://docs.google.com/spreadsheets/d/1-hfQdqvDWXXtGR2fmTy-lZEOtp9sdxkvoget4toi1W4/edit?usp=sharing

标签: google-sheetsgoogle-sheets-formulagoogle-sheets-query

解决方案


我不确定如果我说得对:-您想要:按电影标题(第 1 列)导入平均收视率(第 4 列),其中国家/地区与您当前的 A 列相匹配?

如果是这样,它可以简单地通过查询来完成,特别是如果您在查询中也包含平均值。但是您需要在 importrange 中包含您使用的所有列:

=QUERY(IMPORTRANGE("https://...", "Syria!A1:E"),"SELECT AVG(Col4) WHERE Col5='"&A2&"' LABEL AVG(Col4) ''")

说明:group by将按您声明用作平均值的列聚合所有列。


推荐阅读