Google 表格 - 查询 - 换行符

问题描述 投票:0回答:1

我有这个查询公式:

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-formula line-breaks
1个回答
0
投票

尝试使用正则表达式将每 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 次。
  • [^,]* 这匹配第三个逗号之后直到下一个逗号的字符。
  • , 这与第四个逗号匹配。包括一个空格来说明
    , 
  • 我们替换逗号的$1保留了逗号后面的内容。
© www.soinside.com 2019 - 2024. All rights reserved.