当行值等于 "yes" 时,用于在 Google Sheet 中加入 header 值的数组公式
Array formula to join header values in a Google Sheet when row values equal "yes"
我看到了 问题,但无法让它为我工作。因为它已经回答了,而且从一年前开始,我觉得最好 post 一个新问题。
我有一个样本 sheet 位于:https://docs.google.com/spreadsheets/d/1EqNfTWcNFgkv2gdovnH7JpqU9V2HG5Vkoup8bhNqI7k/edit#gid=0
在 F1
中,我想要一个数组公式,如果 B2:E = "yes"
.
将连接 B1:E1
的值
第 G
列具有预期的输出。
这是我的想法,但它给出了错误:
={
"output";
ARRAYFORMULA(
IF(
A2:A = "",
,
IF(
B2:E = "yes",
TEXTJOIN(", ", TRUE, B1:E1),
)
)
)
}
试试这个
=index(substitute(trim(transpose(query(transpose(if(B2:E<>"yes",,B1:E1)),,9^9)))," ",", "))
如果header包含空格,使用:
=index(substitute(substitute(trim(transpose(query(transpose(if(B2:E<>"yes",,substitute(B1:E1," ","❄️"))),,9^9)))," ",", "),"❄️"," "))
使用:
=INDEX(REGEXREPLACE(TRIM(FLATTEN(QUERY(TRANSPOSE(
IF(B2:E="yes", B1:E1&",", )),,9^9))), ",$", ))
我看到了
我有一个样本 sheet 位于:https://docs.google.com/spreadsheets/d/1EqNfTWcNFgkv2gdovnH7JpqU9V2HG5Vkoup8bhNqI7k/edit#gid=0
在 F1
中,我想要一个数组公式,如果 B2:E = "yes"
.
B1:E1
的值
第 G
列具有预期的输出。
这是我的想法,但它给出了错误:
={
"output";
ARRAYFORMULA(
IF(
A2:A = "",
,
IF(
B2:E = "yes",
TEXTJOIN(", ", TRUE, B1:E1),
)
)
)
}
试试这个
=index(substitute(trim(transpose(query(transpose(if(B2:E<>"yes",,B1:E1)),,9^9)))," ",", "))
如果header包含空格,使用:
=index(substitute(substitute(trim(transpose(query(transpose(if(B2:E<>"yes",,substitute(B1:E1," ","❄️"))),,9^9)))," ",", "),"❄️"," "))
使用:
=INDEX(REGEXREPLACE(TRIM(FLATTEN(QUERY(TRANSPOSE(
IF(B2:E="yes", B1:E1&",", )),,9^9))), ",$", ))