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

Вход

Регистрация

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

 

= Мир MS Excel/Добавление символов по определенной маске - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Добавление символов по определенной маске
Allod Дата: Суббота, 19.05.2018, 12:36 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день. Необходимо в текстовом поле добавить в текст необходимый(ые) символ(ы)

Пример:
123456789

результат в зависимости от настоек маски:
1 234 56 789
1.234-56.789
123456.789


Сообщение отредактировал Allod - Суббота, 19.05.2018, 12:37
 
Ответить
СообщениеДобрый день. Необходимо в текстовом поле добавить в текст необходимый(ые) символ(ы)

Пример:
123456789

результат в зависимости от настоек маски:
1 234 56 789
1.234-56.789
123456.789

Автор - Allod
Дата добавления - 19.05.2018 в 12:36
abtextime Дата: Суббота, 19.05.2018, 13:12 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация: 117 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Public Function FillMask(S, Mask As String) As String
    For i = 1 To Len(Mask)
        If IsNumeric(Mid(Mask, i, 1)) Then
            Counter = Counter + 1
            FillMask = FillMask & Mid(S, Counter, 1)
        Else
            FillMask = FillMask & Mid(Mask, i, 1)
        End If
    Next i
End Function
[/vba]

Формулами
Код

=ЛЕВБ(C4;1)&" "&ПСТР(C4;2;4)&" "&ПСТР(C4;5;2)&" "&ПРАВБ(C4;3)

Код

=ЛЕВБ(C5;1)&"."&ПСТР(C5;2;4)&"-"&ПСТР(C5;5;2)&"."&ПРАВБ(C5;3)

Код
=ЛЕВБ(C6;6)&"."&ПРАВБ(C6;3)
К сообщению приложен файл: 1871380.xlsm (15.0 Kb)


Сообщение отредактировал abtextime - Суббота, 19.05.2018, 13:19
 
Ответить
Сообщение[vba]
Код
Public Function FillMask(S, Mask As String) As String
    For i = 1 To Len(Mask)
        If IsNumeric(Mid(Mask, i, 1)) Then
            Counter = Counter + 1
            FillMask = FillMask & Mid(S, Counter, 1)
        Else
            FillMask = FillMask & Mid(Mask, i, 1)
        End If
    Next i
End Function
[/vba]

Формулами
Код

=ЛЕВБ(C4;1)&" "&ПСТР(C4;2;4)&" "&ПСТР(C4;5;2)&" "&ПРАВБ(C4;3)

Код

=ЛЕВБ(C5;1)&"."&ПСТР(C5;2;4)&"-"&ПСТР(C5;5;2)&"."&ПРАВБ(C5;3)

Код
=ЛЕВБ(C6;6)&"."&ПРАВБ(C6;3)

Автор - abtextime
Дата добавления - 19.05.2018 в 13:12
Allod Дата: Суббота, 19.05.2018, 13:34 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
abtextime, ОГРОМНОЕ спасибо, это то что нужно!
 
Ответить
Сообщениеabtextime, ОГРОМНОЕ спасибо, это то что нужно!

Автор - Allod
Дата добавления - 19.05.2018 в 13:34
Светлый Дата: Суббота, 19.05.2018, 13:45 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1868
Репутация: 536 ±
Замечаний: 0% ±

Excel 2013, 2016
Если в образце использовать 0 вместо цифр и значки, то формула небольшая:
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ТЕКСТ($A$1;ПОДСТАВИТЬ(ПОДСТАВИТЬ(B1;" ";"$");".";"№"));"$";" ");"№";".")

Если образец содержит другие цифры, то формула подлиннее:
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ТЕКСТ($A$1;ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B1;" ";"$");".";"№");9;0);8;0);7;0);6;0);5;0);4;0);3;0);2;0);1;0));"№";".");"$";" ")


Программировать проще, чем писать стихи.
 
Ответить
СообщениеЕсли в образце использовать 0 вместо цифр и значки, то формула небольшая:
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ТЕКСТ($A$1;ПОДСТАВИТЬ(ПОДСТАВИТЬ(B1;" ";"$");".";"№"));"$";" ");"№";".")

Если образец содержит другие цифры, то формула подлиннее:
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ТЕКСТ($A$1;ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B1;" ";"$");".";"№");9;0);8;0);7;0);6;0);5;0);4;0);3;0);2;0);1;0));"№";".");"$";" ")

Автор - Светлый
Дата добавления - 19.05.2018 в 13:45
Allod Дата: Суббота, 19.05.2018, 15:23 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
А можно ли сделать обратную процедуру.

пример:
0 000 1234 5
00-001235

Результат:
000012345

Поиск с заменой не подходит, сразу убирает нули, они нужны не как формат, а фактически (поле текстовое)
 
Ответить
СообщениеА можно ли сделать обратную процедуру.

пример:
0 000 1234 5
00-001235

Результат:
000012345

Поиск с заменой не подходит, сразу убирает нули, они нужны не как формат, а фактически (поле текстовое)

Автор - Allod
Дата добавления - 19.05.2018 в 15:23
abtextime Дата: Суббота, 19.05.2018, 15:44 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация: 117 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Public Function Restore(S) As String
    For i = 1 To Len(S)
        If IsNumeric(Mid(S, i, 1)) Then Restore = Restore & Mid(S, i, 1)
    Next i
End Function
[/vba]

или формулой
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(F4;" ";"");".";"");"-";"")
К сообщению приложен файл: 9349975.xlsm (15.7 Kb)
 
Ответить
Сообщение[vba]
Код
Public Function Restore(S) As String
    For i = 1 To Len(S)
        If IsNumeric(Mid(S, i, 1)) Then Restore = Restore & Mid(S, i, 1)
    Next i
End Function
[/vba]

или формулой
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(F4;" ";"");".";"");"-";"")

Автор - abtextime
Дата добавления - 19.05.2018 в 15:44
abtextime Дата: Суббота, 19.05.2018, 15:51 | Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация: 117 ±
Замечаний: 0% ±

Excel 2010
Формулами

=ЛЕВБ(C4;1)&" "&ПСТР(C4;2;4)&" "&ПСТР(C4;5;2)&" "&ПРАВБ(C4;3)

=ЛЕВБ(C5;1)&"."&ПСТР(C5;2;4)&"-"&ПСТР(C5;5;2)&"."&ПРАВБ(C5;3)


здесь была техническая ошибка допущена, вместо 2;4 надо 2;3, конечно. Исправлено в файле
К сообщению приложен файл: 0604830.xlsm (15.7 Kb)
 
Ответить
Сообщение
Формулами

=ЛЕВБ(C4;1)&" "&ПСТР(C4;2;4)&" "&ПСТР(C4;5;2)&" "&ПРАВБ(C4;3)

=ЛЕВБ(C5;1)&"."&ПСТР(C5;2;4)&"-"&ПСТР(C5;5;2)&"."&ПРАВБ(C5;3)


здесь была техническая ошибка допущена, вместо 2;4 надо 2;3, конечно. Исправлено в файле

Автор - abtextime
Дата добавления - 19.05.2018 в 15:51
Allod Дата: Суббота, 19.05.2018, 16:30 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо, все прекрасно работает. Принцип понятен!
 
Ответить
СообщениеСпасибо, все прекрасно работает. Принцип понятен!

Автор - Allod
Дата добавления - 19.05.2018 в 16:30
_Boroda_ Дата: Суббота, 19.05.2018, 16:59 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 16886
Репутация: 6611 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Еще варианты
Для добавления (для чисел)
Код
=ТЕКСТ(A1;"0\ 000\ 00\ 000")

Код
=ТЕКСТ(A1;"0\.000-00\.000")

Код
=ТЕКСТ(A1;"000000\.000")

Для убирания почти как у Алексея
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A5;" ";);".";);"-";)
К сообщению приложен файл: 7648716861.xlsx (8.4 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕще варианты
Для добавления (для чисел)
Код
=ТЕКСТ(A1;"0\ 000\ 00\ 000")

Код
=ТЕКСТ(A1;"0\.000-00\.000")

Код
=ТЕКСТ(A1;"000000\.000")

Для убирания почти как у Алексея
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A5;" ";);".";);"-";)

Автор - _Boroda_
Дата добавления - 19.05.2018 в 16:59
Светлый Дата: Суббота, 19.05.2018, 18:05 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1868
Репутация: 536 ±
Замечаний: 0% ±

Excel 2013, 2016
Почему-то с "\" у меня ошибка была. Не стал использовать. Видимо, ошибка была в другом.
Код
=ТЕКСТ($A$1;ПОДСТАВИТЬ(ПОДСТАВИТЬ(B1;" ";"\ ");".";"\."))

Код
=ТЕКСТ($A$1;ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B1;" ";"\ ");".";"\.");9;0);8;0);7;0);6;0);5;0);4;0);3;0);2;0);1;0))


Программировать проще, чем писать стихи.
 
Ответить
СообщениеПочему-то с "\" у меня ошибка была. Не стал использовать. Видимо, ошибка была в другом.
Код
=ТЕКСТ($A$1;ПОДСТАВИТЬ(ПОДСТАВИТЬ(B1;" ";"\ ");".";"\."))

Код
=ТЕКСТ($A$1;ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B1;" ";"\ ");".";"\.");9;0);8;0);7;0);6;0);5;0);4;0);3;0);2;0);1;0))

Автор - Светлый
Дата добавления - 19.05.2018 в 18:05
  • Страница 1 из 1
  • 1
Поиск:

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