Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Пакет Microsoft Office

  Все выпуски  

RFpro.ru: Пакет Microsoft Office


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Роман Селиверстов
Статус: Советник
Рейтинг: 5437
∙ повысить рейтинг »
Valery N
Статус: Мастер-Эксперт
Рейтинг: 4851
∙ повысить рейтинг »
Гуревич Александр Львович
Статус: Профессионал
Рейтинг: 4412
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программное обеспечение / Пакет Microsoft Office

Номер выпуска:926
Дата выхода:19.01.2013, 20:30
Администратор рассылки:Гуревич Александр Львович (Профессионал)
Подписчиков / экспертов:128 / 110
Вопросов / ответов:1 / 3

Консультация # 187103: Здравствуйте! У меня возникли сложности с таким вопросом: Требуется пронумеровать строки с учетом информации в тексте например: Имеем список в формате Exсel БТР-183(djvu)20=Андрей работа=163.123 БТР-143(djvu)20=Андрей работа=163.067 БТР-131(djvu)20=Антон работа=163.276 БТР-111(djvu)20=Антон работа=163.011 ... Б...


Консультация # 187103:

Здравствуйте! У меня возникли сложности с таким вопросом:

Требуется пронумеровать строки с учетом информации в тексте

например: Имеем список в формате Exсel

БТР-183(djvu)20=Андрей работа=163.123
БТР-143(djvu)20=Андрей работа=163.067
БТР-131(djvu)20=Антон работа=163.276
БТР-111(djvu)20=Антон работа=163.011
...
БТР-221(pdf)20.3=Борис ссылка=163.554
БТР-1(djvu)2.3=Андрей работа=163.123
БТР-1(djvu)28.3=Антон работа=167.125
БТР-1(djvu)20.3=Антон работа=203.723
БТР-1(djvu)10.3=Антон работа=203.243
БТР-1(djvu)20.3=Антон работа=203.007
...
БТР-1(djvu)20.3=Антон работа=203.125
БТР-1(djvu)20.3=Антон работа=203.723
БТР-1(djvu)20.3=Антон работа=340.243
БТР-1(djvu)20.3=Антон работа=340.007

а. После второго символа "=" расположено 3-х значное число означающее номер раздела
б. Следующие за этим числом символы в обработке строки не участвуют


Необходимо в каждой строке:
Сформиро вать строку содержащую в себе номер раздела и через точку (символ ".") порядковый номер строки в этом разделе

стало:
163.001 БТР-183(djvu)20=Андрей работа=163.123
163.002 БТР-143(djvu)20=Андрей работа=163.067
163.003 БТР-131(djvu)20=Антон работа=163.276
163.004 БТР-111(djvu)20=Антон работа=163.011
...
163.099 БТР-221(pdf)20.3=Борис ссылка=163.554
163.100 БТР-1(djvu)20.3=Андрей работа=163.123
167.001 БТР-1(djvu)28.3=Антон работа=167.125
203.001 БТР-1(djvu)20.3=Антон работа=203.723
203.002 БТР-1(djvu)10.3=Антон работа=203.243
203.003 БТР-1(djvu)20.3=Антон работа=203.007
...
203.722 БТР-1(djvu)20.3=Антон работа=203.125
203.723 БТР-1(djvu)20.3=Антон работа=203.723
340.001 БТР-1(djvu)20.3=Антон работа=340.243
340.002 БТР-1(djvu)20.3=Антон работа=340.007

* форматирование цветом - условное, только для акцентирования к деталям примера

Дата отправки: 16.01.2013, 13:46
Вопрос задал: Suvorov (Посетитель)
Всего ответов: 3
Страница онлайн-консультации »


Консультирует Павел Юрьевич (Профессионал):

Здравствуйте, Suvorov!

В качестве ответа прилагаю готовый файл скачать файл BTR2.xls [19.0 кб].
Необходимым условием работы формул, является:
1. Предварительная сортировка строк по номеру раздела
2. Количество строк внутри раздела не более 999.

Консультировал: Павел Юрьевич (Профессионал)
Дата отправки: 16.01.2013, 14:28
Рейтинг ответа:

НЕ одобряю +1 одобряю!


Консультирует LanK (Профессионал):

Здравствуйте, Suvorov!

Я конечно, не супер мастер поэтому решаю такие задачи последовательно добавляя столбцы чтобы было понятно как и откуда что появляется.
Служебные строки и столбцы выделены серым, в них ничего менять не надо.

Попробуйте.

Первый столбец "вырезаем" группу: =ЛЕВСИМВ(ПРАВСИМВ(A3;7);3)
Второй столбец проверям что она меняется: =ЕСЛИ(B3-B2>0;1;0)
Третий столбец увеличиваем номер участника: =ЕСЛИ(C3=1;1;D2+1)
Четвертый, результирующий: =СЦЕПИТЬ(B3;".";ТЕКСТ(D3;"000");" ";A3)

Форматирование ТЕКСТ(D3;"000"); задаёт нам количество "ведущих" нулей, если у Вас будет более 999 записей, то в формуле надо будет проставить больше нулей, например пять: ТЕКСТ(D3;"00000");

УДАЧИ smile

Консультировал: LanK (Профессионал)
Дата отправки: 16.01.2013, 14:44
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует PsySex (Профессионал):

Здравствуйте, Suvorov!
Предлагаю воспользоваться макросом,

Код :
Sub RenameRows()
Dim mark As Long
Dim sNewName As String
Dim sRazd As String
Dim sOldRazd As String
Dim rCell As Range
Dim cnt As Long
    If Selection.Cells.Count < 1 Then Exit Sub
    For Each rCell In Selection
        mark = InStrRev(rCell.Value, "=")
        If mark > 0 Then
            sRazd = Mid(rCell.Value, mark + 1, 3)
            cnt = IIf(sRazd = sOldRazd, cnt + 1, 1)
            sOldRazd = sRazd
            sNewName = sRazd & "." & Format(cnt, "000") & "#" & rCell.Value
            rCell.Value = sNewName
            rCell.TextToColumns DataType:=xlDelimited, Comma:=False, Space:=False, Other:=True, OtherChar:="#"
        End If
    Next
End Sub

Достаточно выделить столбец с Вашей информацией, затем
Сервис-Макрос-Макросы. Выбрать созданный макрос RenameRows и нажать Выполнить.

Консультировал: PsySex (Профессионал)
Дата отправки: 16.01.2013, 16:12
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное