Удаление части текста в ячейке по условию
TD_MElec
Дата: Среда, 14.08.2019, 13:28 |
Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация:
1
±
Замечаний:
0% ±
Excel 2019
Добрый день. Необходимо удалять из ячейки, часть текста, идущую после “ -”. Так же в тексте необходимо убирать символ “!” при условии, что перед символом есть пробел, а после символа пробела нет. И удалять следующие символы: ”#+()[] В примере выделил красным текстом, то что должно удаляться.
Добрый день. Необходимо удалять из ячейки, часть текста, идущую после “ -”. Так же в тексте необходимо убирать символ “!” при условии, что перед символом есть пробел, а после символа пробела нет. И удалять следующие символы: ”#+()[] В примере выделил красным текстом, то что должно удаляться. TD_MElec
К сообщению приложен файл:
pr3.xlsx
(9.5 Kb)
Ответить
Сообщение Добрый день. Необходимо удалять из ячейки, часть текста, идущую после “ -”. Так же в тексте необходимо убирать символ “!” при условии, что перед символом есть пробел, а после символа пробела нет. И удалять следующие символы: ”#+()[] В примере выделил красным текстом, то что должно удаляться. Автор - TD_MElec Дата добавления - 14.08.2019 в 13:28
TD_MElec
Дата: Среда, 14.08.2019, 15:01 |
Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация:
1
±
Замечаний:
0% ±
Excel 2019
Пока решил таким образом: сначала удаляю ненужное, через ПОДСТАВИТЬ и СЖПРОБЕЛЫ (в примере шаг1)Код
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B10;"#";"");"""";"");" +";" ");"(";"");")";"");"[";"");"]";"");" !";" ");"+ ";" "))
Затем считаю количество символов до " -" (в примере шаг2):Код
=СУММПРОИЗВ(--ЕОШ(ПОИСК("~"&ПСТР(ЛЕВБ(E6;ПОИСК(" -";ПОДСТАВИТЬ(E6;" - ";111)&" -")-1);СТРОКА($1:$199);1);$F$3)))
Ну и третий шаг - это через ПСТР беру первую часть ячейки. Таким образом не решил вопрос с 11 строкой, но сомневаюсь, что на практике возможен случай появления ! между двух пробелов. Уважаемые знатоки, если есть более рациональный вариант решения, буду рад его изучить). Спасибо.
Пока решил таким образом: сначала удаляю ненужное, через ПОДСТАВИТЬ и СЖПРОБЕЛЫ (в примере шаг1)Код
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B10;"#";"");"""";"");" +";" ");"(";"");")";"");"[";"");"]";"");" !";" ");"+ ";" "))
Затем считаю количество символов до " -" (в примере шаг2):Код
=СУММПРОИЗВ(--ЕОШ(ПОИСК("~"&ПСТР(ЛЕВБ(E6;ПОИСК(" -";ПОДСТАВИТЬ(E6;" - ";111)&" -")-1);СТРОКА($1:$199);1);$F$3)))
Ну и третий шаг - это через ПСТР беру первую часть ячейки. Таким образом не решил вопрос с 11 строкой, но сомневаюсь, что на практике возможен случай появления ! между двух пробелов. Уважаемые знатоки, если есть более рациональный вариант решения, буду рад его изучить). Спасибо. TD_MElec
Ответить
Сообщение Пока решил таким образом: сначала удаляю ненужное, через ПОДСТАВИТЬ и СЖПРОБЕЛЫ (в примере шаг1)Код
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B10;"#";"");"""";"");" +";" ");"(";"");")";"");"[";"");"]";"");" !";" ");"+ ";" "))
Затем считаю количество символов до " -" (в примере шаг2):Код
=СУММПРОИЗВ(--ЕОШ(ПОИСК("~"&ПСТР(ЛЕВБ(E6;ПОИСК(" -";ПОДСТАВИТЬ(E6;" - ";111)&" -")-1);СТРОКА($1:$199);1);$F$3)))
Ну и третий шаг - это через ПСТР беру первую часть ячейки. Таким образом не решил вопрос с 11 строкой, но сомневаюсь, что на практике возможен случай появления ! между двух пробелов. Уважаемые знатоки, если есть более рациональный вариант решения, буду рад его изучить). Спасибо. Автор - TD_MElec Дата добавления - 14.08.2019 в 15:01
_Boroda_
Дата: Среда, 14.08.2019, 15:47 |
Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16888
Репутация:
6611
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
А куда Вы дели воскл знаки в ячейках D8 и D15? Перед ними пробела нет Такой вариантКод
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЛЕВБ(B6;ПОИСК(" -";ПОДСТАВИТЬ(B6;" - ";111)&" -")-1);"#";);"""";);" +";" ");"(";);")";);"[";);"]";);" ! ";"(((");" !";" ");"(((";" ! ");"+ ";" "))
А куда Вы дели воскл знаки в ячейках D8 и D15? Перед ними пробела нет Такой вариантКод
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ЛЕВБ(B6;ПОИСК(" -";ПОДСТАВИТЬ(B6;" - ";111)&" -")-1);"#";);"""";);" +";" ");"(";);")";);"[";);"]";);" ! ";"(((");" !";" ");"(((";" ! ");"+ ";" "))
_Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: 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
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация:
1
±
Замечаний:
0% ±
Excel 2019
Обнаружил еще одну мою ошибку(. Исходный файл в котором будет работа под 2003 xls, а пример выложил 2010. А там Ваша формула не хочет работать. Ошибку выдает: "не удается ввести указанную формулу поскольку она использует больше уровней..."А куда Вы дели воскл знаки в ячейках D8 и D15? Перед ними пробела нет
Да, действительно. Это я руками печатал, что должно получиться и в спешке упустил.
Обнаружил еще одну мою ошибку(. Исходный файл в котором будет работа под 2003 xls, а пример выложил 2010. А там Ваша формула не хочет работать. Ошибку выдает: "не удается ввести указанную формулу поскольку она использует больше уровней..."А куда Вы дели воскл знаки в ячейках D8 и D15? Перед ними пробела нет
Да, действительно. Это я руками печатал, что должно получиться и в спешке упустил. TD_MElec
Ответить
Сообщение Обнаружил еще одну мою ошибку(. Исходный файл в котором будет работа под 2003 xls, а пример выложил 2010. А там Ваша формула не хочет работать. Ошибку выдает: "не удается ввести указанную формулу поскольку она использует больше уровней..."А куда Вы дели воскл знаки в ячейках D8 и D15? Перед ними пробела нет
Да, действительно. Это я руками печатал, что должно получиться и в спешке упустил. Автор - TD_MElec Дата добавления - 14.08.2019 в 17:00
_Boroda_
Дата: Среда, 14.08.2019, 17:09 |
Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16888
Репутация:
6611
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Тогда кусок формулы можно засунуть в именованный диапазон (Контрл F3) Да и второй кусок (в который уже вшит первый) тоже туда засунуть
Тогда кусок формулы можно засунуть в именованный диапазон (Контрл F3) Да и второй кусок (в который уже вшит первый) тоже туда засунуть _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Тогда кусок формулы можно засунуть в именованный диапазон (Контрл F3) Да и второй кусок (в который уже вшит первый) тоже туда засунуть Автор - _Boroda_ Дата добавления - 14.08.2019 в 17:09
TD_MElec
Дата: Четверг, 15.08.2019, 11:43 |
Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация:
1
±
Замечаний:
0% ±
Excel 2019
Спасибо. Разобрался наконец)
Ответить
Сообщение Спасибо. Разобрался наконец) Автор - TD_MElec Дата добавления - 15.08.2019 в 11:43