Удаление значения в скобках где только цифры
anabioss13
Дата: Среда, 23.03.2016, 07:22 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 129
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Здравствуйте! Подскажите пожалуйста как удалить в ячейках значения в скобках там где только цифры? Т.е. Дверь 1118/2190 задняя (левая) (665), получается (665) надо удалить.. А там где (2шт.) это оставить. Вообщем надо удалить все в скобках где внутри только цифры, без букв. В конце примера есть так же (426.3708600) это тоже нужно удалить..
Здравствуйте! Подскажите пожалуйста как удалить в ячейках значения в скобках там где только цифры? Т.е. Дверь 1118/2190 задняя (левая) (665), получается (665) надо удалить.. А там где (2шт.) это оставить. Вообщем надо удалить все в скобках где внутри только цифры, без букв. В конце примера есть так же (426.3708600) это тоже нужно удалить.. anabioss13
Ответить
Сообщение Здравствуйте! Подскажите пожалуйста как удалить в ячейках значения в скобках там где только цифры? Т.е. Дверь 1118/2190 задняя (левая) (665), получается (665) надо удалить.. А там где (2шт.) это оставить. Вообщем надо удалить все в скобках где внутри только цифры, без букв. В конце примера есть так же (426.3708600) это тоже нужно удалить.. Автор - anabioss13 Дата добавления - 23.03.2016 в 07:22
китин
Дата: Среда, 23.03.2016, 07:40 |
Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация:
1073
±
Замечаний:
0% ±
Excel 2007;2010;2016
БРРРРР аж самому страшно.Может кто покпасивше напишет Код
=ЕСЛИ(ЕЧИСЛО(--ПСТР(ПОДСТАВИТЬ(B21;" ";"ЯЯЯ";ДЛСТР(B21)-ДЛСТР(ПОДСТАВИТЬ(B21;" ";"")));ПОИСК("ЯЯЯ";ПОДСТАВИТЬ(B21;" ";"ЯЯЯ";ДЛСТР(B21)-ДЛСТР(ПОДСТАВИТЬ(B21;" ";""))))+4;3));ЛЕВБ(ПОДСТАВИТЬ(B21;" ";"ЯЯЯ";ДЛСТР(B21)-ДЛСТР(ПОДСТАВИТЬ(B21;" ";"")));ПОИСК("ЯЯЯ";ПОДСТАВИТЬ(B21;" ";"ЯЯЯ";ДЛСТР(B21)-ДЛСТР(ПОДСТАВИТЬ(B21;" ";""))))-1);B21)
БРРРРР аж самому страшно.Может кто покпасивше напишет Код
=ЕСЛИ(ЕЧИСЛО(--ПСТР(ПОДСТАВИТЬ(B21;" ";"ЯЯЯ";ДЛСТР(B21)-ДЛСТР(ПОДСТАВИТЬ(B21;" ";"")));ПОИСК("ЯЯЯ";ПОДСТАВИТЬ(B21;" ";"ЯЯЯ";ДЛСТР(B21)-ДЛСТР(ПОДСТАВИТЬ(B21;" ";""))))+4;3));ЛЕВБ(ПОДСТАВИТЬ(B21;" ";"ЯЯЯ";ДЛСТР(B21)-ДЛСТР(ПОДСТАВИТЬ(B21;" ";"")));ПОИСК("ЯЯЯ";ПОДСТАВИТЬ(B21;" ";"ЯЯЯ";ДЛСТР(B21)-ДЛСТР(ПОДСТАВИТЬ(B21;" ";""))))-1);B21)
китин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Ответить
Сообщение БРРРРР аж самому страшно.Может кто покпасивше напишет Код
=ЕСЛИ(ЕЧИСЛО(--ПСТР(ПОДСТАВИТЬ(B21;" ";"ЯЯЯ";ДЛСТР(B21)-ДЛСТР(ПОДСТАВИТЬ(B21;" ";"")));ПОИСК("ЯЯЯ";ПОДСТАВИТЬ(B21;" ";"ЯЯЯ";ДЛСТР(B21)-ДЛСТР(ПОДСТАВИТЬ(B21;" ";""))))+4;3));ЛЕВБ(ПОДСТАВИТЬ(B21;" ";"ЯЯЯ";ДЛСТР(B21)-ДЛСТР(ПОДСТАВИТЬ(B21;" ";"")));ПОИСК("ЯЯЯ";ПОДСТАВИТЬ(B21;" ";"ЯЯЯ";ДЛСТР(B21)-ДЛСТР(ПОДСТАВИТЬ(B21;" ";""))))-1);B21)
Автор - китин Дата добавления - 23.03.2016 в 07:40
Nic70y
Дата: Среда, 23.03.2016, 07:42 |
Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 8759
Репутация:
2273
±
Замечаний:
0% ±
Excel 2010
Код
=СЖПРОБЕЛЫ(ЛЕВБ(ЕСЛИ(ЕСЛИОШИБКА(--ПРАВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(B4);" ";ПОВТОР(" ";15));".";",");15)<0;);ПОДСТАВИТЬ(B4;" ";ПОВТОР(" ";742);ДЛСТР(B4)-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(B4);" ";)));B4);742))
ну не знаю как сказать
Код
=СЖПРОБЕЛЫ(ЛЕВБ(ЕСЛИ(ЕСЛИОШИБКА(--ПРАВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(B4);" ";ПОВТОР(" ";15));".";",");15)<0;);ПОДСТАВИТЬ(B4;" ";ПОВТОР(" ";742);ДЛСТР(B4)-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(B4);" ";)));B4);742))
ну не знаю как сказать Nic70y
ЮMoney 41001841029809
Ответить
Сообщение Код
=СЖПРОБЕЛЫ(ЛЕВБ(ЕСЛИ(ЕСЛИОШИБКА(--ПРАВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(B4);" ";ПОВТОР(" ";15));".";",");15)<0;);ПОДСТАВИТЬ(B4;" ";ПОВТОР(" ";742);ДЛСТР(B4)-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(B4);" ";)));B4);742))
ну не знаю как сказать Автор - Nic70y Дата добавления - 23.03.2016 в 07:42
anabioss13
Дата: Среда, 23.03.2016, 07:43 |
Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 129
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Спасибо! Все работает!
Ответить
Сообщение Спасибо! Все работает! Автор - anabioss13 Дата добавления - 23.03.2016 в 07:43 Ответить
Сообщение ну ты же написал мдя надо ПОВТОР поглядеть [offtop]и не издевайся Автор - китин Дата добавления - 23.03.2016 в 07:43
_Boroda_
Дата: Среда, 23.03.2016, 07:48 |
Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация:
6479
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Еще вариант. Формула массива (вводить одновременным нажатием Контрл Шифт Ентер)Код
=ПСТР(B4;1;МИН(ЕСЛИ(ЕСЛИОШИБКА(--ПСТР(B4;СТРОКА($1:$99);99);)<0;СТРОКА($1:$99);99))-1)
Однако не, чуть усложнить придетсяКод
=ПСТР(B4;1;МИН(ЕСЛИ(ЕСЛИОШИБКА(--ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B4;".";);"-";1);СТРОКА($1:$99);99);)<0;СТРОКА($1:$99);99))-1)
Еще вариант. Формула массива (вводить одновременным нажатием Контрл Шифт Ентер)Код
=ПСТР(B4;1;МИН(ЕСЛИ(ЕСЛИОШИБКА(--ПСТР(B4;СТРОКА($1:$99);99);)<0;СТРОКА($1:$99);99))-1)
Однако не, чуть усложнить придетсяКод
=ПСТР(B4;1;МИН(ЕСЛИ(ЕСЛИОШИБКА(--ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B4;".";);"-";1);СТРОКА($1:$99);99);)<0;СТРОКА($1:$99);99))-1)
_Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Еще вариант. Формула массива (вводить одновременным нажатием Контрл Шифт Ентер)Код
=ПСТР(B4;1;МИН(ЕСЛИ(ЕСЛИОШИБКА(--ПСТР(B4;СТРОКА($1:$99);99);)<0;СТРОКА($1:$99);99))-1)
Однако не, чуть усложнить придетсяКод
=ПСТР(B4;1;МИН(ЕСЛИ(ЕСЛИОШИБКА(--ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B4;".";);"-";1);СТРОКА($1:$99);99);)<0;СТРОКА($1:$99);99))-1)
Автор - _Boroda_ Дата добавления - 23.03.2016 в 07:48 Ответить
Сообщение Саша [offtop]одно не понял как в --ПСТР( получается отрицательное число (это по первой формуле) Автор - китин Дата добавления - 23.03.2016 в 08:01
Nic70y
Дата: Среда, 23.03.2016, 08:06 |
Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 8759
Репутация:
2273
±
Замечаний:
0% ±
Excel 2010
ЮMoney 41001841029809
Ответить
Сообщение Игорь, Автор - Nic70y Дата добавления - 23.03.2016 в 08:06
китин
Дата: Среда, 23.03.2016, 08:11 |
Сообщение № 9
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация:
1073
±
Замечаний:
0% ±
Excel 2007;2010;2016
блин не знал
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Ответить
Сообщение блин не знал Автор - китин Дата добавления - 23.03.2016 в 08:11
_Boroda_
Дата: Среда, 23.03.2016, 09:08 |
Сообщение № 10
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация:
6479
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
китин
Дата: Среда, 23.03.2016, 09:11 |
Сообщение № 11
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация:
1073
±
Замечаний:
0% ±
Excel 2007;2010;2016
Привет Саша. Ты знаешь, как то мимо меня эта тема пролетела
Привет Саша. Ты знаешь, как то мимо меня эта тема пролетела китин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Ответить
Сообщение Привет Саша. Ты знаешь, как то мимо меня эта тема пролетела Автор - китин Дата добавления - 23.03.2016 в 09:11
sv2014
Дата: Среда, 23.03.2016, 10:22 |
Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация:
61
±
Замечаний:
0% ±
Excel 2013
anabioss13 , вариант функции uuu [vba]Код
Function uuu$(t$) With CreateObject("VBScript.RegExp") .Pattern = "(\(\d+\.\d+\)|\(\d+\))" If .test(t) Then uuu = .Replace(t, "") Else uuu = t End With End Function
[/vba]
anabioss13 , вариант функции uuu [vba]Код
Function uuu$(t$) With CreateObject("VBScript.RegExp") .Pattern = "(\(\d+\.\d+\)|\(\d+\))" If .test(t) Then uuu = .Replace(t, "") Else uuu = t End With End Function
[/vba]sv2014
Ответить
Сообщение anabioss13 , вариант функции uuu [vba]Код
Function uuu$(t$) With CreateObject("VBScript.RegExp") .Pattern = "(\(\d+\.\d+\)|\(\d+\))" If .test(t) Then uuu = .Replace(t, "") Else uuu = t End With End Function
[/vba]Автор - sv2014 Дата добавления - 23.03.2016 в 10:22
МВТ
Дата: Среда, 23.03.2016, 19:38 |
Сообщение № 13
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация:
137
±
Замечаний:
0% ±
Excel 2007
sv2014 , можно немного короче [vba]Код
Function tt(text As String) As String With CreateObject("VBScript.Regexp") .Global = True .Pattern = "\(\d+\.?\d+?\)" tt = .Replace(text, "") End With End Function
[/vba]
sv2014 , можно немного короче [vba]Код
Function tt(text As String) As String With CreateObject("VBScript.Regexp") .Global = True .Pattern = "\(\d+\.?\d+?\)" tt = .Replace(text, "") End With End Function
[/vba]МВТ
Ответить
Сообщение sv2014 , можно немного короче [vba]Код
Function tt(text As String) As String With CreateObject("VBScript.Regexp") .Global = True .Pattern = "\(\d+\.?\d+?\)" tt = .Replace(text, "") End With End Function
[/vba]Автор - МВТ Дата добавления - 23.03.2016 в 19:38
vikttur
Дата: Четверг, 24.03.2016, 01:24 |
Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Обычная, немассивная:Код
=СЖПРОБЕЛЫ(ЕСЛИ(ПРАВБ(СЖПРОБЕЛЫ(B4))=")";ЕСЛИ(ЕЧИСЛО(--ПРАВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B4;" ";ПОВТОР(" ";50));".";);50));ПОДСТАВИТЬ(B4;СЖПРОБЕЛЫ(ПРАВБ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(B4);" ";ПОВТОР(" ";50));50)););B4);B4))
Формулу можно значительно сократить, если исходные данные очистить от лишних пробелов.
Обычная, немассивная:Код
=СЖПРОБЕЛЫ(ЕСЛИ(ПРАВБ(СЖПРОБЕЛЫ(B4))=")";ЕСЛИ(ЕЧИСЛО(--ПРАВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B4;" ";ПОВТОР(" ";50));".";);50));ПОДСТАВИТЬ(B4;СЖПРОБЕЛЫ(ПРАВБ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(B4);" ";ПОВТОР(" ";50));50)););B4);B4))
Формулу можно значительно сократить, если исходные данные очистить от лишних пробелов. vikttur
Ответить
Сообщение Обычная, немассивная:Код
=СЖПРОБЕЛЫ(ЕСЛИ(ПРАВБ(СЖПРОБЕЛЫ(B4))=")";ЕСЛИ(ЕЧИСЛО(--ПРАВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B4;" ";ПОВТОР(" ";50));".";);50));ПОДСТАВИТЬ(B4;СЖПРОБЕЛЫ(ПРАВБ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(B4);" ";ПОВТОР(" ";50));50)););B4);B4))
Формулу можно значительно сократить, если исходные данные очистить от лишних пробелов. Автор - vikttur Дата добавления - 24.03.2016 в 01:24