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

Вход

Регистрация

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

 

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

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Удаление части текста в ячейке по условию (Формулы/Formulas)
Удаление части текста в ячейке по условию
TD_MElec Дата: Среда, 14.08.2019, 13:28 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
Необходимо удалять из ячейки, часть текста, идущую после “ -”. Так же в тексте необходимо убирать символ “!” при условии, что перед символом есть пробел, а после символа пробела нет. И удалять следующие символы: ”#+()[]
В примере выделил красным текстом, то что должно удаляться.
К сообщению приложен файл: pr3.xlsx(9.5 Kb)
 
Ответить
СообщениеДобрый день.
Необходимо удалять из ячейки, часть текста, идущую после “ -”. Так же в тексте необходимо убирать символ “!” при условии, что перед символом есть пробел, а после символа пробела нет. И удалять следующие символы: ”#+()[]
В примере выделил красным текстом, то что должно удаляться.

Автор - TD_MElec
Дата добавления - 14.08.2019 в 13:28
TD_MElec Дата: Среда, 14.08.2019, 15:01 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Пока решил таким образом:
сначала удаляю ненужное, через ПОДСТАВИТЬ и СЖПРОБЕЛЫ (в примере шаг1)
Код
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B10;"#";"");"""";"");" +";" ");"(";"");")";"");"[";"");"]";"");" !";" ");"+ ";" "))

Затем считаю количество символов до " -" (в примере шаг2):
Код
=СУММПРОИЗВ(--ЕОШ(ПОИСК("~"&ПСТР(ЛЕВБ(E6;ПОИСК(" -";ПОДСТАВИТЬ(E6;" - ";111)&" -")-1);СТРОКА($1:$199);1);$F$3)))

Ну и третий шаг - это через ПСТР беру первую часть ячейки.
Код
=ПСТР(E6;1;G6)

Таким образом не решил вопрос с 11 строкой, но сомневаюсь, что на практике возможен случай появления ! между двух пробелов.

Уважаемые знатоки, если есть более рациональный вариант решения, буду рад его изучить).
Спасибо.
К сообщению приложен файл: 6092002.xlsx(10.5 Kb)
 
Ответить
СообщениеПока решил таким образом:
сначала удаляю ненужное, через ПОДСТАВИТЬ и СЖПРОБЕЛЫ (в примере шаг1)
Код
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B10;"#";"");"""";"");" +";" ");"(";"");")";"");"[";"");"]";"");" !";" ");"+ ";" "))

Затем считаю количество символов до " -" (в примере шаг2):
Код
=СУММПРОИЗВ(--ЕОШ(ПОИСК("~"&ПСТР(ЛЕВБ(E6;ПОИСК(" -";ПОДСТАВИТЬ(E6;" - ";111)&" -")-1);СТРОКА($1:$199);1);$F$3)))

Ну и третий шаг - это через ПСТР беру первую часть ячейки.
Код
=ПСТР(E6;1;G6)

Таким образом не решил вопрос с 11 строкой, но сомневаюсь, что на практике возможен случай появления ! между двух пробелов.

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

Автор - TD_MElec
Дата добавления - 14.08.2019 в 15:01
_Boroda_ Дата: Среда, 14.08.2019, 15:47 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 15577
Репутация: 6078 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А куда Вы дели воскл знаки в ячейках D8 и D15? Перед ними пробела нет
Такой вариант
Код
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЛЕВБ(B6;ПОИСК(" -";ПОДСТАВИТЬ(B6;" - ";111)&" -")-1);"#";);"""";);" +";" ");"(";);")";);"[";);"]";);" ! ";"(((");" !";" ");"(((";" ! ");"+ ";" "))
К сообщению приложен файл: 6092002_1.xlsx(11.1 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА куда Вы дели воскл знаки в ячейках D8 и D15? Перед ними пробела нет
Такой вариант
Код
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЛЕВБ(B6;ПОИСК(" -";ПОДСТАВИТЬ(B6;" - ";111)&" -")-1);"#";);"""";);" +";" ");"(";);")";);"[";);"]";);" ! ";"(((");" !";" ");"(((";" ! ");"+ ";" "))

Автор - _Boroda_
Дата добавления - 14.08.2019 в 15:47
TD_MElec Дата: Среда, 14.08.2019, 17:00 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Обнаружил еще одну мою ошибку(.
Исходный файл в котором будет работа под 2003 xls, а пример выложил 2010. А там Ваша формула не хочет работать. Ошибку выдает: "не удается ввести указанную формулу поскольку она использует больше уровней..."

А куда Вы дели воскл знаки в ячейках D8 и D15? Перед ними пробела нет

Да, действительно. Это я руками печатал, что должно получиться и в спешке упустил.
 
Ответить
СообщениеОбнаружил еще одну мою ошибку(.
Исходный файл в котором будет работа под 2003 xls, а пример выложил 2010. А там Ваша формула не хочет работать. Ошибку выдает: "не удается ввести указанную формулу поскольку она использует больше уровней..."

А куда Вы дели воскл знаки в ячейках D8 и D15? Перед ними пробела нет

Да, действительно. Это я руками печатал, что должно получиться и в спешке упустил.

Автор - TD_MElec
Дата добавления - 14.08.2019 в 17:00
_Boroda_ Дата: Среда, 14.08.2019, 17:09 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 15577
Репутация: 6078 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Тогда кусок формулы можно засунуть в именованный диапазон (Контрл F3)
Да и второй кусок (в который уже вшит первый) тоже туда засунуть
К сообщению приложен файл: 6092002_12.xls(30.5 Kb)


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

Автор - _Boroda_
Дата добавления - 14.08.2019 в 17:09
TD_MElec Дата: Четверг, 15.08.2019, 11:43 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо.
Разобрался наконец)
 
Ответить
СообщениеСпасибо.
Разобрался наконец)

Автор - TD_MElec
Дата добавления - 15.08.2019 в 11:43
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Удаление части текста в ячейке по условию (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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