2016-10-18 5 views
1

У меня есть несколько строк информации, извлеченных из отчета в столбцах C и D, в основном это описание, которое кто-то хочет сделать с учетной записью, которую они также, конечно, используют, дает вам номер учетной записи, что я хочу сделать извлеките эту подстроку критерии, которые я использую, так это то, что он должен начинаться с буквы А и должен быть как минимум на 17 символов, номера счетов имеют комбинацию букв и цифр, но все они начинаются с буквы А, т. е. A8H66P66FHDSJ2YNTP, часть этой учетной записи числа имеют до 25 символов, некоторые из них имеют 19 примерно 17, так что я ищу, чтобы извлечь подстроку из строки, которая начинается с буквы A и ее по меньшей мере 17 символов.Извлечение подстроки с критериями

+0

Покажите нам, что вы попробовали, и мы будем рады помочь. Но сначала прочитайте страницы HELP для получения информации о [Как задать хороший вопрос] (http://stackoverflow.com/help/how-to-ask); а также [Как указать пример] (http://stackoverflow.com/help/mcve). –

ответ

1

Попробуйте использовать RegEx, как показано в следующем примере:

Sub Test() 

    Dim oCell, oMatch 

    With CreateObject("VBScript.RegExp") 
     .Global = True 
     .MultiLine = True 
     .IgnoreCase = True 
     .Pattern = "\bA[A-Z0-9]{16,24}\b" 
     For Each oCell In ThisWorkbook.Sheets("Sheet1").Range("C1:D1000") 
      For Each oMatch In .Execute(oCell.Value) 
       Debug.Print oMatch.Value 
      Next 
     Next 
    End With 

End Sub 
+0

uhhh глупый вопрос .... как вставить значения, найденные в столбце F соответствующей строки .... ???? –

+0

также показывает только первые 199 результатов –

0

решение формула:

=IFERROR(TRIM(MID(SUBSTITUTE(C1," ",REPT(" ",LEN(C1))),LEN(C1)*(MATCH(TRUE,INDEX(ISNUMBER(SEARCH("A"&REPT("?",17),TRIM(MID(SUBSTITUTE(C1," ",REPT(" ",LEN(C1))),LEN(C1)*(ROW($1:$100)-1)+1,LEN(C1))))),),0)-1)+1,LEN(C1))),"No Account Number") 
+0

Почему это (ROW ($ 1: $ 10)) –

+0

Формула предполагает, что описание представляет собой предложение слов с разделителями пространства. Без выборочных данных и ожидаемых результатов это было наилучшее предположение. предоставить образцы данных и ожидаемые результаты, я могу настроить его так, чтобы он соответствовал вашим данным. – tigeravatar

+0

Пример в столбце C: «Добрый день, можете ли вы разместить это объявление для моего клиента?» AJ25N46JNQCTGF32K5Z Пожалуйста, дайте мне знать, если вам нужно что-то еще и т. д. и т. д. ». Ожидаемый результат в столбце F« AJ25N46JNQCTGF32K5Z »(не все описания состояния учетной записи, а затем номер учетной записи, иногда номер учетной записи находится в начале –

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