我如何从用分号分隔的字符串中提取第一个和最后一个数字?

问题描述 投票:1回答:4

我在单元格A1中有一个字符串

7;19;28;42;

我想提取第一个和最后一个数字。我已经使用它成功提取了第一个数字

=IF(ISERROR(LEFT($a1,FIND(";",$a1)-1)),$a1,LEFT($a1,FIND(";",$a1)-1))

我已经用它来尝试提取最后一个数字

=IF(ISERROR(RIGHT($a1,FIND(";",$a1)+1)),$a1,RIGHT($a1,FIND(";",$a1)+1))

但是我发现的问题是,最后一个数字通常在分号前后都有分号。反正只是提取数字吗?

excel excel-formula
4个回答
1
投票

获得第一个的更短的版本:

=LEFT($A1,FIND(";",$A1 & ";")-1)

获得最后一个:

=SUBSTITUTE(MID($A1,FIND("}}}",SUBSTITUTE(";" & $A1,";","}}}",LEN(";" & $A1)-LEN(SUBSTITUTE(";" & $A1,";",""))-1)),LEN($A1)),";","")

enter image description here


0
投票

仅用于BFF Friday-Brainstorm-Fun的替代解决方案:)

第一个号码

=FILTERXML("<t><s>"&SUBSTITUTE(A1,";","</s><s>")&"</s></t>","t/s[1]")

最后一个数字:

=--TRIM(RIGHT(SUBSTITUTE(LEFT(A1,LEN(A1)-1),";",REPT(" ",500)),100))

Solutions


0
投票

仅出于我自己的娱乐目的,在所有这些情况下获得最后一个数字的人:

=TRIM(RIGHT(SUBSTITUTE(TRIM(SUBSTITUTE(A1,";"," "))," ",REPT(" ",LEN(A1))),LEN(A1)))

enter image description here


0
投票

提取第一个数字:

=-LOOKUP(1,-LEFT(A1,ROW($1:$9)))

提取最后一个数字:

=-LOOKUP(1,-RIGHT(TRIM(SUBSTITUTE(A1,";"," ")),ROW($1:$9)))
© www.soinside.com 2019 - 2024. All rights reserved.