Задача: В ячейке находится текст, состоящий из более чем 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);НАЙТИ(" ";;) пока в голове только такая конструкция
Спасибо за ссылку на другую тему, но задачу нужно решить путем ввода формулы в ячейку в гугл доке.
Преобразовал ее в следующий вид =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, в ряде случаев 64ivbar
при условии, что за последним символом слева будет пробел
Я понял, что пробел нужно оставить (последний видимый символ и пробел). Если не нужен - убрать труда не составит (добавил формулу в своем предыдущем сообщении). О переводе - кому надо, переведет сам. Формулу выложил в общую копилку, ведь в названии темы Google Docs не фигурирует.
Цитата
при условии, что за последним символом слева будет пробел
Я понял, что пробел нужно оставить (последний видимый символ и пробел). Если не нужен - убрать труда не составит (добавил формулу в своем предыдущем сообщении). О переводе - кому надо, переведет сам. Формулу выложил в общую копилку, ведь в названии темы Google Docs не фигурирует.vikttur
Сообщение отредактировал vikttur - Воскресенье, 18.01.2015, 00:42