Разбор текстовой строки в Excel

476
Tom Putney

У меня есть следующие строки текста в ячейках Excel, и мне нужно получить значение с символом «%». Я пробовал несколько подходов с помощью FIND, MID, LEN, SUBSTITUTE и т. Д., Но пока не нашел решения.

99.3SN .7CU 1% LV-1000 ON TAPE (I need "1%")  96.5SN 3AG .5CU .5% LV1000 SPECIAL SHAPE (I need ".5%")  96.5SN 3AG .5CU .5% LV1000 SPECIAL SHAPE (I need ".5%") 96.5SN 3.5AG .75-1% LV-1000 ON TRAY (I need ".75-1%") 92.5PB 5SN 2.5AG .75% LV-1000 (I need ".75%") 

Любая помощь, чтобы указать мне в правильном направлении, будет принята с благодарностью.

0

2 ответа на вопрос

2
bvaughn

There is either a "CU" or "AG" followed by a space and a %
What we want is the data after the space through the %

The following shows how to do this step by step with only one formula per cell, This could be combined into a single formula, but I think this is easier for someone to follow or modify

assumes the data is in A1,A2,...

in C1:

  • =+IFERROR(FIND("AG",A1),FIND("CU",A1))
    this will get the location of the AG or CU

in D1:

  • =+FIND(" ",A1,1+C1)
    this gets the location of the space by looking for a space starting past the previous found AG or CU.

in E1:

  • =+FIND("%",A1)
    this finds the %

in F1:

  • =+MID(A1,D1+1,E1-D1)
    this pulls out the data by using the location of the space and the location of the %
почему вы начинаете все свои формулы с `+`? Máté Juhász 8 лет назад 0
Я часто превращаю уравнение в названное уравнение. Для этого я копирую и вставляю в менеджер имен. В результате я начинаю с + как привычка. Без + сложнее правильно отцентрировать мышь для того, что нужно скопировать (= xyz сложнее, чем = + xyz, потому что не имеет значения, если я возьму + или нет, xyz и + xyz работают, = xyz будет не работает, так как имя менеджера имеет = слева) bvaughn 8 лет назад 0
0
Máté Juhász

You can achieve it with a simple formula after installing reg-ex add-in:

=RegExFind(A1,"[-.0-9]*%")

enter image description here

Спасибо, спасибо, спасибо, приятель! Это сработало блестяще! Извините, я не ответил ранее. Был на других проектах. Еще раз спасибо! Tom Putney 8 лет назад 0
Хотели бы вы поделиться с VBA кодом, стоящим за функцией RegExFind? Я пытаюсь углубить свое понимание того, как создавать функции с помощью регулярных выражений, и буду благодарен за помощь. Любые хорошие ресурсы для этого, которые вы можете порекомендовать, также будут оценены. Еще раз спасибо за вашу помощь. Tom Putney 8 лет назад 0
Это дополнение не написано мной, поэтому даже у меня нет доступа к нему. Также я не очень понимаю ваш вопрос, если вы хотите узнать больше о регулярных выражениях, которые не требуют, чтобы вы видели код. Регулярные выражения обычно не используются в Excel, если вы хотите попрактиковаться, вы можете найти больше результатов, связанных с notepad ++ Máté Juhász 8 лет назад 0

Похожие вопросы