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

Вход

Регистрация

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

 

= Мир MS Excel/замена в числах точки на запятую - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » замена в числах точки на запятую (Формулы/Formulas)
замена в числах точки на запятую
122334boss Дата: Среда, 09.07.2014, 11:05 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Репутация: 0 ±
Замечаний: 20% ±

добрый день.

подскажите как можно быстро заменить в числах точку на запятую?

заранее благодарен.
 
Ответить
Сообщениедобрый день.

подскажите как можно быстро заменить в числах точку на запятую?

заранее благодарен.

Автор - 122334boss
Дата добавления - 09.07.2014 в 11:05
ArkaIIIa Дата: Среда, 09.07.2014, 11:10 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
ctrl+f, вкладка "заменить" - заменить "." на ","

А если формулой, то:

Код
=ПОДСТАВИТЬ(A1;".";",")


Сообщение отредактировал ArkaIIIa - Среда, 09.07.2014, 11:12
 
Ответить
Сообщениеctrl+f, вкладка "заменить" - заменить "." на ","

А если формулой, то:

Код
=ПОДСТАВИТЬ(A1;".";",")

Автор - ArkaIIIa
Дата добавления - 09.07.2014 в 11:10
122334boss Дата: Среда, 09.07.2014, 11:15 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Репутация: 0 ±
Замечаний: 20% ±

ArkaIIIa,
ctrl +H так быстрее, таким способом все точки!!! даже в конце предложения будут изменены, а мне нужно только в числах.
 
Ответить
СообщениеArkaIIIa,
ctrl +H так быстрее, таким способом все точки!!! даже в конце предложения будут изменены, а мне нужно только в числах.

Автор - 122334boss
Дата добавления - 09.07.2014 в 11:15
ArkaIIIa Дата: Среда, 09.07.2014, 11:15 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
122334boss
Файл прикладывайте.
 
Ответить
Сообщение122334boss
Файл прикладывайте.

Автор - ArkaIIIa
Дата добавления - 09.07.2014 в 11:15
122334boss Дата: Среда, 09.07.2014, 11:20 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Репутация: 0 ±
Замечаний: 20% ±

ArkaIIIa,
К сообщению приложен файл: 111.xlsx (8.8 Kb)
 
Ответить
СообщениеArkaIIIa,

Автор - 122334boss
Дата добавления - 09.07.2014 в 11:20
китин Дата: Среда, 09.07.2014, 11:55 | Сообщение № 6
Группа: Модераторы
Ранг: Экселист
Сообщений: 7015
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
сработает,только если количество точек,как в примере
Код
=ЗАМЕНИТЬ(ЗАМЕНИТЬ(A2;ПОИСК(".";A2);1;",");ПОИСК(".";ЗАМЕНИТЬ(A2;ПОИСК(".";A2);1;",");ПОИСК(".";ЗАМЕНИТЬ(A2;ПОИСК(".";A2);1;","))+1);1;",")
К сообщению приложен файл: 122334boss.xlsx (9.2 Kb)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениесработает,только если количество точек,как в примере
Код
=ЗАМЕНИТЬ(ЗАМЕНИТЬ(A2;ПОИСК(".";A2);1;",");ПОИСК(".";ЗАМЕНИТЬ(A2;ПОИСК(".";A2);1;",");ПОИСК(".";ЗАМЕНИТЬ(A2;ПОИСК(".";A2);1;","))+1);1;",")

Автор - китин
Дата добавления - 09.07.2014 в 11:55
122334boss Дата: Среда, 09.07.2014, 12:00 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Репутация: 0 ±
Замечаний: 20% ±

китин,
если я правильно понял, у меня в ячейке (условно) две фамилии с числовыми значениями, то если я добавлю еще фамилии с числами, она не сработает?
 
Ответить
Сообщениекитин,
если я правильно понял, у меня в ячейке (условно) две фамилии с числовыми значениями, то если я добавлю еще фамилии с числами, она не сработает?

Автор - 122334boss
Дата добавления - 09.07.2014 в 12:00
122334boss Дата: Среда, 09.07.2014, 12:03 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Репутация: 0 ±
Замечаний: 20% ±

китин,
проблема в том, что не всегда в ячейке нужно изменить два числа, иногда там стоит одно, а иногда 6. Как быть в таких случаях?
 
Ответить
Сообщениекитин,
проблема в том, что не всегда в ячейке нужно изменить два числа, иногда там стоит одно, а иногда 6. Как быть в таких случаях?

Автор - 122334boss
Дата добавления - 09.07.2014 в 12:03
китин Дата: Среда, 09.07.2014, 12:03 | Сообщение № 9
Группа: Модераторы
Ранг: Экселист
Сообщений: 7015
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
абсолютно правильно поняли.данная формула только для конкретного примера


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениеабсолютно правильно поняли.данная формула только для конкретного примера

Автор - китин
Дата добавления - 09.07.2014 в 12:03
122334boss Дата: Среда, 09.07.2014, 12:13 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Репутация: 0 ±
Замечаний: 20% ±

китин,
подскажите, как быть в моей ситуации?
 
Ответить
Сообщениекитин,
подскажите, как быть в моей ситуации?

Автор - 122334boss
Дата добавления - 09.07.2014 в 12:13
Gustav Дата: Среда, 09.07.2014, 12:17 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2747
Репутация: 1137 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
проблема в том, что не всегда в ячейке нужно изменить два числа, иногда там стоит одно, а иногда 6. Как быть в таких случаях?

Верной дорогой - в регулярные выражения! Нужна UDF на VBA с использованием CreateObject("VBScript.RegExp").
Шаблон поиска точек, подлежащих замене на запятые, примерно такой: \s\d*(\.)\d*\s


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Среда, 09.07.2014, 12:17
 
Ответить
Сообщение
проблема в том, что не всегда в ячейке нужно изменить два числа, иногда там стоит одно, а иногда 6. Как быть в таких случаях?

Верной дорогой - в регулярные выражения! Нужна UDF на VBA с использованием CreateObject("VBScript.RegExp").
Шаблон поиска точек, подлежащих замене на запятые, примерно такой: \s\d*(\.)\d*\s

Автор - Gustav
Дата добавления - 09.07.2014 в 12:17
122334boss Дата: Среда, 09.07.2014, 12:36 | Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Репутация: 0 ±
Замечаний: 20% ±

Gustav,
для меня это еще сложно, проще вариантов нет?
 
Ответить
СообщениеGustav,
для меня это еще сложно, проще вариантов нет?

Автор - 122334boss
Дата добавления - 09.07.2014 в 12:36
Gustav Дата: Среда, 09.07.2014, 12:40 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2747
Репутация: 1137 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
проще вариантов нет?

Можно попробовать так. Команда меню "Текст по столбцам", разделитель - пробел. Дальше в "числовых" колонках меняем точку на запятую. Окончательно собираем формулой с & или СЦЕПИТЬ снова в единую строку.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
проще вариантов нет?

Можно попробовать так. Команда меню "Текст по столбцам", разделитель - пробел. Дальше в "числовых" колонках меняем точку на запятую. Окончательно собираем формулой с & или СЦЕПИТЬ снова в единую строку.

Автор - Gustav
Дата добавления - 09.07.2014 в 12:40
122334boss Дата: Среда, 09.07.2014, 12:58 | Сообщение № 14
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Репутация: 0 ±
Замечаний: 20% ±

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

Автор - 122334boss
Дата добавления - 09.07.2014 в 12:58
Gustav Дата: Среда, 09.07.2014, 13:05 | Сообщение № 15
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2747
Репутация: 1137 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
[vba]
Код
Function ЗАМЕНАТОЧКИ(myString As String)
         
     Dim objRegExp   As Object
     Dim objMatch    As Object
     Dim colMatches  As Object
     Dim RetStr      As String
     Dim val2replace As String
         
     RetStr = myString
         
     Set objRegExp = CreateObject("VBScript.RegExp")
         
     objRegExp.Pattern = "\s\d*\.\d*\s"
     objRegExp.Global = True
      
     If objRegExp.test(myString) Then
         Set colMatches = objRegExp.Execute(myString)
              
         For Each objMatch In colMatches
             val2replace = Replace(objMatch.Value, ".", ",")
             RetStr = Replace(RetStr, objMatch.Value, val2replace)
         Next
     End If
         
     ЗАМЕНАТОЧКИ = RetStr
End Function
[/vba]

? ЗАМЕНАТОЧКИ("Иванов 1.12 к. Петров 23.45 н.")
Иванов 1,12 к. Петров 23,45 н.
К сообщению приложен файл: 111_03.xls (41.0 Kb)


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Среда, 09.07.2014, 13:17
 
Ответить
Сообщение[vba]
Код
Function ЗАМЕНАТОЧКИ(myString As String)
         
     Dim objRegExp   As Object
     Dim objMatch    As Object
     Dim colMatches  As Object
     Dim RetStr      As String
     Dim val2replace As String
         
     RetStr = myString
         
     Set objRegExp = CreateObject("VBScript.RegExp")
         
     objRegExp.Pattern = "\s\d*\.\d*\s"
     objRegExp.Global = True
      
     If objRegExp.test(myString) Then
         Set colMatches = objRegExp.Execute(myString)
              
         For Each objMatch In colMatches
             val2replace = Replace(objMatch.Value, ".", ",")
             RetStr = Replace(RetStr, objMatch.Value, val2replace)
         Next
     End If
         
     ЗАМЕНАТОЧКИ = RetStr
End Function
[/vba]

? ЗАМЕНАТОЧКИ("Иванов 1.12 к. Петров 23.45 н.")
Иванов 1,12 к. Петров 23,45 н.

Автор - Gustav
Дата добавления - 09.07.2014 в 13:05
122334boss Дата: Среда, 09.07.2014, 13:15 | Сообщение № 16
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Репутация: 0 ±
Замечаний: 20% ±

Gustav,
так просто...
огромное спасибо..
 
Ответить
СообщениеGustav,
так просто...
огромное спасибо..

Автор - 122334boss
Дата добавления - 09.07.2014 в 13:15
_Boroda_ Дата: Среда, 09.07.2014, 14:26 | Сообщение № 17
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Еще вариантик функции. Совсем простенький.
[vba]
Код
Function ZamTo(ss)
Dim n_, i, a_, jj, aa_
      On Error Resume Next
      n_ = Len(ss)
      For i = 1 To n_ Step 3
          a_ = Mid(ss, i, 3)
          jj = WorksheetFunction.Find(".", a_)
          If Err.Number = 0 Then
              aa_ = Replace(a_, ".", ",")
              If IsNumeric(aa_) Then
                  ss = Replace(ss, a_, aa_)
              End If
          End If
          Err.Clear
      Next i
      ZamTo = ss
      On Error GoTo 0
End Function
[/vba]
К сообщению приложен файл: 1114984949_1.xlsm (16.2 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕще вариантик функции. Совсем простенький.
[vba]
Код
Function ZamTo(ss)
Dim n_, i, a_, jj, aa_
      On Error Resume Next
      n_ = Len(ss)
      For i = 1 To n_ Step 3
          a_ = Mid(ss, i, 3)
          jj = WorksheetFunction.Find(".", a_)
          If Err.Number = 0 Then
              aa_ = Replace(a_, ".", ",")
              If IsNumeric(aa_) Then
                  ss = Replace(ss, a_, aa_)
              End If
          End If
          Err.Clear
      Next i
      ZamTo = ss
      On Error GoTo 0
End Function
[/vba]

Автор - _Boroda_
Дата добавления - 09.07.2014 в 14:26
122334boss Дата: Среда, 09.07.2014, 16:39 | Сообщение № 18
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Репутация: 0 ±
Замечаний: 20% ±

_Boroda_,
интересно получается...
спасибо..
 
Ответить
Сообщение_Boroda_,
интересно получается...
спасибо..

Автор - 122334boss
Дата добавления - 09.07.2014 в 16:39
122334boss Дата: Среда, 09.07.2014, 17:26 | Сообщение № 19
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Репутация: 0 ±
Замечаний: 20% ±

_Boroda_,
подскажите,
пытался применить вашу формулу на другом файле, она не заработала (копировал даже значения с вашего файла и вставлял на чистый лист), в чем сложность?
 
Ответить
Сообщение_Boroda_,
подскажите,
пытался применить вашу формулу на другом файле, она не заработала (копировал даже значения с вашего файла и вставлял на чистый лист), в чем сложность?

Автор - 122334boss
Дата добавления - 09.07.2014 в 17:26
122334boss Дата: Среда, 09.07.2014, 18:55 | Сообщение № 20
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Репутация: 0 ±
Замечаний: 20% ±

_Boroda_,
спасибо , буду разбираться..
 
Ответить
Сообщение_Boroda_,
спасибо , буду разбираться..

Автор - 122334boss
Дата добавления - 09.07.2014 в 18:55
Мир MS Excel » Вопросы и решения » Вопросы по Excel » замена в числах точки на запятую (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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