Google 表格 - 查询 - 换行符

Google Sheet - Query - Line Break

提问人:Omprakash 提问时间:11/17/2023 最后编辑:Joel CoehoornOmprakash 更新时间:11/17/2023 访问量:55

问:

我有这个查询公式:

IF(A8="","",IFNA(ARRAYFORMULA(TEXTJOIN(", ",TRUE,QUERY(Sheet6!B5:K,"SELECT F, I, J, K WHERE C = DATE'" & TEXT(A8,"yyyy-mm-dd") & "' AND G = 2",0)))))

它用于返回单个单元格中的值,如下所示:TEXTJOIN

A1, B1, C1, D1, A2, B2, C2, D2, A3, B3, C3, D3

我希望它保留在单个单元格中,但要让单元格显示换行符,如下所示:

A1, B1, C1, D1
A2, B2, C2, D2
A3, B3, C3, D3

A1、A2 和 A3 是名称,包含空格。

我怎样才能调整它以匹配第二个摘录?任何帮助将不胜感激。

google-sheets-公式 换行符

评论

0赞 Kevin P. 11/17/2023
查。这将插入换行符。如果没有示例表,我不会重新创建您的设置以提供我不确定是否有效的公式。CHAR(10)
0赞 Omprakash 11/17/2023
我尝试了 CHAR(10),但我无法在预期点断开该线。我将创建一个示例表并很快分享。
0赞 Omprakash 11/17/2023
@KevinP。docs.google.com/spreadsheets/d/......

答:

0赞 Kevin P. 11/17/2023 #1

尝试使用正则表达式将每 4 个逗号替换为该值。这就是我相信你正在寻找的:CHAR(10)

=REGEXREPLACE(TEXTJOIN(", ", TRUE, QUERY(Sheet6!B5:K, "SELECT F, I, J, K WHERE C = DATE'" & TEXT(A8, "yyyy-mm-dd") & "' AND G = 2", 0)),"((?:[^,]*,){3}[^,]*), ", "$1"&CHAR(10))

  • (?:[^,]*,){3}此部分匹配任何后跟逗号的字符序列,正好重复 3 次。
  • [^,]* 这与第三个逗号之后的字符匹配,直到下一个逗号。
  • 这与第 4 个逗号匹配。包括一个空格来说明 .,
  • 我们用逗号替换的 $1 保留了逗号后面的内容。

评论

0赞 Omprakash 11/17/2023
你能解释一下公式的最后一部分吗?
0赞 Kevin P. 11/17/2023
是的,我们使用的正则表达式捕获逗号分隔列表中第 3 个字段中的内容。因此,在“field1, field2, field3, field4”字符串中,表达式将捕获“field3”。“$1” & CHAR(10) 是替换字符串。$1 是指正则表达式中第一个捕获组捕获的内容。CHAR(10) 是换行符,用于在捕获的内容后插入换行符。因此,替换有效地在第三个字段后添加了换行符。((?:[^,]*,){3}[^,]*),
0赞 Omprakash 11/17/2023
现在有点难以掌握,但经常使用它应该变得容易。我还将尝试一些变体以更好地理解它。非常感谢。
0赞 Kevin P. 11/17/2023
查看此链接: regexr.com 并输入正则表达式。然后输入一些文本,例如将鼠标悬停在元素上。不完美,但有很大帮助。Here, is , some, text, separated, by, commas