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

问题描述 投票:0回答:2

在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个字符串中的哪一个?

google-sheets
2个回答
0
投票

如果您可以保证格式良好的输入,这只是将A1的内容分成其组成部分(例如“gender_filter”,“age range”和“my 5 categories”),并选择适当的索引。结果字符串数组。

要将单元格的内容转换为该内容的数组,可以使用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”。


1
投票

如果第一部分“仅”具有小写或数字而最后部分“仅”具有UPPER情况,

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

主播:空间

=REGEXEXTRACT(A31;"\s([A-E]+)$")
© www.soinside.com 2019 - 2024. All rights reserved.