ai didi

google-sheets - 将 QUERY() 中的所有行获取到 Google 电子表格中的一个单元格中

转载 作者:行者123 更新时间:2023-12-01 11:19:59 24 4
gpt4 key购买 nike

我在电子表格中有以下公式:

=IFERROR( JOIN( CHAR(10), QUERY(Schedule!$A$2:$E, "SELECT C, D, E Where A = '" & B$2 & "' AND B = timeofday '" & text($A4, "HH:MM:SS") & "' AND C = '" & $C$1 & "'", -1)),)


当它返回一行时效果很好。如果它返回多行,它就不起作用。如何让它使用包含在行和列之间的 CHAR(10) 返回的所有行。基本上我希望所有返回的数据以换行符分隔。所以当 QUERY 返回时

Item1 Item2 Item3

Item1A Item2A Item3A


它更改为

Item1

Item2

Item3

Item1A

Item2A

Item3A


我的目标是将所有返回的数据放在 1 个单元格中,每个项目之间有一个换行符。我有什么办法可以做到这一点?
这是一个 copy of the file .单元格 B3 到 F4 是公式所在的良好示例单元格。

最佳答案

解决方案是不完美的,它在每行之前添加了额外的空格:

  Item1 Item2 Item3
Item1A Item2A Item3A
^ spaces

第一步

在查询中获取原始公式 + 额外列:
=QUERY(data, "SELECT C, D, E, '@@' Where" & ... & "' label '@@' ''", -1)
结果:
  Item1  Item2  Item3  @@
Item1A Item2A Item3A @@

步骤 2

用 char(10) 替换“@@”
=ARRAYFORMULA(SUBSTITUTE(step1Formula,"@@",char(10)))
  Item1  Item2   Item3 

Item1A Item2A Item3A
^ new lines

Step3

使用连接:
=ArrayFormula(" "&TRIM(CONCATENATE(" "&B16:E17)))
最终配方
=ArrayFormula(" "&TRIM(CONCATENATE(" "&SUBSTITUTE(QUERY(Schedule!$A$2:$E, "SELECT C, D, E, '@@' Where A = '" & B$2 & "' AND B = timeofday '" & text($A3, "HH:MM:SS") & IF(OR($C$1 = "*",ISBLANK($C$1)), "", "' AND C = '" & $C$1) & IF(OR($F$1 = "*",ISBLANK($F$1)), "", "' AND E = '" & $F$1) & "' label '@@' ''", -1),"@@",char(10)))))
共享文件:

https://docs.google.com/spreadsheets/d/1otcqvkXb5H3WTSi_exKw9UUcRqN8MKBZ5JYCmTLAWdQ/edit?usp=sharing

关于google-sheets - 将 QUERY() 中的所有行获取到 Google 电子表格中的一个单元格中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45091034/

24 4 0
文章推荐: logging - ClasscastException - org.apache.log4j.Logger 无法转换为 org.owasp.esapi.Logger - log4j 到 log4j2
文章推荐: java - 使用 RxJava 中的可观察线程对数据 "read only"执行某些操作
文章推荐: Java:保存要在循环中计算的用户输入
文章推荐: types - Druid 中维度支持的数据类型列表?
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com