Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Поиск и подстановка значения - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Поиск и подстановка значения
Ex11 Дата: Среда, 26.09.2012, 10:56 | Сообщение № 1
Группа: Гости
Здравия.
Прошу прощения, если задача тривиальная, но сам уже второй день не могу сообразить :/
есть столбец с текстом, надо просмотреть текст на наличие слова из другой таблицы и в ячейку рядом поставить значение соответствующие второй таблице.

пример:
Quote

Текст:
ааа ббб а1 ввв
ддд ффф а2 ввв
ддд еее а3 ффф

Quote

таблица2
а1;111
а2;222
а3;333

Quote

результат:
ааа ббб а1 ввв;111
ддд ффф а2 ввв;222
ддд еее а3 ффф;333


помогите, пожалуйста.
 
Ответить
СообщениеЗдравия.
Прошу прощения, если задача тривиальная, но сам уже второй день не могу сообразить :/
есть столбец с текстом, надо просмотреть текст на наличие слова из другой таблицы и в ячейку рядом поставить значение соответствующие второй таблице.

пример:
Quote

Текст:
ааа ббб а1 ввв
ддд ффф а2 ввв
ддд еее а3 ффф

Quote

таблица2
а1;111
а2;222
а3;333

Quote

результат:
ааа ббб а1 ввв;111
ддд ффф а2 ввв;222
ддд еее а3 ффф;333


помогите, пожалуйста.

Автор - Ex11
Дата добавления - 26.09.2012 в 10:56
Hugo Дата: Среда, 26.09.2012, 11:06 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365
Добрый день.
Судя по этому примеру - вполне можно обойтись ВПР() или несложным макросом сделать работу.
Но если мы сделаем свой файл с решением - думаю 90% это решение Вам не подойдёт.
Поэтому согласно правилам покажите свой файл с данными - и со всеми вариантами исходных данных (но не нужно тысячи строк, хватит по одному образцу каждого расположения нужных данных в строке).


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеДобрый день.
Судя по этому примеру - вполне можно обойтись ВПР() или несложным макросом сделать работу.
Но если мы сделаем свой файл с решением - думаю 90% это решение Вам не подойдёт.
Поэтому согласно правилам покажите свой файл с данными - и со всеми вариантами исходных данных (но не нужно тысячи строк, хватит по одному образцу каждого расположения нужных данных в строке).

Автор - Hugo
Дата добавления - 26.09.2012 в 11:06
Ех11 Дата: Среда, 26.09.2012, 11:54 | Сообщение № 3
Группа: Гости
Hugo, тут ненашел как прикрепить файл, разместил вопрос в другом месте.
Благодарю, попробую с ВПР()
 
Ответить
СообщениеHugo, тут ненашел как прикрепить файл, разместил вопрос в другом месте.
Благодарю, попробую с ВПР()

Автор - Ех11
Дата добавления - 26.09.2012 в 11:54
Hugo Дата: Среда, 26.09.2012, 11:58 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеДругое место:
http://www.planetaexcel.ru/forum.php?thread_id=45626

Автор - Hugo
Дата добавления - 26.09.2012 в 11:58
Hugo Дата: Среда, 26.09.2012, 12:49 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365
Выполнять при активном нужном листе - можно код поместить в модуль этого листа:
[vba]
Code
Sub tt()
     Dim a(), i&, t$
     a = [g2].CurrentRegion.Value
     With CreateObject("scripting.dictionary")
         For i = 2 To UBound(a): .Item(a(i, 1)) = a(i, 2): Next
         a = [b2].CurrentRegion.Value
         ReDim b(1 To UBound(a), 1 To 1)
         b(1, 1) = "Data"
         For i = 2 To UBound(a)
             t = Replace(Split(a(i, 1), "USER^ ^")(1), "^", "")
             If .exists(t) Then b(i, 1) = .Item(t)
         Next
     End With
     [c2].Resize(UBound(b), 1) = b
End Sub
[/vba]


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеВыполнять при активном нужном листе - можно код поместить в модуль этого листа:
[vba]
Code
Sub tt()
     Dim a(), i&, t$
     a = [g2].CurrentRegion.Value
     With CreateObject("scripting.dictionary")
         For i = 2 To UBound(a): .Item(a(i, 1)) = a(i, 2): Next
         a = [b2].CurrentRegion.Value
         ReDim b(1 To UBound(a), 1 To 1)
         b(1, 1) = "Data"
         For i = 2 To UBound(a)
             t = Replace(Split(a(i, 1), "USER^ ^")(1), "^", "")
             If .exists(t) Then b(i, 1) = .Item(t)
         Next
     End With
     [c2].Resize(UBound(b), 1) = b
End Sub
[/vba]

Автор - Hugo
Дата добавления - 26.09.2012 в 12:49
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!