2017-06-22 4 views
1

私はファイルを1つのセルの値を取って、その単一のセルの値に基づいて出力しようとしています。私はセルの1行目、2行目、そして最後の行を抽出する方法を見つけましたが、残念ながら最後の行にネストを得るために私が見ている式は十分に理解できません。シングルセルMicrosoft Excelの最後の行の隣にある抽出

Excelの1つのセルから最後の行のデータの次の行を抽出するにはどうすればよいですか?(フォーラムを理解していると仮定して)簡単に行を抽出する方法がわかりません。あなたの答えにforumlaを説明してください。

セル値

Line 1 
Line 2 
Line 3 
Line 4 

抽出ライン1、2のための式、および最終(順番に)

=IF(ISERROR(LEFT(E2,FIND(CHAR(1),SUBSTITUTE(E2,CHAR(10),CHAR(1),2))-1)),"$a"&LEFT(E2,FIND(CHAR(10),E2)-1),"$a"&LEFT(E2,FIND(CHAR(1),SUBSTITUTE(E2,CHAR(10),CHAR(1),2))-1)):ここ

は、私は現在で働いているものです

=MID(E11,FIND(CHAR(10),E11)+1,FIND(CHAR(1),SUBSTITUTE(E11,CHAR(10),CHAR(1),2))-FIND(CHAR(10),E11)-1)

=IF(ISERROR(RIGHT(E14,LEN(E14)-FIND("@",SUBSTITUTE(E14,CHAR(10),"@",(LEN(E14)-LEN(SUBSTITUTE(E14,CHAR(10),"")))/LEN(CHAR(10)))))),E14,RIGHT(E14,LEN(E14)-FIND("@",SUBSTITUTE(E14,CHAR(10),"@",(LEN(E14)-LEN(SUBSTITUTE(E14,CHAR(10),"")))/LEN(CHAR(10))))))

答えて

1

あなたがスペースに元の文字列が最初に拾うの長さを改行文字のすべてを展開する場合は、2番目の、最後の、最後からは、単純な数学になります。

'first 
=TRIM(LEFT(SUBSTITUTE(A2, CHAR(10), REPT(CHAR(32), LEN(A2))), LEN(A2))) 
'second 
=TRIM(MID(SUBSTITUTE(A2, CHAR(10), REPT(CHAR(32), LEN(A2))), LEN(A2)*1, LEN(A2))) 
'last 
=TRIM(RIGHT(SUBSTITUTE(A2, CHAR(10), REPT(CHAR(32), LEN(A2))), LEN(A2))) 
'next-to-last 
=TRIM(MID(SUBSTITUTE(A2, CHAR(10), REPT(CHAR(32), LEN(A2))), LEN(A2)*(LEN(A2)-LEN(SUBSTITUTE(A2, CHAR(10), ""))-1), LEN(A2))) 
'second-from-last 
=TRIM(MID(SUBSTITUTE(A2, CHAR(10), REPT(CHAR(32), LEN(A2))), LEN(A2)*(LEN(A2)-LEN(SUBSTITUTE(A2, CHAR(10), ""))-2), LEN(A2))) 

'all in sequence when filled down (E3 per supplied image) 
=TRIM(MID(SUBSTITUTE(A$2, CHAR(10), REPT(CHAR(32), LEN(A$2))), LEN(A$2)*(ROW(1:1)-1)+1, LEN(A$2))) 

enter image description here

+0

これ、先生やマダム、美しいです –

0

考えてみましょう:

=TRIM(MID(SUBSTITUTE($A1,CHAR(10),REPT(" ",999)),(LEN(A1)-LEN(SUBSTITUTE(A1,CHAR(10),"")))*999-998,999)) 

enter image description here

関連する問題