2017-09-05 5 views
-1
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の値を2.375に戻そうとしています。これを行う最善の方法は何ですか?文字列から特定の値を返す

ありがとうございます!文字列をAsuming

+0

検索が最善の方法 –

+0

あるそれは常に '三後の第二ですか|'? –

+0

私は最終的にこの式を操作する方法を考え出しましたが、それがなぜ機能するのかを理解するためには、これをもっと深く研究する必要があることは認めています。これを書くより簡単な方法があれば、私は= TRIM(LEFT(SUBSTITUTE(MID)、A6、FIND( "_"、SUBSTITUTE(A6、 ";"、 "_"、7))+ 1、 LEN (A6))、 ";"、REPT( ""、LEN(A6))、LEN(A6))) – user8565502

答えて

0

は、セルA1にある(と数字は、常に長さが5つの文字です)、以下の式が動作します:

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

をOR - あなたがこれを行うことができます任意の長さの数を処理するために:

=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) 
0

この式では、サイズに関係なく、3番目の数字の後に2番目の数字が表示されます。|

=--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

関連する問題