Brain Bender ...数组公式不使用 FILTER 函数填充单元格
Brain Bender... Array formula not filling cells with FILTER function
所以我正在尝试从行分隔信息中提取特定数据。
City: Kitty
State: Bliss
Country: Narnia
Latitude: 89.1023
Longitude: -123.4567
我想将实际纬度坐标提取到 1 列,将经度坐标提取到另一列。
所以我构建了一个函数,将数据拆分为单独的单元格,垂直转置,搜索“Latitude”,测试数字,returns 与 Latitude 一致,从左侧获取 # 个字符,然后获取 # 个字符从 "Lat: " 表达式之后的中间开始。
=mid(left(filter(TRANSPOSE(SPLIT(C2,CHAR(10))),isnumber(search("Longitude",TRANSPOSE(SPLIT(C2,CHAR(10)))))),20),12,11)
这个公式很管用。问题是这个进来的信息被插入了传播sheet。当插入值时,它们不会保留该单元格中的公式。那么关于如何保留公式以过滤掉适用于插入值的 Lat 和 Long #s 的任何建议?显然 arrayformulas 不能很好地处理过滤函数...
这里https://docs.google.com/spreadsheets/d/1OZSDju3hRyGyRfFhHJT2PLQ3DBvcfOAT1ZvNxB-J0DQ/edit?usp=sharing是link到sheet...
你可以试试下面的公式
对于单元格 F2
中的 Latitude
值,请使用
=ArrayFormula(IFERROR(REGEXREPLACE(REGEXEXTRACT(C2:C14,"(Latitude:.*)"),"Latitude:","")))
对于单元格 G2
中的 Longitude
值,请使用
=ArrayFormula(IFERROR(REGEXREPLACE(REGEXEXTRACT(C2:C14,"(Longitude:.*)"),"Longitude:","")))
使用的函数:
使用:
=ARRAYFORMULA(IFNA(REGEXEXTRACT(C2:C, "Latitude: (.*)\nLongitude: (.*)")))
所以我正在尝试从行分隔信息中提取特定数据。
City: Kitty
State: Bliss
Country: Narnia
Latitude: 89.1023
Longitude: -123.4567
我想将实际纬度坐标提取到 1 列,将经度坐标提取到另一列。 所以我构建了一个函数,将数据拆分为单独的单元格,垂直转置,搜索“Latitude”,测试数字,returns 与 Latitude 一致,从左侧获取 # 个字符,然后获取 # 个字符从 "Lat: " 表达式之后的中间开始。
=mid(left(filter(TRANSPOSE(SPLIT(C2,CHAR(10))),isnumber(search("Longitude",TRANSPOSE(SPLIT(C2,CHAR(10)))))),20),12,11)
这个公式很管用。问题是这个进来的信息被插入了传播sheet。当插入值时,它们不会保留该单元格中的公式。那么关于如何保留公式以过滤掉适用于插入值的 Lat 和 Long #s 的任何建议?显然 arrayformulas 不能很好地处理过滤函数...
这里https://docs.google.com/spreadsheets/d/1OZSDju3hRyGyRfFhHJT2PLQ3DBvcfOAT1ZvNxB-J0DQ/edit?usp=sharing是link到sheet...
你可以试试下面的公式
对于单元格 F2
中的 Latitude
值,请使用
=ArrayFormula(IFERROR(REGEXREPLACE(REGEXEXTRACT(C2:C14,"(Latitude:.*)"),"Latitude:","")))
对于单元格 G2
中的 Longitude
值,请使用
=ArrayFormula(IFERROR(REGEXREPLACE(REGEXEXTRACT(C2:C14,"(Longitude:.*)"),"Longitude:","")))
使用的函数:
使用:
=ARRAYFORMULA(IFNA(REGEXEXTRACT(C2:C, "Latitude: (.*)\nLongitude: (.*)")))