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

Вход

Регистрация

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

 

= Мир MS Excel/Удаление последних символов в ячейке при нескольких условиях - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Удаление последних символов в ячейке при нескольких условиях (Формулы/Formulas)
Удаление последних символов в ячейке при нескольких условиях
Любознатель Дата: Вторник, 12.04.2016, 19:36 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день!
Подскажите, пожалуйста, как прописать все значения, которые необходимо удалить если они встретятся в конце текста ячейки.
Т.е. необходимо удалить последние три знака, если встречается в конце такой текст: (1), (2), (3) и т.д.
Я применила такую формулу, но в ней приписала, только одно условие, а надо несколько.
Код
=ЕСЛИ(ПРАВСИМВ($B2;3)="(1)";ПСТР($B2;1;ДЛСТР($B2)-3);$B2)

[moder]Оформляйте формулы тегами! На первый раз поправила.[/moder]
К сообщению приложен файл: __.xls(26Kb)


Сообщение отредактировал Manyasha - Вторник, 12.04.2016, 19:46
 
Ответить
СообщениеДобрый день!
Подскажите, пожалуйста, как прописать все значения, которые необходимо удалить если они встретятся в конце текста ячейки.
Т.е. необходимо удалить последние три знака, если встречается в конце такой текст: (1), (2), (3) и т.д.
Я применила такую формулу, но в ней приписала, только одно условие, а надо несколько.
Код
=ЕСЛИ(ПРАВСИМВ($B2;3)="(1)";ПСТР($B2;1;ДЛСТР($B2)-3);$B2)

[moder]Оформляйте формулы тегами! На первый раз поправила.[/moder]

Автор - Любознатель
Дата добавления - 12.04.2016 в 19:36
Manyasha Дата: Вторник, 12.04.2016, 19:50 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 1590
Репутация: 669 ±
Замечаний: 0% ±

Excel 2007, 2010
Любознатель, а скобочки только в конце могут встречаться?
Если да, то можно так:
Код
=ПСТР(B2;1;ЕСЛИОШИБКА(ПОИСК("(?)";B2);999)-1)
К сообщению приложен файл: 112233.xls(26Kb)


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеЛюбознатель, а скобочки только в конце могут встречаться?
Если да, то можно так:
Код
=ПСТР(B2;1;ЕСЛИОШИБКА(ПОИСК("(?)";B2);999)-1)

Автор - Manyasha
Дата добавления - 12.04.2016 в 19:50
_Boroda_ Дата: Вторник, 12.04.2016, 19:51 | Сообщение № 3
Группа: Модераторы
Ранг: Экселист
Сообщений: 9381
Репутация: 3951 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Если откр. скобка бывает только одна, то так можно
Код
=ЛЕВБ(B2;ПОИСК("(";B2&"(")-1)

Если конструкций (*) может быть много и удалять нужно только последнюю, то так
Код
=ЛЕВБ(B2;ДЛСТР(B2)-3*(КОДСИМВ(ПРАВБ(B2;3))=40))

Код
=ЛЕВБ(B2;ДЛСТР(B2)-3*(ПСТР(B2;ДЛСТР(B2)-2;1)="("))
К сообщению приложен файл: _46546410_1.xls(28Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕсли откр. скобка бывает только одна, то так можно
Код
=ЛЕВБ(B2;ПОИСК("(";B2&"(")-1)

Если конструкций (*) может быть много и удалять нужно только последнюю, то так
Код
=ЛЕВБ(B2;ДЛСТР(B2)-3*(КОДСИМВ(ПРАВБ(B2;3))=40))

Код
=ЛЕВБ(B2;ДЛСТР(B2)-3*(ПСТР(B2;ДЛСТР(B2)-2;1)="("))

Автор - _Boroda_
Дата добавления - 12.04.2016 в 19:51
Manyasha Дата: Вторник, 12.04.2016, 19:58 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 1590
Репутация: 669 ±
Замечаний: 0% ±

Excel 2007, 2010
Если конструкций (*) может быть много и удалять нужно только последнюю

еще вариант:
Код
=ПСТР(B2;1;ДЛСТР(B2)-3*ЕЧИСЛО(ПОИСК("(?)";ПРАВБ(B2;3))))


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщение
Если конструкций (*) может быть много и удалять нужно только последнюю

еще вариант:
Код
=ПСТР(B2;1;ДЛСТР(B2)-3*ЕЧИСЛО(ПОИСК("(?)";ПРАВБ(B2;3))))

Автор - Manyasha
Дата добавления - 12.04.2016 в 19:58
Любознатель Дата: Вторник, 12.04.2016, 20:16 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Manyasha, да, скобки только в конце.
Спасибо, то, что надо.
Поясните, пожалуйста, только, что значит в формуле 999)-1, чтобы понять смысл.


Сообщение отредактировал Любознатель - Вторник, 12.04.2016, 20:20
 
Ответить
СообщениеManyasha, да, скобки только в конце.
Спасибо, то, что надо.
Поясните, пожалуйста, только, что значит в формуле 999)-1, чтобы понять смысл.

Автор - Любознатель
Дата добавления - 12.04.2016 в 20:16
Любознатель Дата: Вторник, 12.04.2016, 20:19 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
_Boroda_, Manyasha, спасибо большое, все формулы работают. Записала все себе - буду в них разбираться.
 
Ответить
Сообщение_Boroda_, Manyasha, спасибо большое, все формулы работают. Записала все себе - буду в них разбираться.

Автор - Любознатель
Дата добавления - 12.04.2016 в 20:19
Manyasha Дата: Вторник, 12.04.2016, 20:45 | Сообщение № 7
Группа: Модераторы
Ранг: Старожил
Сообщений: 1590
Репутация: 669 ±
Замечаний: 0% ±

Excel 2007, 2010
Любознатель, на примере 1-й строки:
ПОИСК("(?)";B2) - вернет 10
А третий аргумент в функции ПСТР - это количество возвращаемых знаков. Если оставить 10, то ПСТР вернет подстроку вместе со скобочкой "(". Нам она не нужна, поэтому возвращаем на 1 символ меньше.
вот так наверное понятнее:
Код
=ПСТР(B2;1;ЕСЛИОШИБКА(ПОИСК("(?)";B2)-1;999))

Если в строке нет части "(?)", нам нужно оставить всю строку, а ПОИСК вернет #ЗНАЧ, тогда
Код
ЕСЛИОШИБКА(ПОИСК("(?)";B2)-1;999)
вернет 999.
999 - это количество возвращаемых символов с запасом (надеемся, что строк с длиной больше 999 символов у нас нет)
Вместо 999 можно написать ДЛСТР(B3)

Как-то так, надуюсь понятно :)


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеЛюбознатель, на примере 1-й строки:
ПОИСК("(?)";B2) - вернет 10
А третий аргумент в функции ПСТР - это количество возвращаемых знаков. Если оставить 10, то ПСТР вернет подстроку вместе со скобочкой "(". Нам она не нужна, поэтому возвращаем на 1 символ меньше.
вот так наверное понятнее:
Код
=ПСТР(B2;1;ЕСЛИОШИБКА(ПОИСК("(?)";B2)-1;999))

Если в строке нет части "(?)", нам нужно оставить всю строку, а ПОИСК вернет #ЗНАЧ, тогда
Код
ЕСЛИОШИБКА(ПОИСК("(?)";B2)-1;999)
вернет 999.
999 - это количество возвращаемых символов с запасом (надеемся, что строк с длиной больше 999 символов у нас нет)
Вместо 999 можно написать ДЛСТР(B3)

Как-то так, надуюсь понятно :)

Автор - Manyasha
Дата добавления - 12.04.2016 в 20:45
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Удаление последних символов в ячейке при нескольких условиях (Формулы/Formulas)
Страница 1 из 11
Поиск:

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