首页 > 解决方案 > 如何仅从字符串中提取最后两行文本?

问题描述

A1

88'



21



Corinthians
SE Palmeiras

A2

90'
+1


03

Club Sporting Canamy
Reboceros de La Piedad

中的当前公式B1

=ARRAYFORMULA(TRANSPOSE(QUERY(QUERY(TRANSPOSE(SPLIT(TRIM(A1:A),char(10))),,2),"offset 1")))

我的预期结果是收集作为两个名称的最后两行文本,将第一个名称留在一个列中,将第二个名称留在另一个列中,如下所示:

COLUMN B                   COLUMN C

Corinthians                SE Palmeiras
Club Sporting Canamy       Reboceros de La Piedad

问题是,根据每个单元格中包含文本的行数,标题的结果和QUERY 偏移量的删除最终会有所不同,我可以使用什么公式来始终收集最后两行文本细绳?

标签: google-sheetsgoogle-sheets-formula

解决方案


您可以使用公式REGEXEXTRACT()来执行此任务。正则表达式"(.*\n.*)$"允许您从末尾选择一行任意字符.*+ 换行符\n+ 另一行任意字符。.*$

结果,我们有一个内部有两条线的单元格。使用SPLIT()公式将其拆分为两列。

现在我们将所有内容包装在一个数组公式中,并检查空行。如果原始行为空,我们跳过它

=ARRAYFORMULA((if(A1:A<>"",split(REGEXEXTRACT(A1:A,"(.*\n.*)$"),char(10)),)))


推荐阅读