【问题标题】:Concatenate columns inside ArrayFormula, excluding certain values连接 ArrayFormula 内的列,不包括某些值
【发布时间】:2020-12-09 06:04:15
【问题描述】:

请参阅下面链接中的 Google 表格。在“F”列中,我需要使用 ARRAYFORMULA 组合从“B”到“E”列的值,用逗号分隔值,并排除读取“否”的值。 G 列显示了ARRAYFORMULA 的所需输出。

https://docs.google.com/spreadsheets/d/11GMOU0I4v1TcyBAnTDKPfccGWO9LYoM8_wz6hx_JXg0/edit?usp=sharing

编辑:以下两个答案都解决了问题。谢谢你们!

【问题讨论】:

    标签: google-sheets concatenation google-sheets-formula array-formulas google-sheets-query


    【解决方案1】:

    你可以使用

    =ArrayFormula(IF(LEN(B2:B)>0, REGEXREPLACE(transpose( 
                 query(transpose({B2:C, E2:E, G2:G})&",",,9^9)),"(No, )|(, No)|(,$)",""),""))
    

    【讨论】:

    • 这适用于更新的工作表,谢谢 marikamitsos!
    【解决方案2】:

    使用:

    =ARRAYFORMULA(REGEXREPLACE(TRIM(FLATTEN(QUERY(TRANSPOSE(
     IF((B2:E="")+(B2:E="no"),,B2:E&",")),,9^9))), ",$", ))
    


    更新:

    =ARRAYFORMULA(REGEXREPLACE(TRIM(FLATTEN(QUERY(TRANSPOSE(
     IF(({B2:C, E2:E, G2:G}="")+
        ({B2:C, E2:E, G2:G}="no"),,
         {B2:C, E2:E, G2:G}&",")),,9^9))), ",$", ))
    

    【讨论】:

    • 谢谢你,player0!
    • player0,我刚刚意识到您的解决方案不适用于我的实际应用程序,因为它们之间存在不应包含的列。我已经编辑了样本表以更好地反映这一点。对于那个很抱歉!你认为你可以设计一个新的解决方案吗?
    猜你喜欢
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多