|
Поочередный поиск слов в ячейке с текстом
|
|||
---|---|---|---|
#18+
Добрый день! Не могу найти решения следующей задачи. На первом листе в столбце A имеем некий текст (SMS от банка), этот текст в себя помимо прочего включает в себя название супермаркета/кафе/магазина, где были списаны деньги. На втором листе имеем характерный кусок текста из SMS, и категорию расходов, куда такую SMS надо отнести. Соответственно каждой SMS с первого листа надо сопоставить категорию расходов со второго (с вычленением суммы и даты из SMS проблем нет). Я такую задачу решил, но супер не изящно – вместо использования списка текстов и соответствующих категорий, я вколотил огромную формулу с кучей «ПОИСК(»-ов, где последовательно ищу или то, или другое, и ЕСЛИ( найдено, присваиваю категорию. Формула некрасивая, и тяжело поддерживаемая. К сожалению, каких-то четких ограничителей для определения категоризируемого текста нет (не получается, например, с такого-то по такой-то символ брать, или, например, найти определенные символы и считать, что это начало, а какие-то другие символы – это конец). Может здесь можно как-то использовать формулы массивов, в которых я плыву и сделать это все более изящно. В общем-то вопрос, как организовать поочередный поиск слов в ячейке, с выводом в соседнем столбце категории, к которой относится найденное слово. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2016, 20:48 |
|
Поочередный поиск слов в ячейке с текстом
|
|||
---|---|---|---|
#18+
А какие сложности? Пиши функцию. Есть текст. Есть диапазон, в каждой ячейке которого лежит слово. Нужно перебрать по одной ячейке диапазона, пока очередное слово при поиске в тексте не даст ненулевую позицию, и вернуть это слово. Типа (код причешешь): Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
Полученное значение использовать как аргумент функции ВПР() для возврата соответствующего значения категории. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2016, 23:37 |
|
Поочередный поиск слов в ячейке с текстом
|
|||
---|---|---|---|
#18+
Akina, большое спасибо! К сожалению в VBA не силен, поэтому причесать вряд ли смогу, но обязательно попробую! Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 00:01 |
|
Поочередный поиск слов в ячейке с текстом
|
|||
---|---|---|---|
#18+
Igor_Exc_Run, авторНа первом листе в столбце A имеем некий текст (SMS от банка), этот текст в себя помимо прочего включает в себя название супермаркета/кафе/магазина, где были списаны деньги. На втором листе имеем характерный кусок текста из SMS, и категорию расходов, куда такую SMS надо отнести. Соответственно каждой SMS с первого листа надо сопоставить категорию расходов со второго (с вычленением суммы и даты из SMS проблем нет). Решение в обратную сторону не предлагать? Например, через "СУММЕСЛИМН" можно каждой категории сопоставить общую сумму соответствующих SMSок. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 08:01 |
|
Поочередный поиск слов в ячейке с текстом
|
|||
---|---|---|---|
#18+
Egoр, спасибо за участие! К сожалению обратное решение, действительно, не подойдет для моей задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 12:30 |
|
Поочередный поиск слов в ячейке с текстом
|
|||
---|---|---|---|
#18+
Akina, спасибо большое вам за помощь, но к сожалению, предложенная вами функция на моем примере выдает ошибку #ЗНАЧ! К сожалению, не будучи силен в VBA, не понимаю, что следует поправить, чтобы функция заработала. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 13:14 |
|
Поочередный поиск слов в ячейке с текстом
|
|||
---|---|---|---|
#18+
Igor_Exc_Runпредложенная вами функция на моем примере выдает ошибку #ЗНАЧ!Это только шаблон кода, который следует доработать. Igor_Exc_Runне будучи силен в VBA, не понимаю, что следует поправить, чтобы функция заработала.Ну вариантов немного. Выучить VBA, нанять специалиста, забить на проблему. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 13:47 |
|
Поочередный поиск слов в ячейке с текстом
|
|||
---|---|---|---|
#18+
Всем большое спасибо за участие, моя проблема была в том, что искал только в русскоязычном интернете. Решение без VBA, если кому-то будет интересно: https://exceljet.net/formula/get-first-match-cell-contains ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 14:04 |
|
Поочередный поиск слов в ячейке с текстом
|
|||
---|---|---|---|
#18+
Igor_Exc_Run, Excel - мощный продукт. Спс. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.09.2016, 15:08 |
|
Поочередный поиск слов в ячейке с текстом
|
|||
---|---|---|---|
#18+
Прошу, прощения, если это некорректно (тогда прошу удалить мое сообщение), но недавно написал статью по этой теме, быть может кому то пригодится: http://itismylife.ru/2017/10/vpr-po-chastichnomu-sovpadeniyu/ Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2017, 19:45 |
|
Поочередный поиск слов в ячейке с текстом
|
|||
---|---|---|---|
#18+
Igor_Exc_Run, формула для решения задачи этой темы в Excel 2007 Код: plaintext
В 2010 и позднее, наверно, можно короче - проверить не могу Код: plaintext
Что касается статьи: 1. Почти уверен, что на русском языке информация о ней (формуле) публикуется впервые! Да ладно, на любом форуме по Excel можно найти подобную задачу и формулу для ее решения. Вот недавно я отвечал и рассказывал, как эта формула работает: http://forum.ixbt.com/topic.cgi?id=23:46275 2. Жаль, что не приложили файл Excel к статье. Изучать работу формул по картинкам как-то не очень. 3. В целом полезно ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2017, 23:25 |
|
Поочередный поиск слов в ячейке с текстом
|
|||
---|---|---|---|
#18+
Казанский, спасибо большое за ваши конструктивные замечания и за очень интересное решение! 1. Убрал излишнюю фразу в своем блоге, видимо, плохо гуглил, да и тут мне год назад никто не смог подсказать, поэтому создалось впечатление, что задача встречается впервые в зоне .ru 2. Не приложил файл, потому что пока не научился в Wordpress аккуратно прикреплять файлы, как научусь, обязательно прикреплю. Еще раз спасибо за ваше решение, в комментариях к своей записи в блоге добавил ссылку на вашу формулу. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2017, 19:14 |
|
|
start [/forum/topic.php?fid=61&gotonew=1&tid=2172456]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 156ms |
0 / 0 |