Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Обрезание и перенос до/после 33 символов в ячейке по словам - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Обрезание и перенос до/после 33 символов в ячейке по словам (Формулы/Formulas)
Обрезание и перенос до/после 33 символов в ячейке по словам
goloburdov Дата: Среда, 09.12.2015, 15:11 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Всем привет.

Суть:
Ячейка A1 в которой X символов, например 51. Нужно, что бы в ячейку B2 было обрезано первые слова до 33 символов, в C1 слова, что не вошли в B2.
Как это реализовать?

Пример:

Ячейка A1 (49 символов):
купить пухлого розового слона в интернет магазине

Ячейка B1 (31 символ), что важно - без пробела в конце:
купить пухлого розового слона в

Ячейка C1 (17 символов), что важно - без пробела в начале
интернет магазине

Буду благодарен за эти 2 формулы в ячейках B1 и C1

UPD: на всякий случай пример

UPD2: ПЕРЕЙТИ К РЕШЕНИЮ
К сообщению приложен файл: 3089150.xlsx (8.7 Kb)


Сообщение отредактировал goloburdov - Среда, 09.12.2015, 15:47
 
Ответить
СообщениеВсем привет.

Суть:
Ячейка A1 в которой X символов, например 51. Нужно, что бы в ячейку B2 было обрезано первые слова до 33 символов, в C1 слова, что не вошли в B2.
Как это реализовать?

Пример:

Ячейка A1 (49 символов):
купить пухлого розового слона в интернет магазине

Ячейка B1 (31 символ), что важно - без пробела в конце:
купить пухлого розового слона в

Ячейка C1 (17 символов), что важно - без пробела в начале
интернет магазине

Буду благодарен за эти 2 формулы в ячейках B1 и C1

UPD: на всякий случай пример

UPD2: ПЕРЕЙТИ К РЕШЕНИЮ

Автор - goloburdov
Дата добавления - 09.12.2015 в 15:11
pabchek Дата: Среда, 09.12.2015, 15:25 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 931
Репутация: 218 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте!
Приложите, пожалуйста, файл примера.


"Учиться, учиться и еще раз учиться!"
WM: R399923528092
 
Ответить
СообщениеЗдравствуйте!
Приложите, пожалуйста, файл примера.

Автор - pabchek
Дата добавления - 09.12.2015 в 15:25
goloburdov Дата: Среда, 09.12.2015, 15:29 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте!
Приложите, пожалуйста, файл примера.

Он тут разве нужен?
К сообщению приложен файл: 5020467.xlsx (8.7 Kb)
 
Ответить
Сообщение
Здравствуйте!
Приложите, пожалуйста, файл примера.

Он тут разве нужен?

Автор - goloburdov
Дата добавления - 09.12.2015 в 15:29
китин Дата: Среда, 09.12.2015, 15:31 | Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 7015
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениеуже решено ТУТ

Автор - китин
Дата добавления - 09.12.2015 в 15:31
_Boroda_ Дата: Среда, 09.12.2015, 15:32 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так нужно?
Код
=ПСТР(A1;1;МАКС((ПСТР(A1;СТРОКА(1:33);1)=" ")*СТРОКА(1:33))-1)

формула массива. Ввордится одновременным нажатием Контрл Шифт Ентер
Код
=ПОДСТАВИТЬ(A1;B1&" ";)

Код
=ЗАМЕНИТЬ(A1;1;ДЛСТР(B1)+1;)

Код
=ПСТР(A1;ДЛСТР(B1)+2;99)


Добавлено
33 замените на 34, иначе не выводит 33-й символ
К сообщению приложен файл: 48162686.xlsx (8.7 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995


Сообщение отредактировал _Boroda_ - Среда, 09.12.2015, 15:50
 
Ответить
СообщениеТак нужно?
Код
=ПСТР(A1;1;МАКС((ПСТР(A1;СТРОКА(1:33);1)=" ")*СТРОКА(1:33))-1)

формула массива. Ввордится одновременным нажатием Контрл Шифт Ентер
Код
=ПОДСТАВИТЬ(A1;B1&" ";)

Код
=ЗАМЕНИТЬ(A1;1;ДЛСТР(B1)+1;)

Код
=ПСТР(A1;ДЛСТР(B1)+2;99)


Добавлено
33 замените на 34, иначе не выводит 33-й символ

Автор - _Boroda_
Дата добавления - 09.12.2015 в 15:32
goloburdov Дата: Среда, 09.12.2015, 15:46 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
=ПСТР(A1;1;МАКС((ПСТР(A1;СТРОКА(1:33);1)=" ")*СТРОКА(1:33))-1)

Спасибо огромное, то что нужно!
 
Ответить
Сообщение
=ПСТР(A1;1;МАКС((ПСТР(A1;СТРОКА(1:33);1)=" ")*СТРОКА(1:33))-1)

Спасибо огромное, то что нужно!

Автор - goloburdov
Дата добавления - 09.12.2015 в 15:46
goloburdov Дата: Среда, 09.12.2015, 15:53 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Так нужно?

Если символов в исходной ячейке меньше 33, то выскакивает ошибка. Как сделать, что бы в таком случае отображались это значение до 33, а справа ничего?
 
Ответить
Сообщение
Так нужно?

Если символов в исходной ячейке меньше 33, то выскакивает ошибка. Как сделать, что бы в таком случае отображались это значение до 33, а справа ничего?

Автор - goloburdov
Дата добавления - 09.12.2015 в 15:53
_Boroda_ Дата: Среда, 09.12.2015, 16:12 | Сообщение № 8
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Не вижу ошибки. Только ПОДСТАВИТЬ не используйте, смотрите 2 других формулы
Или файл показывайте
К сообщению приложен файл: 9726476.xlsx (8.7 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНе вижу ошибки. Только ПОДСТАВИТЬ не используйте, смотрите 2 других формулы
Или файл показывайте

Автор - _Boroda_
Дата добавления - 09.12.2015 в 16:12
Wasilich Дата: Среда, 09.12.2015, 17:48 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
А почему именно формулы. Макросы тоже могут. :D
К сообщению приложен файл: goloburdov.xls (32.5 Kb)
 
Ответить
СообщениеА почему именно формулы. Макросы тоже могут. :D

Автор - Wasilich
Дата добавления - 09.12.2015 в 17:48
МВТ Дата: Среда, 09.12.2015, 20:31 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
Вот, когда-то делал, но тестировал поверхностно[vba]
Код
Function TrimText(text As String, Count As Long, Optional TrimComma As Boolean = True, Optional SpaceComma As String) As String
'
'Функция возвращает подстроку состоящую из целых слов, суммарная длина которой не превышает заданное значениче
'Обязательный аргумент Text - исходная сторока
'Обязательный аргумент Count - максимальное количество символов, составляющих подстроку
'Необязательный аргумент TrimComma - если истина с конца подстроки удаляются пробел и следующие символы: ,\-=;№#@:+({<[_
'Необязательный аргумент SpaceComma - введенная без разделителей строка с сисмволами, которые в любом случае
'будут отделены от предыдущего символа пробелом

Dim Obj As Object
Dim I As Long
With CreateObject("VBScript.RegExp")
    .Pattern = "\s"
    If .test(text) Then text = .Replace(text, " ")
    If SpaceComma <> "" Then
        .Pattern = "[" & SpaceComma & "]"
        Set Obj = .Execute(text)
        For I = 0 To Obj.Count - 1
            text = .Replace(text, " " & Obj.Item(I))
        Next
    End If
    .Pattern = " {2,}"
    If .test(text) Then text = .Replace(text, " ")
    If Len(text) <= Count Then
        TrimText = text
        Exit Function
    End If
    .Pattern = "^.{1," & Count & "} "
    If .test(text) Then text = .Execute(text)(0)
    If TrimComma Then .Pattern = "[,\-=;№#@:\+({<\[_ ]+$" Else .Pattern = " $"
    If .test(text) Then text = .Replace(text, "")
    TrimText = text
End With
End Function

[/vba]


Сообщение отредактировал МВТ - Среда, 09.12.2015, 20:35
 
Ответить
СообщениеВот, когда-то делал, но тестировал поверхностно[vba]
Код
Function TrimText(text As String, Count As Long, Optional TrimComma As Boolean = True, Optional SpaceComma As String) As String
'
'Функция возвращает подстроку состоящую из целых слов, суммарная длина которой не превышает заданное значениче
'Обязательный аргумент Text - исходная сторока
'Обязательный аргумент Count - максимальное количество символов, составляющих подстроку
'Необязательный аргумент TrimComma - если истина с конца подстроки удаляются пробел и следующие символы: ,\-=;№#@:+({<[_
'Необязательный аргумент SpaceComma - введенная без разделителей строка с сисмволами, которые в любом случае
'будут отделены от предыдущего символа пробелом

Dim Obj As Object
Dim I As Long
With CreateObject("VBScript.RegExp")
    .Pattern = "\s"
    If .test(text) Then text = .Replace(text, " ")
    If SpaceComma <> "" Then
        .Pattern = "[" & SpaceComma & "]"
        Set Obj = .Execute(text)
        For I = 0 To Obj.Count - 1
            text = .Replace(text, " " & Obj.Item(I))
        Next
    End If
    .Pattern = " {2,}"
    If .test(text) Then text = .Replace(text, " ")
    If Len(text) <= Count Then
        TrimText = text
        Exit Function
    End If
    .Pattern = "^.{1," & Count & "} "
    If .test(text) Then text = .Execute(text)(0)
    If TrimComma Then .Pattern = "[,\-=;№#@:\+({<\[_ ]+$" Else .Pattern = " $"
    If .test(text) Then text = .Replace(text, "")
    TrimText = text
End With
End Function

[/vba]

Автор - МВТ
Дата добавления - 09.12.2015 в 20:31
AlexM Дата: Четверг, 10.12.2015, 00:20 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4490
Репутация: 1115 ±
Замечаний: 0% ±

Excel 2003
Не массивная формула для первой части фразы
Код
=ЛЕВБ(A6;ПРОСМОТР(33;ПОИСК(" ";A6&" ";СТРОКА($1:$33)))-1)
и для второй
Код
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A6;B6;))

Решение на желтом фоне. На белом - решение Александра (_Boroda_)
К сообщению приложен файл: 5020467.xls (29.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Четверг, 10.12.2015, 00:26
 
Ответить
СообщениеНе массивная формула для первой части фразы
Код
=ЛЕВБ(A6;ПРОСМОТР(33;ПОИСК(" ";A6&" ";СТРОКА($1:$33)))-1)
и для второй
Код
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A6;B6;))

Решение на желтом фоне. На белом - решение Александра (_Boroda_)

Автор - AlexM
Дата добавления - 10.12.2015 в 00:20
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Обрезание и перенос до/после 33 символов в ячейке по словам (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!