【问题标题】:Extract column value using REGEXEXTRACT with ARRAYFORMULA使用带有 ARRAYFORMULA 的 REGEXEXTRACT 提取列值
【发布时间】:2019-12-05 05:48:17
【问题描述】:

我在 Google 表格中有一个列,其中包含 1(current), 2(current) 等值。我从 google 表单响应中获取这些值。

我只想从单元格值中提取整数为 1,2,3.. 等等。 我可以将SPLIT(A2, "(current)") 用于单元格。但这不适用于表单响应中的新值。

我发现 ARRAYFORLMULA 可用于将公式应用于来自表单的新响应,但不知何故它不起作用。我按如下所述尝试了它们,但我不确定我是否正确使用它。

=ArrayFormula(QUERY( SPLIT(E2:E,"(current)")))

=ArrayFormula(SPLIT(E2:E,"(current)"))

有人可以通过REGEXEXTRACT 帮助解决上述问题吗?

【问题讨论】:

    标签: regex google-sheets split google-sheets-formula array-formulas


    【解决方案1】:

    试试这样:

    =ARRAYFORMULA(IFNA(REGEXEXTRACT(E2:E, "\d+")))
    

    【讨论】:

    • 如果我单独使用它就可以了。但是对于新的响应,它不起作用。我有一个标题行。我在 G2 中保留了这个公式。我需要在工作表中做其他事情吗?也给出错误为:"Array result was not expanded because it would overwrite data in G3."
    • @ShivaniShinde 是的,将其放入第一行,例如:={"header name here"; ARRAYFORMULA(IFNA(REGEXEXTRACT(E2:E, "\d+")))}
    • 嘿,谢谢,成功了!有什么方法可以申请条件吗?我在列中也有 1、2 等值(即只是整数)。因此,对于这些值,它给了我Function REGEXEXTRACT parameter 1 expects text values. But '3' is a number and cannot be coerced to a text. 的错误,这可以做到吗?
    • 当然,使用:={"header name here"; ARRAYFORMULA(IFNA(REGEXEXTRACT(TO_TEXT(E2:E), "\d+")))}
    • 哇!非常感谢!我浪费了很多时间来尝试 IFS。这是快速修复。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-23
    • 2021-04-07
    • 2020-09-12
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多