从字符串返回特定值

时间:2017-09-05 20:05:27

标签: excel-formula

2.375;26.375;0.743|98.375;26.375;0.743|98.375;2.375;0.743|2.375;***2.375***;0.743|2.375;26.375;0.743555

我正在尝试在第3 2.375之后返回等于"|"的第二个值。最好的方法是什么?

谢谢!

2 个答案:

答案 0 :(得分:0)

假设字符串在单元格A1中(并且数字的长度始终为5个字符),则以下公式将起作用:

 =MID(A1,FIND(";",A1,FIND("|",A1,FIND("|",A1,FIND("|",A1)+1)+1)+1)+1,5)

或 - 要处理任何长度的数字,你可以这样做:

=MID(A1,FIND(";",A1,FIND("|",A1,FIND("|",A1,FIND("|",A1)+1)+1)+1)+1,FIND(";",A1,FIND(";",A1,FIND("|",A1,FIND("|",A1,FIND("|",A1)+1)+1)+1)+1)-FIND(";",A1,FIND("|",A1,FIND("|",A1,FIND("|",A1)+1)+1)+1)-1)

答案 1 :(得分:0)

此公式将在第三个|之后显示第二个数字,无论大小如何。

=--TRIM(MID(SUBSTITUTE(TRIM(MID(SUBSTITUTE(A1,"|",REPT(" ",999)),3*999,999)),";",REPT(" ",999)),999,999))

enter image description here

我们可以轻松地使这个公式动态化:

=--TRIM(MID(SUBSTITUTE(TRIM(MID(SUBSTITUTE(A4,"|",REPT(" ",999)),(C1-1)*999+1,999)),";",REPT(" ",999)),(C2-1)*999+1,999))

这将允许您指定组中的组和序列以返回所需的数字。

enter image description here