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