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

Вход

Регистрация

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

 

= Мир MS Excel/Оставить max35 символов при условии последний пробел -1 сим. - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Оставить max35 символов при условии последний пробел -1 сим.
ivbar Дата: Суббота, 17.01.2015, 12:28 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день.

Задача:
В ячейке находится текст, состоящий из более чем 35 символов, разделенных в произвольном порядке пробелами.
Необходимо оставить в ячейке <=35 символов, при условии, что за последним символом слева будет пробел.

Пример:
Исходное значение длиной 44 символа:
вышел ежик из тумана, вынул ножик из кармана

Результат 34 символа:
вышел ежик из тумана, вынул ножик

Пример 2:
Исходное значение (59 символов):
вышел ежик из леса и атомнаяэнергостанция воникла перед ним

Результат 20 символов:
вышел ежик из леса и

Такой результат получен, так как
вышел ежик из леса и атомнаяэнергостанция
состоит из 41 символа, а наша задача взять меньше или равно 35 символов так, чтобы последним не был пробел и не взять этот пробел (-1 символ, в данном случае пробела, в массиве).

P.S. на сколько я могу судить, желаемый результат можно получить при помощи формул
=ЛЕВСИМВ
=СЖПРОБЕЛЫ -чтобы на всякий случай выкинуть из массива двойные пробелы, которые будут мешать
=НАЙТИ
=ЕСЛИ

=ЛЕВСИМВ(СЖПРОБЕЛЫ(A1);НАЙТИ(" ";;) пока в голове только такая конструкция


Буду благодарен за помощь.
 
Ответить
СообщениеДобрый день.

Задача:
В ячейке находится текст, состоящий из более чем 35 символов, разделенных в произвольном порядке пробелами.
Необходимо оставить в ячейке <=35 символов, при условии, что за последним символом слева будет пробел.

Пример:
Исходное значение длиной 44 символа:
вышел ежик из тумана, вынул ножик из кармана

Результат 34 символа:
вышел ежик из тумана, вынул ножик

Пример 2:
Исходное значение (59 символов):
вышел ежик из леса и атомнаяэнергостанция воникла перед ним

Результат 20 символов:
вышел ежик из леса и

Такой результат получен, так как
вышел ежик из леса и атомнаяэнергостанция
состоит из 41 символа, а наша задача взять меньше или равно 35 символов так, чтобы последним не был пробел и не взять этот пробел (-1 символ, в данном случае пробела, в массиве).

P.S. на сколько я могу судить, желаемый результат можно получить при помощи формул
=ЛЕВСИМВ
=СЖПРОБЕЛЫ -чтобы на всякий случай выкинуть из массива двойные пробелы, которые будут мешать
=НАЙТИ
=ЕСЛИ

=ЛЕВСИМВ(СЖПРОБЕЛЫ(A1);НАЙТИ(" ";;) пока в голове только такая конструкция


Буду благодарен за помощь.

Автор - ivbar
Дата добавления - 17.01.2015 в 12:28
Pelena Дата: Суббота, 17.01.2015, 13:21 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19513
Репутация: 4632 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Похожая тема


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Похожая тема

Автор - Pelena
Дата добавления - 17.01.2015 в 13:21
AlexM Дата: Суббота, 17.01.2015, 15:38 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1130 ±
Замечаний: 0% ±

Excel 2003
Есть решение, но без вашего файла выкладывать его против правил.
Найти() и Если() не использовал



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


Сообщение отредактировал AlexM - Суббота, 17.01.2015, 15:53
 
Ответить
СообщениеЕсть решение, но без вашего файла выкладывать его против правил.
Найти() и Если() не использовал

Автор - AlexM
Дата добавления - 17.01.2015 в 15:38
ivbar Дата: Суббота, 17.01.2015, 22:37 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо за ссылку на другую тему, но задачу нужно решить путем ввода формулы в ячейку в гугл доке.

Преобразовал ее в следующий вид
=ArrayFormula(LEFT(A1;SMALL(IF(MID(A1;ROW(INDIRECT("1:"&LEN(A1)));1)=" ";ROW(INDIRECT("1:"&LEN(A1))));COUNT((MATCH(38;IF(MID(A1;ROW(INDIRECT("1:"&LEN(A1)));1)=" ";ROW(INDIRECT("1:"&LEN(A1)))))>IF(MID(A1;ROW(INDIRECT("1:"&LEN(A1)));1)=" ";ROW(INDIRECT("1:"&LEN(A1)))))^0)+IF(ISERR(SEARCH(" ";MID(A1;MATCH(38;IF(MID(A1;ROW(INDIRECT("1:"&LEN(A1)));1)=" ";ROW(INDIRECT("1:"&LEN(A1)))))-3;3)));1))-1))

но выдает ошибка, что второе значение функции Small не может равняться в ряде случаем 0, в ряде случаев 64
 
Ответить
СообщениеСпасибо за ссылку на другую тему, но задачу нужно решить путем ввода формулы в ячейку в гугл доке.

Преобразовал ее в следующий вид
=ArrayFormula(LEFT(A1;SMALL(IF(MID(A1;ROW(INDIRECT("1:"&LEN(A1)));1)=" ";ROW(INDIRECT("1:"&LEN(A1))));COUNT((MATCH(38;IF(MID(A1;ROW(INDIRECT("1:"&LEN(A1)));1)=" ";ROW(INDIRECT("1:"&LEN(A1)))))>IF(MID(A1;ROW(INDIRECT("1:"&LEN(A1)));1)=" ";ROW(INDIRECT("1:"&LEN(A1)))))^0)+IF(ISERR(SEARCH(" ";MID(A1;MATCH(38;IF(MID(A1;ROW(INDIRECT("1:"&LEN(A1)));1)=" ";ROW(INDIRECT("1:"&LEN(A1)))))-3;3)));1))-1))

но выдает ошибка, что второе значение функции Small не может равняться в ряде случаем 0, в ряде случаев 64

Автор - ivbar
Дата добавления - 17.01.2015 в 22:37
AlexM Дата: Суббота, 17.01.2015, 22:38 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1130 ±
Замечаний: 0% ±

Excel 2003
Прикладывайте файл. Получите решение в 4 раза короче и без летучих функций



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


Сообщение отредактировал AlexM - Суббота, 17.01.2015, 22:41
 
Ответить
СообщениеПрикладывайте файл. Получите решение в 4 раза короче и без летучих функций

Автор - AlexM
Дата добавления - 17.01.2015 в 22:38
ivbar Дата: Суббота, 17.01.2015, 23:49 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Файл во вложении
К сообщению приложен файл: 3199680.xlsx (10.9 Kb)


Сообщение отредактировал ivbar - Суббота, 17.01.2015, 23:49
 
Ответить
СообщениеФайл во вложении

Автор - ivbar
Дата добавления - 17.01.2015 в 23:49
AlexM Дата: Суббота, 17.01.2015, 23:57 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1130 ±
Замечаний: 0% ±

Excel 2003
Не получается открыть ваш файл. Держите мой
Гугл Док еще не освоил, но одну формулу удалось адаптировать.[vba]
Код
=ArrayFormula(LEFT(TRIM(A1);MAX((MID(TRIM(A1);ROW(A$1:A$35);1)=" ")*ROW(A$1:A$35))-1))
[/vba]Проба в ГуглДок
К сообщению приложен файл: ivbar.xls (14.0 Kb)



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


Сообщение отредактировал AlexM - Воскресенье, 18.01.2015, 00:16
 
Ответить
СообщениеНе получается открыть ваш файл. Держите мой
Гугл Док еще не освоил, но одну формулу удалось адаптировать.[vba]
Код
=ArrayFormula(LEFT(TRIM(A1);MAX((MID(TRIM(A1);ROW(A$1:A$35);1)=" ")*ROW(A$1:A$35))-1))
[/vba]Проба в ГуглДок

Автор - AlexM
Дата добавления - 17.01.2015 в 23:57
vikttur Дата: Воскресенье, 18.01.2015, 00:02 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Без массивного ввода. Не знаю, будет ли работать в Google Docs:
Код
=ЛЕВБ(A2;ПОИСК("/";ПОДСТАВИТЬ(ЛЕВБ(A2;35);" ";"/";ДЛСТР(ЛЕВБ(A2;35))-ДЛСТР(ПОДСТАВИТЬ(ЛЕВБ(A2;35);" ";)))))


P.S. Ниже AlexM сделал замечание (логично - зачем пробел в конце?):
Код
=ЛЕВБ(A1;ПОИСК("/";ПОДСТАВИТЬ(ЛЕВБ(A1;36);" ";"/";ДЛСТР(ЛЕВБ(A1;36))-ДЛСТР(ПОДСТАВИТЬ(ЛЕВБ(A1;36);" ";))))-1)


Сообщение отредактировал vikttur - Воскресенье, 18.01.2015, 00:46
 
Ответить
СообщениеБез массивного ввода. Не знаю, будет ли работать в Google Docs:
Код
=ЛЕВБ(A2;ПОИСК("/";ПОДСТАВИТЬ(ЛЕВБ(A2;35);" ";"/";ДЛСТР(ЛЕВБ(A2;35))-ДЛСТР(ПОДСТАВИТЬ(ЛЕВБ(A2;35);" ";)))))


P.S. Ниже AlexM сделал замечание (логично - зачем пробел в конце?):
Код
=ЛЕВБ(A1;ПОИСК("/";ПОДСТАВИТЬ(ЛЕВБ(A1;36);" ";"/";ДЛСТР(ЛЕВБ(A1;36))-ДЛСТР(ПОДСТАВИТЬ(ЛЕВБ(A1;36);" ";))))-1)

Автор - vikttur
Дата добавления - 18.01.2015 в 00:02
AlexM Дата: Воскресенье, 18.01.2015, 00:07 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1130 ±
Замечаний: 0% ±

Excel 2003
vikttur, В конце пробелы не нужные.
В ГуглДок функции по ENG, а аргументы через точку с запятой. Переводчик формул в этом форуме тут бессилен.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщениеvikttur, В конце пробелы не нужные.
В ГуглДок функции по ENG, а аргументы через точку с запятой. Переводчик формул в этом форуме тут бессилен.

Автор - AlexM
Дата добавления - 18.01.2015 в 00:07
vikttur Дата: Воскресенье, 18.01.2015, 00:19 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Цитата
при условии, что за последним символом слева будет пробел

Я понял, что пробел нужно оставить (последний видимый символ и пробел). Если не нужен - убрать труда не составит (добавил формулу в своем предыдущем сообщении).
О переводе - кому надо, переведет сам. Формулу выложил в общую копилку, ведь в названии темы Google Docs не фигурирует.


Сообщение отредактировал vikttur - Воскресенье, 18.01.2015, 00:42
 
Ответить
Сообщение
Цитата
при условии, что за последним символом слева будет пробел

Я понял, что пробел нужно оставить (последний видимый символ и пробел). Если не нужен - убрать труда не составит (добавил формулу в своем предыдущем сообщении).
О переводе - кому надо, переведет сам. Формулу выложил в общую копилку, ведь в названии темы Google Docs не фигурирует.

Автор - vikttur
Дата добавления - 18.01.2015 в 00:19
AlexM Дата: Воскресенье, 18.01.2015, 00:24 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1130 ±
Замечаний: 0% ±

Excel 2003
А в заголовке "....пробел -1 символ" Я понял что пробел убираем.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеА в заголовке "....пробел -1 символ" Я понял что пробел убираем.

Автор - AlexM
Дата добавления - 18.01.2015 в 00:24
  • Страница 1 из 1
  • 1
Поиск:

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