2017-10-02 1 views
2

Ich habe die folgende Situation in Excel. Column A enthält eine Liste von Kriterien (zB S & P TSX 60), während B1 eine Liste von zusammengesetzter Benchmarks mit Prozentsatz vor jedem Benchmark enthält:Suchen und extrahieren Teilstring aus einer Zelle

5% S&P 500/ 
25% S&P 500 Financial/ 
50% S&P TSX 60 (ex-Energy)/ 
20% CAC 40 


Ich brauche extrahieren zu können, die Prozentsatz, wenn die Composites den Benchmark enthalten. Ich konnte das meiste davon machen, aber ich kann den Datenvalidierungsschritt nicht herausfinden.

Wie Sie in der Abbildung S & P TSX 60 ist nicht in dem Verbund, aber S & P TSX 60 (ex-Energy) ist zu sehen. Die Formel gibt jedoch immer noch den Prozentsatz sowohl für S & P TSX 60 als auch S & P TSX 60 (ex-Energy) zurück.

Welche zusätzliche Sache wird in der Excel-Formel benötigt, um dies zu verhindern?

Oder wird es in VBA einfacher sein?

+0

Ist es möglich, diese beiden Zellen zu trennen? Es wäre viel einfacher zu tun, wenn Sie das irgendwo in eine vierreihige Gruppe aufteilen könnten ... – BruceWayne

+3

Die prozentualen Benchmarks sind durch '/' getrennt, so dass Sie '/' zu 'A2 &"/"' hinzufügen und auch hinzufügen können ein Schrägstrich zu "B $ 1 &"/"' weil der letzte Eintrag keinen hat. Dies bedeutet, dass 'S & P TSX 60 /' nicht in 'S & P TSX 60 (ex-Energy) /' – Gordon

+0

gefunden wird. Ich habe Gordons Antwort getestet und es ist genau das, was ich brauchte. Vielen Dank an Gordon! – nonamefound13

Antwort

0

Diese Formel sollte für Sie arbeiten:

=IFERROR(MID($B$1,FIND(A2&"/",$B$1&"/")-4,3),"") 

Aber Sie sollte @Gordon Kredit für seine großartige Idee geben.

0

Versuchen Sie, diese Formel =IFERROR(LEFT(MID($B$1,SEARCH(A2&"/",$B$1,1)-4,LEN(A2)),3),"-")

enter image description here

Verwandte Themen