Страницы: 1
RSS
Как скопировать часть текста нач. с опред. символа в другое место
 
Добрый день!

Нужно скопировать часть текста начиная с "С." и весь последующий текст в ячейке в другой столбец. Вот пример:
Восстание арабов / Россия в глобальной политике.- 2011.- № 1.- С. 8-15.
Нужно скопировать только С. 8-15. в другой столбец.
Подскажите пожалуйста как это сделать автоматически...
Макрос или формула не важно, главное чтоб работало.  :)
Изменено: dlevin - 08.07.2013 21:07:19
 
Войти в режим редактирования ячейки(F2), выделить нужный текст, скопировать.
Я сам - дурнее всякого примера! ...
 
4000 строк в таблице.
Изменено: dlevin - 08.07.2013 21:08:18
 
Всего-то. И что? Я ответил на Ваш вопрос? Если Вас мой ответ не устраивает, срочно бегите знакомиться с правилами форума и выкладывайте пример. А заодно укажите какой вариант(формулы, макросы) хотите.
Для затравки:
Код
Public Function www$(s$)
    www = Right$(s, Len(s) - InStrRev(s, "С.", , 0) + 1)
End Function
Изменено: KuklP - 08.07.2013 10:08:07 (Теги.)
Я сам - дурнее всякого примера! ...
 
ну,если все фразы выглядят именно так,то ,как вариант
Код
=ПОДСТАВИТЬ(A1;ЛЕВСИМВ(A1;ПОИСК("№";A1)+4);"")
Вполне такой нормальный кинжальчик. Процентов на 100
 
Количество символов после "С." и до конца строки разное, т.к. меняются значения страниц и разное кол-во пробелов. С. 10-28. или С. 10 - 28.
Изменено: dlevin - 08.07.2013 21:08:34
 
Вот для этого и нужен файл-пример.
Я сам - дурнее всякого примера! ...
 
Код
ПОИСК("№";A1)

формула удаляет все символы до символа №,осталяя все после него
Изменено: китин - 08.07.2013 10:19:49
Вполне такой нормальный кинжальчик. Процентов на 100
 
Смотрите.
Я сам - дурнее всякого примера! ...
 
KuklP, вот это то, что нужно! Спасибо! А как просмотреть макрос и скопировать его на другой лист? Я чайник в excel  :)
 
Макрос(UDF) находится в общем модуле, копировать в листы его не надо. Просто пишите формулы на листе. Увидеть его можно нажав alt+F11.
Я сам - дурнее всякого примера! ...
 
Разобрался. Спасибо большое за помощь!!!  :)
 
dlevin, у Вас ни одного сообщения без цитаты, кроме первого (зато в первом полно "пустых" строк - зачем?) . Так ли они нужны?
 
или:

=ПСТР(E2;НАЙТИ("С.";E2);20)
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Володь, а если в названии статьи раньше встречается "С."? Поиск идет слева-направо, а надо наоборот. китин предложил искать по №, это резонно, но ведь и № может встретиться раньше  :)
Изменено: KuklP - 08.07.2013 16:39:13
Я сам - дурнее всякого примера! ...
 
Код
=ЗАМЕНИТЬ(E2;1;НАЙТИ("С. ";E2)-1;"")
Изменено: Михаил С. - 08.07.2013 17:35:18
 
:D М-да... Моя ЮДФ короче.
Я сам - дурнее всякого примера! ...
 
Цитата
KuklP пишет:
а если в названии статьи раньше встречается "С."?
Код
=ПСТР(E2;ПРОСМОТР(2;1/(КОДСИМВ(ПСТР(E2;СТРОКА($1:$1000);1))=209);СТРОКА($1:$1000));99)


УП
У ЮДФ есть недостаток - работает только на своем компе.
Изменено: Михаил С. - 08.07.2013 17:41:48
 
Опа! Как так получилось, что наши посты поменялись местами? Миш, я когда писал, видел твой последний пост, о нем и писал  :)  
Понял. Ты разбил его на 2 части.
ЮДФ будет работать на любом компе, где откроют файл с ЮДФ.
Изменено: KuklP - 08.07.2013 17:44:37
Я сам - дурнее всякого примера! ...
 
Я свой предпоследний пост (который ты видел) изменил, и добавил другой :)
 
Я тоже изменил. :)
Я сам - дурнее всякого примера! ...
 
Цитата
KuklP пишет:
а если в названии статьи раньше встречается "С."?

А мы тогда так:

=ПСТР(E2;ПОИСК("С.*-*";E2);20)

:)

Хотя нет, не получится так.
Изменено: Владимир - 05.10.2014 10:17:25
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Цитата
KuklP пишет: Володь, а если в названии статьи раньше встречается "С."
А если "С." отсутствует?
Код
Public Function www_1$(s$)
f = Split(s, "С.")
If UBound(f) > 0 Then www_1 = "C." & f(UBound(f))
End Function
 
Добрый день а как можно пропустить это:
http://сайт.ру/request/ что бы остался один сайт сайт.ру
 
добрый день,еще вариант функции в G1,преимущество этих функций-простота

 
Код
Function vvvv$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "С\..+$"
    vvvv = .Execute(t)(0)
 End With
End Function
Изменено: sv2013 - 17.11.2016 13:04:30
Страницы: 1
Читают тему
Наверх