当行值等于 "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))), ",$", ))