Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.07.2013, 11:25   #11
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

в первую ячейку:
Код:
=ЕСЛИ(ПОИСК(" ";RC[-1])>35;"";ЛЕВСИМВ(RC[-1];МАКС((ПСТР(RC[-1];СТРОКА(R:R[34]);1)=" ")*СТРОКА(R:R[34]))-1))
во вторую:
Код:
=ПРАВСИМВ(RC[-2];ДЛСТР(RC[-2])-ДЛСТР(RC[-1])-(ДЛСТР(RC[-1])>0))
в первой ячейке формула массива, стиль ссылок R1C1, если в исходных первый пробел за 35 позицией, то в 1 будет пусто, а в 2 - вся исходная строка.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 24.07.2013, 13:16   #12
kagen
Новичок
Джуниор
 
Регистрация: 24.07.2013
Сообщений: 2
По умолчанию

Может я что то неправильно сделал, но у меня выходит почти везде ошибка (#знач) по двум ячейкам.
Текст в ячейках примерно такого содержания:
Ждем Вас в магазине стильных люстр для квартиры и дачи. У нас скидки.
Наша лучшая коллекция белых люстр 2013 года, в наличии. Интернет-магазин.
Наша лучшая коллекция российских люстр 2013 года. Интернет-магазин.
Мировые бренды классических люстр. Распродажа - заказывайте онлайн.
kagen вне форума Ответить с цитированием
Старый 24.07.2013, 13:28   #13
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
Может я что то неправильно сделал
допускаю

Уважаемый, kagen
у вас есть выбор
1) Вы самостоятельно запускаете эти формулы
2) я вышлю вам файл с этими формулами и 4-мя приведенными выше строками, обработанными данными формулами, далее Выих сможете просто скопировать вниз по списку.

вариант 2) предполагает поступление эквивалента $10 на один из кошелдьков в подписи.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 08.02.2014, 18:51   #14
Fassilitator
Новичок
Джуниор
 
Регистрация: 08.02.2014
Сообщений: 1
По умолчанию

Здравствуйте! Требуется помощь: макросом разбить данные об адресе по столбцам.
Данные:
г Ульяновск, ул Камышинская, д 14
г Ульяновск, с Отрада, ул Новая, д 2, кв 10
р-н Мелекесский, рп Новая Малыкла, ул Молодежная, д 2
р-н Инзенский, г Инза, ул Новая, д 5

Результат требуется в таком виде: http://vk.com/doc26245271_268948993

Я не программист, пытался сделать стандартными средствами Excel, но т.к. в таблице около 800 000 записей, получается много каши.
Благодарю за помощь.
Fassilitator вне форума Ответить с цитированием
Старый 09.02.2014, 12:46   #15
Pasha_Z
Пользователь
 
Регистрация: 01.01.2014
Сообщений: 71
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
в первую ячейку:
Код:
=ЕСЛИ(ПОИСК(" ";RC[-1])>35;"";ЛЕВСИМВ(RC[-1];МАКС((ПСТР(RC[-1];СТРОКА(R:R[34]);1)=" ")*СТРОКА(R:R[34]))-1))
во вторую:
Код:
=ПРАВСИМВ(RC[-2];ДЛСТР(RC[-2])-ДЛСТР(RC[-1])-(ДЛСТР(RC[-1])>0))
в первой ячейке формула массива, стиль ссылок R1C1, если в исходных первый пробел за 35 позицией, то в 1 будет пусто, а в 2 - вся исходная строка.
привет.
а можно формулы для для разбивки строки на 3 строки размером 35, 80, и все остальное. слова в новых строках не разделены.

первую ячейку:
Код:
=ЕСЛИ(ПОИСК(" ";RC[-1])>35;"";ЛЕВСИМВ(RC[-1];МАКС((ПСТР(RC[-1];СТРОКА(R:R[34]);1)=" ")*СТРОКА(R:R[34]))-1))
записать так:
=ЕСЛИ(ПОИСК(" ";RC[-1])>35;"";ЛЕВСИМВ(RC[-1];МАКС((ПСТР(RC[-1];СТРОКА(R1:R35);1)=" ")*СТРОКА(R1:R35))-1))

Последний раз редактировалось Pasha_Z; 09.02.2014 в 13:56.
Pasha_Z вне форума Ответить с цитированием
Старый 09.02.2014, 13:07   #16
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
=левсимв(A1;35)
=пстр(A1;36;80)
=пстр(A1;116;длстр(A1))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 09.02.2014, 13:21   #17
Pasha_Z
Пользователь
 
Регистрация: 01.01.2014
Сообщений: 71
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Код:
=левсимв(A1;35)
=пстр(A1;36;80)
=пстр(A1;116;длстр(A1))
слова в новых строках не разделены (не разрывать).
надо формулы как вы делали для разбиения на 2 строки.
Pasha_Z вне форума Ответить с цитированием
Старый 09.02.2014, 13:37   #18
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

надо задачу сформулировать - данные описать, а лучше показать
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 09.02.2014, 13:49   #19
Pasha_Z
Пользователь
 
Регистрация: 01.01.2014
Сообщений: 71
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
надо задачу сформулировать - данные описать, а лучше показать
я ставил так:
а можно формулы для для разбивки строки на 3 строки размером 35, 80, и все остальное. слова в новых строках не разделены.
имелось ввиду чтобы слова были неразрывные (не разорванные).
Pasha_Z вне форума Ответить с цитированием
Старый 09.02.2014, 13:56   #20
Pasha_Z
Пользователь
 
Регистрация: 01.01.2014
Сообщений: 71
По умолчанию

Цитата:
Сообщение от Pasha_Z Посмотреть сообщение
привет.
а можно формулы для для разбивки строки на 3 строки размером 35, 80, и все остальное. слова в новых строках не разделены.

первую ячейку:
Код:
=ЕСЛИ(ПОИСК(" ";RC[-1])>35;"";ЛЕВСИМВ(RC[-1];МАКС((ПСТР(RC[-1];СТРОКА(R:R[34]);1)=" ")*СТРОКА(R:R[34]))-1))
записать так:
=ЕСЛИ(ПОИСК(" ";RC[-1])>35;"";ЛЕВСИМВ(RC[-1];МАКС((ПСТР(RC[-1];СТРОКА(R1:R35);1)=" ")*СТРОКА(R1:R35))-1))
Игор я хотел для разбивки на 3 строки как вы написали эти формулы.
или это тяжело. хотя я думаю что наверно можно сделать разбивку на 3 строки использую ваши формулы у два захода.
Pasha_Z вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск по столбцам Ded Motwey Microsoft Office Access 1 09.09.2010 17:00
скан по столбцам женя2010 Microsoft Office Excel 4 28.04.2010 18:02
Как разбить число на цифрыКак разбить число на цифры: 3241 => 3,2,4,1 (Pascal) Banderas123 Помощь студентам 3 07.12.2009 18:26
Цикл по столбцам niqx Microsoft Office Excel 18 11.10.2008 07:39
как узнать ip адрес зная mac адрес Roman Работа с сетью в Delphi 9 25.06.2007 12:39