Новости:

Теперь на форум можно залогиниться / зарегистрироваться с помощью ВКонтакте. Уже существующие пользователи могут связать свою учетную запись с аккаунтом ВКонтакте одним кликом в профиле пользователя http://forum.msexcel.ru/index.php?action=profile;area=account

Главное меню

Поиск значений которые содержат цыфры либо цыфры с буквами

Автор garegin, 03.06.2012, 02:10

« назад - далее »

garegin

Здраствуйте подскажите как можно сделать следующее есть два списка
В одном номер и название и в другом только название
Нужно во втором файле сравнить название с первым и при совпадении вставить номер из перфого файла
Проблема в том что названия отличаются поэтому нужна формула которая ищет совпадения цифр либо цифр с буквами от пробела до пробела(пробел разделяет слова).Подробнее в файле

Serge 007

Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

MCH


garegin

Спасибо за ваше решение, скажите пробую тоже самое сделать с полным списком, но не получается, если не сложно можете посмотреть. Внизу прикрепил файл

Serge 007

Цитата: garegin от 03.06.2012, 15:06
...пробую тоже самое сделать с полным списком, но не получается...
Я уже ответил:
Цитата: Serge 007 от 03.06.2012, 02:29
Это практически невыполнимо

ЗЫ То что предложил Михаил - работает, но для определенных условий расположения данных. Вам же надо, что бы Excel думал, а это невозможно
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

garegin

То что михаил предложил извлекать данные которые содержат цифры и цифры с буквами работает. По сути может извлечь таким образом данные из заголовка 1 и заголовка 2, а затем сравнить через впр. Тогда в этом случае скажите какую формулу можно написать чтобы впр искал совпадения цыфр и цыфр с буквами, без учета пробела  тере(-), " и т.д.

MCH

вариант для большого масива, только находится далеко не все

Serge 007

Вы мои посты читаете?
Вы макрос МСН пытались применить?
На определенные выводы не наводит?
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

garegin

Спасибо вам МСН за ваше решение, скажите пожалуйста а можно ли в ваш макрос дописать функцию, чтобы если встечались в одной строке две фразы в которых содержатся цифры либо цифры с буквами извлекались те которые имеют больше символов. ::) ::) ::)

MCH

Function ExtractNumber$(txt$)
Dim i&, x, k&, flag As Boolean
For Each x In Split(txt)
    k = 0: flag = False
    For i = 1 To Len(x)
        m = Mid$(x, i, 1)
        If m Like "[-0-9A-Za-z]" Then k = k + 1
        If IsNumeric(m) Then flag = True
    Next i
    If k = Len(x) And k > 0 And flag Then If Len(x) > Len(ExtractNumber) Then ExtractNumber = x
Next x
End Function


в строке:
G4205 См-ль д/кухни BURMST35 однор.с лат.г. "Frap"
что нужно извлекать "G4205" или "BURMST35"?

garegin

Нужно извлечь G4205.
ЦитироватьСпасибо вам МСН за ваше решение, скажите пожалуйста а можно ли в ваш макрос дописать функцию, чтобы если встечались в одной строке две фразы в которых содержатся цифры либо цифры с буквами извлекались те которые имеют больше символов.
Этот макрос я хочу применить не для  2 списка с заголовками, а для первого. Просто чтобы увеличить процент совпадения, хотел попробовать чтобы извлечь цифры и цифры с буквами из первого и второго списка и затем сравнить их, с помощью вашей формулы ЕСЛИ(I567="";"";ИНДЕКС($A$7:$A$1351;ПОИСКПОЗ("* "&I567&"*";$B$7:$B$1351;)))
В первом списке некоторые названия указаны в формате серия а затем модель например Hansgrohe Focus E2 31921000
E2 это серия а 31921000 модель, но это только для первого списка.  :) :) :)

garegin

ЦитироватьFunction ExtractNumber$(txt$)
Dim i&, x, k&, flag As Boolean
For Each x In Split(txt)
    k = 0: flag = False
    For i = 1 To Len(x)
        m = Mid$(x, i, 1)
        If m Like "[-0-9A-Za-z]" Then k = k + 1
        If IsNumeric(m) Then flag = True
    Next i
    If k = Len(x) And k > 0 And flag Then If Len(x) > Len(ExtractNumber) Then ExtractNumber = x
Next x
End Function
Код не срабатывает прикрепил файл

MCH

Цитата: garegin от 03.06.2012, 18:11
Код не срабатывает прикрепил файл
Где именно не срабатывает?
Вы попробывали заменить код функции ExtractNumber?
Что такое "Extract1"? функции с таким именем в файле нет

garegin

Я попытался создать еще один макрос с такой же функцией  и назвал Extract1
ЦитироватьFunction Extract1$(txt$)
Dim i&, x, k&, flag As Boolean
For Each x In Split(txt)
    k = 0: flag = False
    For i = 1 To Len(x)
        m = Mid$(x, i, 1)
        If m Like "[-0-9A-Za-z]" Then k = k + 1
        If IsNumeric(m) Then flag = True
    Next i
    If k = Len(x) And k > 0 And flag Then If Len(x) > Len(Extract1) Then Extract1 = x
Next x
End Function
Чтобы попытаться вывести цифры либо цифры с буквами из таблицы B