【问题标题】:Only return data from cells with value仅从具有值的单元格返回数据
【发布时间】:2016-11-09 19:38:49
【问题描述】:

我已经为此寻找解决方案并且已经接近,但我无法找到最终解决方案。我不熟悉 Google 表格中的查询。我将包含一个指向工作表的链接和我正在使用的查询。

我希望我的查询仅返回具有值的单元格的结果,因此工作表中没有那么多空列。以下是我的谷歌表格的链接:

https://docs.google.com/spreadsheets/d/15LME9n4gp_CAi0voUhuaaRrIoUYB3AYA7EuGUoPxY48/edit#gid=1532407141

“史密斯,约翰”标签中的公式是:

  =query(RESPONSES!A2:BB,"select * where (B = 'Smith, John') 
                                     and (C = 'Smith, John') 
                                     and (D = 'Smith, John')")

您可以看到它正在从 RESPONSES 选项卡中提取数据。在 RESPONSES 选项卡中,John Smith 的分数(通过 Google 表单输入)直到 AD 列才开始。

但是,我希望 John Smith 的结果显示在他的选项卡上,而不显示所有列。

那么,我需要在公式中包含什么才能仅从具有值的单元格中提取数据(即 AD 向前)。

感谢您的帮助。

【问题讨论】:

  • 这很容易用 Google Apps 脚本,你愿意吗?
  • 请不要用 Excel 标记 Google 表格问题。
  • 抱歉贴错标签 Tim!
  • @RobinGertenbach 是的,我有兴趣查看 Google 应用程序脚本选项。我刚开始在这方面学习,我想看看最好的选择。
  • 不清楚是要显示标题还是要删除没有响应的列。

标签: sql google-sheets google-query-language


【解决方案1】:

您可以再添加一张纸来完成此操作。

Sheet1(附加)在单元格 A1 中有公式:

=query(RESPONSES!A1:BB,"select * where (B = 'Smith, John') and (C = 'Smith, John') and (D = 'Smith, John')")

与您的公式相同,但包含标题。

您的工作表公式为:

=FILTER(OFFSET(Sheet1!A1,,,COUNTA(Sheet1!A:A),COLUMNS(Sheet1!1:1)),Sheet1!2:2<>"")

它从 Sheet1 中获取数据并对其进行过滤以排除空行。

sample sheet

【讨论】:

  • 谢谢麦克斯!这行得通。仍然对上面提到的 Google Apps 脚本版本感兴趣。我感谢您的帮助。不过,如果我不必创建额外的工作表,那就太好了。有什么办法可以用公式做到这一点?
  • 你有所谓的“宽”表。这不是要走的路。请阅读@robin-gertenbach 撰写的this article
  • 我的工作表可能有点欺骗性,因为 CC1 - KPI1 对于不同的用户实际上会有所不同。它们与个别员工的核心能力和关键绩效指标保持一致。
猜你喜欢
  • 2011-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-30
  • 2016-01-06
  • 1970-01-01
相关资源
最近更新 更多