【问题标题】:Google sheets array formula to lookup date from another table after removing spaces in lookup column删除查找列中的空格后,Google 表格数组公式可从另一个表中查找日期
【发布时间】:2020-09-12 04:24:18
【问题描述】:

(由于我的组织政策,我无法共享样本表。)

我有两张这样的数据表:

Sheet1

Sheet2

现在,在 Sheet1 的 C 列中,我正在寻找一个 ARRAYFORMULA,它将通过匹配 @ 中的子字符串 来查找 Sheet1!A:A 中的值987654329@ 从Sheet2!A:A 中删除空格,然后从Sheet2!B:B 中的行返回值。

我想出了一个非ARRAYFORMULA 的公式来获取每行的数据(在下面的Sheet1!C:C 中)。但是我的真实数据集有数千行,我不想将公式复制/粘贴到每个数据集中。

每一行都有一个如下所示的公式:

=TEXTJOIN(
    ", "
  , TRUE
  , IFNA(
        FILTER(
            Sheet2!B:B
          , Sheet2!B:B <> ""
          , Sheet2!A:A <> ""
          , NOT(
                ISERROR(
                    SEARCH(
                        REGEXREPLACE(Sheet2!A:A, " ", "")
                      , A2
                    )
                )
            )
        )
      , "not found"
    )
)

我尝试将其转换为Sheet1!B2 中的ARRAYFORMULA,但它没有产生预期的结果。公式为:

=ArrayFormula(
    TEXTJOIN(
        ", "
      , TRUE
      , IFNA(
            FILTER(
                Sheet2!B:B
              , Sheet2!B:B <> ""
              , Sheet2!A:A <> ""
              , NOT(
                    ISERROR(
                        SEARCH(
                            REGEXREPLACE(Sheet2!A:A, " ", "")
                          , A2:A
                        )
                    )
                )
            )
          , "not found"
        )
    )
)

【问题讨论】:

  • 您会考虑为此使用 Apps 脚本吗?
  • 不。由于各种原因不能。
  • @IMTheNachoMan 抱歉回答错误。您能否更新您的问题陈述以提及子字符串部分?
  • 刚刚做了。很抱歉——不知道我是怎么错过的。

标签: google-sheets google-sheets-formula


【解决方案1】:

好的,我终于可以使用子字符串和SEARCH

=Array_Constrain(TRANSPOSE(ArrayFormula(REGEXREPLACE(REGEXREPLACE(SPLIT(TEXTJOIN(", ",1,{ArrayFormula(IFERROR(HLOOKUP("Value",Sheet2!B:B,ArrayFormula(Transpose(SEQUENCE(COUNTA(Sheet2!A2:A),1,2))*(SEARCH(TRANSPOSE(SUBSTITUTE(FILTER(Sheet2!A2:A,LEN(Sheet2!A2:A))," ",)),FILTER(A2:A,LEN(A2:A)))>0)),0))),ArrayFormula(IF(SEQUENCE(COUNTA(A2:A)),";",""))}),", ;",0,0),"^, ",),"^$","not found"))),COUNTA(A2:A),1)

“可读”版本:

=Array_Constrain(
    TRANSPOSE(
        ArrayFormula(REGEXREPLACE(
            REGEXREPLACE(
                SPLIT(
                    TEXTJOIN(
                        ", ",
                        1,
                        {
                            ArrayFormula(IFERROR(
                                HLOOKUP(
                                    "Value",
                                    Sheet2!B:B,
                                    ArrayFormula(
                                        Transpose(
                                            SEQUENCE(COUNTA(Sheet2!A2:A),1,2)
                                        )*
                                        (SEARCH(
                                            TRANSPOSE(
                                                SUBSTITUTE(
                                                    FILTER(
                                                        Sheet2!A2:A,
                                                        LEN(Sheet2!A2:A)
                                                    ),
                                                    " ",
                                                )
                                            ),
                                            FILTER(A2:A,LEN(A2:A))
                                        )>0)
                                    ),
                                    0
                                )
                            )),
                            ArrayFormula(IF(
                                SEQUENCE(COUNTA(A2:A)),
                                ";",
                                ""
                            ))
                        }
                    ),
                    ", ;",
                    0,
                    0
                ),
                "^, ",
            ),
            "^$",
            "not found"
        ))
    ),
    COUNTA(A2:A),
    1
)

【讨论】:

    猜你喜欢
    • 2015-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-02
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    • 1970-01-01
    相关资源
    最近更新 更多