2015-06-29 9 views
0

Мне нужно найти столбец для идентификаторов 5-9 цифр, которые следуют за термином ^v_cusip= и разделяются запятыми. С первого взгляда казалось, что идентификаторы последовали ^v_sort_order поэтому я попытался:Excel VBA/Formula для поиска Столбец

=MID(A2,FIND("^v_cusip=",A2)+9,(FIND("^v_sort_order=",A2)-(FIND("^v_cusip=",A2)+9))) 

Однако, что следует ^v_cusip= меняется. Есть ли другая формула или код VBA, который я могу использовать для поиска строк? Я не могу неоднократно использовать MID/FIND, поскольку есть тысячи строк с многочисленными вариациями того, что может следовать за ^v_cusip=.

Спасибо!

+0

Вы посмотрели на это? Вы хотите регулярное выражение. http://stackoverflow.com/questions/22542834/how-to-use-regular-expressions-regex-in-microsoft-excel-both-in-cell-and-loops – Charlie

ответ

0
=LEFT(RIGHT(A2;LEN(A2)-FIND("^v_cusip=";A2)-8);FIND("^";RIGHT(A2;LEN(A2)-FIND("^v_cusip=";A2)-8))-1) 

Это покажет только часть между^v_cusip = и следующим символом ^. Вы можете дополнительно разделить строку запятой.

+0

Спасибо! Это сработало! – DragoSalaamii

0

Как выглядит остальные элементы ячейки? В каждой строке есть только знак «=»? Если это так, возможно, вы можете сделать текст в столбцах и использовать знак «=» в качестве разделителя.

После того, как раскол должен поместить идентификатор в предсказуемый столбец.

+0

В ячейках много «=», ну ... – DragoSalaamii

+0

В конце списка идентификаторов всегда есть «^», но в ячейках содержится много «^» – DragoSalaamii

Смежные вопросы