Новости:

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

Главное меню

Извлечение значения из строки

Автор Максим Хузин, 05.04.2013, 15:15

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

Максим Хузин

Добрый день! Прошу помощи. Никак не могу решить задачу.
Есть текстовая строка с наименованием услуги и company id пользователя.
Есть список company id.

Нужно извлечь из строки, только лишь company id и записать в отдельную ячейку.

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

Заранее спасибо.

cheshiki1

=ПРОСМОТР(2;1/ЕЧИСЛО(ПОИСК("*"&'Список companyId'!$A$1:$A$90&"*";Данные!B2));'Список companyId'!$A$1:$A$90)

Максим Хузин

Огромное Вам спасибо!
Даже не представляете как помогли!

Все отлично работает.

Hugo121

#3
Я бы не сказал, что отлично.
Представим, что в списке есть O224, и этот номер находится после O2248, или он такой вообще один.
Или вообще в конце списка забито O2...
Пробелов не хватает:
=ПРОСМОТР(2;1/ЕЧИСЛО(ПОИСК("*"&" "&'Список companyId'!$A$1:$A$90&" "&"*";Данные!B2));'Список companyId'!$A$1:$A$90)
webmoney: E265281470651 Z422237915069

Serge 007

Игорь, ты ли это?!  ;D
Что б уж совсем правильно, можно так (формула массива):
=ИНДЕКС('Список companyId'!A$1:A$90;МИН(ЕСЛИ(ЕЧИСЛО(ПОИСК('Список companyId'!A$1:A$90;B2));СТРОКА($1:$90))))
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Hugo121

#5
Я :)
Сергей, а где пробелы? Тест на O2 твой вариант тоже не проходит - но теперь O2 не нравится в начале списка.
И кроме того, там в критериях есть лишние пробелы, например у M33306. Вроде не мешает, но результаты по этой позиции разные.
webmoney: E265281470651 Z422237915069

DV68

#6
Зачем медленный ПРОСМОТР грузить делением без необходимости?
Причесал:
=ПРОСМОТР(999;ПОИСК(" "&'Список companyId'!A$1:A$90&" ";B10);'Список companyId'!A$1:A$90)

M33306 в критериях 2 шт - один с пробелом, другой без.

Андрей Карпачевский

Будьте добры, помогите с похожей проблемой. Есть таблица MES_MRSK.xlsx, в которой в ячейках встречаются разные значения. хотелось бы в новую колонку собрать все значения "отп." независимо от того, в какой ячейке данной строки оно встречается и замениить на "с отп.".

DV68

В L1 вставляем формулу:
=ПОВТОР("с отп.";СЧЁТ(ИНДЕКС(ПОИСК("отп.";A1:K1);)))
и растягиваем вниз

Андрей Карпачевский

Цитата: DV68 от 05.05.2013, 04:55
В L1 вставляем формулу:
=ПОВТОР("с отп.";СЧЁТ(ИНДЕКС(ПОИСК("отп.";A1:K1);)))
и растягиваем вниз

Спасибо большое! Механизм не совсем понятен, но сам бы и не догадался.