| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программирование, связанное с MS Office > Простой парсинг строк в Excel, подскажите формулу |
| Автор: iDeus 2.2.2013, 15:58 |
| Здравствуйте, подскажите пожалуйста, как можно решить такую задачу: В таблице Excel есть столбец со строками вида: «ЭРТ №2 Такой-то край, Такой-то район, в/г ВоенныйГородок № 42 Кот 174 Здание контрольно-пропускного пункта (караулка)(встроенная) №174» без кавычек. Необходимо в три соседних ячейки той же строки, выдернуть числа после первого, второго и третьего символа «№» соответственно. Учитывая, что между № и цифрой может быть или не быть пробел. Число после первого № может быть однозначным или двузначным Число после второго № может быть однозначным, двузначным, трехзначным или записанным через дробную черту (например 1/1) Число после третьего № может быть однозначным, двузначным, трехзначными, записанным через дробную черту (например 44/252) или записанным с дополнительным значением в скобках (например 24(83)). Насколько я понял, нужно 3 формулы, для целевых ячеек, которые будут парсить строку и получать необходимые значения. Excel 7-10 года, Windows. |
| Автор: Akina 2.2.2013, 21:11 |
| Напишите VBA-функцию, и всё... |
| Автор: Данкинг 2.2.2013, 21:57 |
| Функция MID в помощь. |
| Автор: diadiavova 3.2.2013, 09:58 | ||
| На самом деле такие задачи лучше всего решаются регулярными выражениями. Можно подключить к проекту библиотеку Microsoft VBScript Regular Expressions и разобрать текст с её помощью. Документация по библиотеке легко находится в сети, ну вот к примеру http://www.script-coding.com/WSH/RegExp.html Для VBA просто малость адаптировать примеры и всё будет работать. Приведу простейший пример
|