Форум программистов, компьютерный форум, киберфорум
MS Office Excel
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 15.07.2016
Сообщений: 3
1

Перенос первых двух слов ячейки в другую

15.07.2016, 16:50. Показов 3873. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, прошу помочь с решением. В столбце содержится разный текст в ячейках. Необходимо вытащить первые два слова в другую ячейку. Ориентиром может служить только пробел. Некоторые слова написаны через тире, если это важно.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.07.2016, 16:50
Ответы с готовыми решениями:

Перенос значения ячейки в другую по таймеру
Здравствуйте, подскажите, как более правильно реализовать такую задачу. Есть Лист в Экселе и...

Перенос примечания из одной ячейки в другую
Добрый день! Я новичок в написании макросов, поэтому прошу помощи у профессионалов. Допустим...

Перенос даты из одной ячейки Excel в другую
Имеется книга эксель и в ней находится два столбца. в одном столбце идут ячейки с датами и формат...

Автоматический перенос текста из одной ячейки в другую
помогите сделать формулу, есть дата когда человек должен пойти в отпуск, когда дата наступила...

8
4076 / 1456 / 401
Регистрация: 07.08.2013
Сообщений: 3,630
15.07.2016, 17:58 2
а слова через тире
это считать как одно слово или как два
0
0 / 0 / 0
Регистрация: 15.07.2016
Сообщений: 3
15.07.2016, 18:06  [ТС] 3
как одно

Ехал грека через реку
Все из-за плохой погоды

надо вытащить : ехал грека
все из-за
0
4076 / 1456 / 401
Регистрация: 07.08.2013
Сообщений: 3,630
15.07.2016, 18:17 4
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Public Function TwoWords(asd As String) As String
If asd = "" Then TwoWords = "": Exit Function
Do While InStr(1, asd, "  ") > 0
asd = Replace(asd, "  ", " ")
Loop
asd = Trim(asd)
asd = Replace(asd, " - ", "-")
asd = Replace(asd, " -", "-")
asd = Replace(asd, "- ", "-")
Dim a() As String
a = Split(asd, " ")
TwoWords = a(0) & " " & a(1)
End Function
0
0 / 0 / 0
Регистрация: 15.07.2016
Сообщений: 3
15.07.2016, 18:20  [ТС] 5
Благодарю!
0
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
15.07.2016, 18:29 6
Код
=ЛЕВСИМВ(A1;НАЙТИ("$";ПОДСТАВИТЬ(A1;" ";"$";2))-1)
P.S. Если в исходном тексте может встречаться $ , то ориентир можно заменить на более сложный(длинный), а если количество пробелов, разделяющих слова, не всегда = 1, то вместо A1 можно использовать СЖПРОБЕЛЫ(A1)
0
4076 / 1456 / 401
Регистрация: 07.08.2013
Сообщений: 3,630
15.07.2016, 18:34 7
pashulka,
есть еще грабли - это пробелы вокруг тире

Добавлено через 2 минуты
я понимаю что можно использовать 3 раза функцию Подставить
0
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
15.07.2016, 20:06 8
snipe, Честно говоря, не увидел в примере - проблем с лишними пробелами вокруг тире
Но если предположить, что они есть, то хватит и двух
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"- ";"-");" -";"-")
1
132 / 108 / 22
Регистрация: 23.06.2015
Сообщений: 339
16.07.2016, 13:10 9
добрый день,Суворов,еще вариант функции uuu в C1

Visual Basic
1
2
3
4
5
6
7
8
Function uuu$(t$)
    t = Replace(t, " - ", "-"): t = Replace(t, " -", "-")
    t = Replace(t, "- ", "-")
     With CreateObject("VBScript.RegExp"): .Global = True: .IgnoreCase = True
    .Pattern = "(?:[^-а-яё\w]|^)[-а-яё\w]+(?=[^-а-яё\w]|$)"
         uuu = Trim(.Execute(t)(0) & Chr(32) & .Execute(t)(1))
    End With
End Function
Вложения
Тип файла: xls example_16_07_2016_cbr_тире2.xls (32.5 Кб, 7 просмотров)
0
16.07.2016, 13:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.07.2016, 13:10
Помогаю со студенческими работами здесь

Перенос части данных из одной ячейки в другую
0318.61.3 SST Светильник 0331.20 Au Часы 0331.20.0 Настенный светильник 0331.20.AG...

Перенос части текста из одной ячейки в другую
Добрый вечер! Помогите, пожалуйста, разобраться в такой ситуации. Есть таблица 1000+строк. В одной...

Перенос значений из одной ячейки в другую по условию
Добрый день. Ситуация такая: есть таблица в один столбец, в котором стоят текстовые значения. ...

Перенос части символов из одной ячейки в другую
Доброго времени суток) Помогите, пожалуйста , Как в exl сделать такое:в исходном столбце...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru