2016-04-27 19 views
0

ich eine Spalte in meiner Datei habe, wobei jede Zelle einen Text in folgendem Format enthält:Extract letzte Zeile in Excel-Zelle

dd/mm/yyyy: blah blah blah 

dd/mm/yyyy: blah blah blah 

dd/mm/yyyy: blah blah blah 

Ich mag die letzte Bemerkung von dieser Zelle extrahieren können (um zu sehen, als es zuletzt aktualisiert wurde). Ich habe versucht, die folgende Formel

IF(ISERROR(RIGHT(H447,FIND(CHAR(10),H447))),H447,RIGHT(H447,FIND(CHAR(10),H447))) 

die ich dachte, würde in der Theorie zeigen mir alles ab dem letzten Zeilenumbruch zu verwenden, aber es funktioniert nicht. Es würde mir zeigen, das obige Beispiel nehmend

lah blahdd/mm/yyyy: blah blah blah 

Ich kann nicht herausfinden, warum das nicht richtig funktioniert. Oder ist der einzige Weg, dies realistisch zu machen, Makros zu verwenden?

+0

Die Formel scheint zu funktionieren für mich. – OldUgly

+0

Obwohl dies etwas besser ist, weil es den letzten Zeilenvorschub streift ... '= IF (ISERROR (RECHTS (A1, FIND (CHAR (10), A1) -1)), A1, RECHTS (A1, FIND (CHAR (10), A1) -1)) '(zum Testen lege ich den Inhalt in'A1', nicht' H447' – OldUgly

+0

. Es funktioniert nicht, wenn die Länge der einzelnen Zeilen unterschiedlich ist. Die FIND findet den ersten CHAR (10) wenn du das letzte CHAR (10) finden willst, – OldUgly

Antwort

2

Zuerst siehe this post bei der Bestimmung des letzten Auftretens eines Zeichens in einer Zeichenfolge.

Die folgende Formel wird erreichen, was Sie nach ...

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

recht lang, aber effektive ...

enter image description here

+0

Das funktioniert wirklich gut, ich habe noch nie so einen Ersatz verwendet gesehen , wirklich schlau, danke! – Gurdeep

+0

@OldUgly Können Sie durchgehen, was Ihre Formel macht ? Ich bin nicht gerade ein Super User und ich würde gerne modifizieren, was Sie dort tun, um etwas wie die vorletzte Zeile zu machen. –