当文本可以更改时,如何在Google工作表的单元格中提取文本的确切部分?

时间:2018-02-28 18:57:22

标签: google-sheets

在Google表格电子表格中,我的单元格A1的值为"people 12-14 ABC"。我想将完全匹配的“ABC”提取到另一个单元格中。单元格A1的内容可以改变,例如,到"woman 60+ ABCD"。对于这个输入,我想提取“ABCD”。如果A1代替"woman 12-20 CAE",我会想要“CAE”。

最后一部分可能有5种可能的字符串:(ABC,ABCD,AB,CAE,C),而第一部分非常多(约400种可能性)。

如何确定A1中的5个字符串中的哪一个?

2 个答案:

答案 0 :(得分:1)

如果第一部分“仅”具有小写或数字且最后部分“仅”具有大写字母,

=REGEXREPLACE(D3;"[^A-E]";)

锚点:空间

=REGEXEXTRACT(A31;"\s([A-E]+)$")

答案 1 :(得分:0)

如果你能保证格式良好的输入,这只是将A1的内容分成其组成部分的问题(例如" gender_filter","年龄范围"和& #34;我的5个类别"),并选择得到的字符串数组的适当索引。

要将单元格内容转换为该内容的数组,可以使用SPLIT() function

B1 = SPLIT(A1, " ")

会将条目放入B1,C1和D1,其中D1具有您想要的值 - 提供您的性别过滤器和年龄范围。

由于您可能不想拥有那些多余的垃圾值,因此您希望将完全拆分的结果包含在B1中。为此,我们需要将SPLIT生成的数组传递给可以进行范围或数组输入的函数。作为奖励,我们想要选择该范围的一部分(具体地,最后一个)。为此,我们可以使用INDEX() function

B1 = INDEX(SPLIT(A1, " "), 1, COUNTA(SPLIT(A1, " ")))

这告诉INDEX函数访问由SPLIT生成的范围的第一行和最后一列,对于您提供的输入,它是" ABC", " ABCD"," CAE"。