Удаление символов после цифр
Valet
Дата: Воскресенье, 11.04.2021, 22:14 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Добрый вечер.
Ответить
Сообщение Добрый вечер. Автор - Valet Дата добавления - 11.04.2021 в 22:14
Valet
Дата: Воскресенье, 11.04.2021, 22:19 |
Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
Столкнулся с проблемой, есть ряд адресов, их необходимо немного причесать. Т.е в адресной строке после указания дома или корпуса и т.д. дополнены наименования объекта, они как раз и не нужны. Возможно ли при помощи формул, удалить с конца ячейки все символы до первой попадающей цифры? с вба не дружу, поэтому чем проще тем лучше) Заранее спасибо!
Столкнулся с проблемой, есть ряд адресов, их необходимо немного причесать. Т.е в адресной строке после указания дома или корпуса и т.д. дополнены наименования объекта, они как раз и не нужны. Возможно ли при помощи формул, удалить с конца ячейки все символы до первой попадающей цифры? с вба не дружу, поэтому чем проще тем лучше) Заранее спасибо! Valet
Ответить
Сообщение Столкнулся с проблемой, есть ряд адресов, их необходимо немного причесать. Т.е в адресной строке после указания дома или корпуса и т.д. дополнены наименования объекта, они как раз и не нужны. Возможно ли при помощи формул, удалить с конца ячейки все символы до первой попадающей цифры? с вба не дружу, поэтому чем проще тем лучше) Заранее спасибо! Автор - Valet Дата добавления - 11.04.2021 в 22:19
прохожий2019
Дата: Воскресенье, 11.04.2021, 22:45 |
Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 1239
Репутация:
316
±
Замечаний:
0% ±
365 Beta Channel
ну и зря... Код
=ЛЕВБ(A2;МАКС(СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A2)))*(ABS(КОДСИМВ(ПСТР(A2;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A2)));1))-52,5)<=4,5)))
Код
=ЛЕВБ(A2;МАКС(ЕСЛИОШИБКА(СТРОКА($1:$99)*(ABS(КОДСИМВ(ПСТР(A2;СТРОКА($1:$99);1))-52,5)<=4,5);0)))
ну и зря... Код
=ЛЕВБ(A2;МАКС(СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A2)))*(ABS(КОДСИМВ(ПСТР(A2;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A2)));1))-52,5)<=4,5)))
Код
=ЛЕВБ(A2;МАКС(ЕСЛИОШИБКА(СТРОКА($1:$99)*(ABS(КОДСИМВ(ПСТР(A2;СТРОКА($1:$99);1))-52,5)<=4,5);0)))
прохожий2019
Сообщение отредактировал прохожий2019 - Воскресенье, 11.04.2021, 22:49
Ответить
Сообщение ну и зря... Код
=ЛЕВБ(A2;МАКС(СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A2)))*(ABS(КОДСИМВ(ПСТР(A2;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A2)));1))-52,5)<=4,5)))
Код
=ЛЕВБ(A2;МАКС(ЕСЛИОШИБКА(СТРОКА($1:$99)*(ABS(КОДСИМВ(ПСТР(A2;СТРОКА($1:$99);1))-52,5)<=4,5);0)))
Автор - прохожий2019 Дата добавления - 11.04.2021 в 22:45
Valet
Дата: Воскресенье, 11.04.2021, 23:10 |
Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация:
0
±
Замечаний:
0% ±
Excel 2013
прохожий2019, Благодарен за помощь, а можете описать как это работает? и почему диапазон выбран - все столбцы?
прохожий2019, Благодарен за помощь, а можете описать как это работает? и почему диапазон выбран - все столбцы? Valet
Ответить
Сообщение прохожий2019, Благодарен за помощь, а можете описать как это работает? и почему диапазон выбран - все столбцы? Автор - Valet Дата добавления - 11.04.2021 в 23:10
прохожий2019
Дата: Понедельник, 12.04.2021, 09:23 |
Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 1239
Репутация:
316
±
Замечаний:
0% ±
365 Beta Channel
Код
СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A2)))
получаем последовательность чисел от 1 до числа символов в строкеКод
ABS(КОДСИМВ(ПСТР(A2;...);1))-52,5)<=4,5
проверяем находится ли код символа в диапазоне 48-57 (диапазон кодов цифр)Код
МАКС(СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A2)))*(ABS(...)))
определяем максимальный номер, соответствующий условию вынимаем всё слева, включая последнюю цифру как-то так
Код
СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A2)))
получаем последовательность чисел от 1 до числа символов в строкеКод
ABS(КОДСИМВ(ПСТР(A2;...);1))-52,5)<=4,5
проверяем находится ли код символа в диапазоне 48-57 (диапазон кодов цифр)Код
МАКС(СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A2)))*(ABS(...)))
определяем максимальный номер, соответствующий условию вынимаем всё слева, включая последнюю цифру как-то такпрохожий2019
Ответить
Сообщение Код
СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A2)))
получаем последовательность чисел от 1 до числа символов в строкеКод
ABS(КОДСИМВ(ПСТР(A2;...);1))-52,5)<=4,5
проверяем находится ли код символа в диапазоне 48-57 (диапазон кодов цифр)Код
МАКС(СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A2)))*(ABS(...)))
определяем максимальный номер, соответствующий условию вынимаем всё слева, включая последнюю цифру как-то такАвтор - прохожий2019 Дата добавления - 12.04.2021 в 09:23
китин
Дата: Понедельник, 12.04.2021, 09:59 |
Сообщение № 6
Группа: Модераторы
Ранг: Экселист
Сообщений: 7007
Репутация:
1073
±
Замечаний:
0% ±
Excel 2007;2010;2016
можно так:Код
=ПСТР($A2;1;ПРОСМОТР(2;1/ЕЧИСЛО(--ПСТР($A2;СТРОКА($1:$99);1));СТРОКА($1:$99)))
можно так:Код
=ПСТР($A2;1;ПРОСМОТР(2;1/ЕЧИСЛО(--ПСТР($A2;СТРОКА($1:$99);1));СТРОКА($1:$99)))
китин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Ответить
Сообщение можно так:Код
=ПСТР($A2;1;ПРОСМОТР(2;1/ЕЧИСЛО(--ПСТР($A2;СТРОКА($1:$99);1));СТРОКА($1:$99)))
Автор - китин Дата добавления - 12.04.2021 в 09:59
Светлый
Дата: Понедельник, 12.04.2021, 11:12 |
Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1797
Репутация:
496
±
Замечаний:
0% ±
Excel 2013, 2016
Такая формула тоже работает:Код
=ЛЕВБ(A2;ПРОСМОТР(;-ПСТР(A2;СТРОКА($1:99);1);СТРОКА($1:99)))
Такая формула тоже работает:Код
=ЛЕВБ(A2;ПРОСМОТР(;-ПСТР(A2;СТРОКА($1:99);1);СТРОКА($1:99)))
Светлый
Программировать проще, чем писать стихи.
Ответить
Сообщение Такая формула тоже работает:Код
=ЛЕВБ(A2;ПРОСМОТР(;-ПСТР(A2;СТРОКА($1:99);1);СТРОКА($1:99)))
Автор - Светлый Дата добавления - 12.04.2021 в 11:12