Brain Bender ...数组公式未使用FILTER函数填充细胞

问题描述

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

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

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

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

此公式效果很好。问题在于输入的信息已插入电子表格中。并且当插入值时,它们不会在该单元格中保留公式。那么,关于如何保留公式以滤除适用于插入值的经纬度和纬度的任何建议?显然arrayformulas不能与过滤器功能配合使用...

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

解决方法

使用:

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

enter image description here

,

您可以尝试以下公式

对于您在Latitude单元格中的F2值使用

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

对于您在Longitude 单元格中的G2值使用

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

enter image description here

使用的功能: