【问题标题】:Brain Bender... Array formula not filling cells with FILTER functionBrain Bender... 数组公式未使用 FILTER 函数填充单元格
【发布时间】:2020-12-04 01:24:30
【问题描述】:

所以我试图从行分隔信息中提取特定数据。

City: Kitty
State: Bliss
Country: Narnia
Latitude: 89.1023
Longitude: -123.4567

我想将实际的纬度坐标提取到 1 列,将 Long 坐标提取到另一列。 所以我构建了一个函数,将数据拆分为单独的单元格,垂直转置,搜索“纬度”,测试数字,返回纬度行,从左侧获取 # 个字符,然后从中间获取 # 个字符"Lat:" 表达式。

=mid(left(filter(TRANSPOSE(SPLIT(C2,CHAR(10))),isnumber(search("Longitude",TRANSPOSE(SPLIT(C2,CHAR(10)))))),20),12,11)

这个公式很有效。问题是传入的这些信息被插入到电子表格中。并且当插入值时,它们不会保留该单元格中的公式。那么关于如何保留公式以过滤出适用于插入值的 Lat 和 Long #s 的任何建议?显然数组公式不能很好地与过滤器功能配合使用...

这里https://docs.google.com/spreadsheets/d/1OZSDju3hRyGyRfFhHJT2PLQ3DBvcfOAT1ZvNxB-J0DQ/edit?usp=sharing 是工作表的链接...

【问题讨论】:

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


    【解决方案1】:

    使用:

    =ARRAYFORMULA(IFNA(REGEXEXTRACT(C2:C, "Latitude: (.*)\nLongitude: (.*)")))
    

    【讨论】:

    • 而且越来越短=ARRAYFORMULA(IFNAREGEXEXTRACT(C2:C, "ude: (.*)\n.*ude: (.*)"))) :)
    【解决方案2】:

    你可以试试下面的公式

    对于单元格F2 中的Latitude 值,请使用

    =ArrayFormula(IFERROR(REGEXREPLACE(REGEXEXTRACT(C2:C14,"(Latitude:.*)"),"Latitude:","")))
    

    对于单元格G2 中的Longitude 值,请使用

    =ArrayFormula(IFERROR(REGEXREPLACE(REGEXEXTRACT(C2:C14,"(Longitude:.*)"),"Longitude:","")))
    

    使用的功能:

    【讨论】:

      猜你喜欢
      • 2016-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-22
      • 1970-01-01
      相关资源
      最近更新 更多