Страницы: 1
RSS
Как удалять последнее слово в ячейке?
 
Доброго времени суток!
Нашел тему, где описывается как удалять первое слово или оставлять первое слово: http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=8&TID=19977
Но я из неё не понял, как удалять только последнее слово в фразе.
Помогите, пожалуйста, с формулой.
Также интересует, как удалять 2, 3...n - количества последних слов в ячейке.
Благодарю заранее за помощь!
 
А так не пробовали спросить?
 
Да искал, спасибо!
Просто здесь есть как удалять 2 последних слова, но нет как одно удалять...
 
добрый день, попробуйте функцию yyy в C1
 
Код
Function yyy$(t$)
    Dim x: x = Split(t): x(UBound(x)) = ""
     yyy = Join(x)
End Function
Изменено: sv2013 - 22.02.2016 15:00:49
 
Нашел формулу :)
=ЛЕВСИМВ(A2;ПОИСК("/";ПОДСТАВИТЬ(A2;" ";"/";ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;" ";))))-1)
 
Atman,для удаления k последних слов функция yyy1 в файл примере
 
Код
Function yyy1$(t$, k As Byte)
  Dim x, i&: x = Split(t)
 For i = UBound(x) To UBound(x) - k + 1 Step -1: x(i) = "": Next
  yyy1 = Join(x)
End Function
Изменено: sv2013 - 22.02.2016 15:19:07
 
Удалить последнее слово
=ЛЕВСИМВ(СЖПРОБЕЛЫ(A2);ПОИСК("`";ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);" ";"`";ДЛСТР(СЖПРОБЕЛЫ(A2))-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2);" ";""))))-1)
В файле варианты для удаления N последних
Согласие есть продукт при полном непротивлении сторон
 
Цитата
sv2013 написал:
yyy1 = Join(x)
Может так лучше -
Код
yyy1 = TRIM$(Join(x)) 'зачем лишних n пробелов в конце?
 
Цитата
Atman написал: Нашел формулу
СЖПРОБЕЛЫ() в формуле не помешают. Вдруг между словами окажется больше одного пробела? Тогда результат будет не верный
Согласие есть продукт при полном непротивлении сторон
 
=ЛЕВСИМВ(A2;ПОИСК("|";ПОДСТАВИТЬ(A2;" ";"|";$B$1)))
=СЖПРОБЕЛЫ(ЛЕВСИМВ(ПОДСТАВИТЬ(" "&A2;" ";ПОВТОР(" ";50));50*$B$1+50))

В В1 - количество слов с начала текста (сколько оставить).
Вторая формула не выдаст ошибку, если в В1 число больше, чем количество пробелов в слове, или В1=0

=ЛЕВСИМВ(A2;ПОИСК("|";ПОДСТАВИТЬ(A2&" ";" ";"|";МАКС(1;1-$B$1+ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;" ";))))))
В В1 - количество слов с конца текста (сколько удалить)
 
Огромное всем спасибо!
Страницы: 1
Читают тему
Наверх