замена в числах точки на запятую
122334boss
Дата: Среда, 09.07.2014, 11:05 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
добрый день. подскажите как можно быстро заменить в числах точку на запятую? заранее благодарен.
добрый день. подскажите как можно быстро заменить в числах точку на запятую? заранее благодарен. 122334boss
Ответить
Сообщение добрый день. подскажите как можно быстро заменить в числах точку на запятую? заранее благодарен. Автор - 122334boss Дата добавления - 09.07.2014 в 11:05
ArkaIIIa
Дата: Среда, 09.07.2014, 11:10 |
Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация:
115
±
Замечаний:
0% ±
2010
ctrl+f, вкладка "заменить" - заменить "." на "," А если формулой, то: Код
=ПОДСТАВИТЬ(A1;".";",")
ctrl+f, вкладка "заменить" - заменить "." на "," А если формулой, то: Код
=ПОДСТАВИТЬ(A1;".";",")
ArkaIIIa
Сообщение отредактировал ArkaIIIa - Среда, 09.07.2014, 11:12
Ответить
Сообщение ctrl+f, вкладка "заменить" - заменить "." на "," А если формулой, то: Код
=ПОДСТАВИТЬ(A1;".";",")
Автор - ArkaIIIa Дата добавления - 09.07.2014 в 11:10
122334boss
Дата: Среда, 09.07.2014, 11:15 |
Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
ArkaIIIa, ctrl +H так быстрее, таким способом все точки!!! даже в конце предложения будут изменены, а мне нужно только в числах.
ArkaIIIa, ctrl +H так быстрее, таким способом все точки!!! даже в конце предложения будут изменены, а мне нужно только в числах. 122334boss
Ответить
Сообщение 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
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;",")
сработает,только если количество точек,как в примере Код
=ЗАМЕНИТЬ(ЗАМЕНИТЬ(A2;ПОИСК(".";A2);1;",");ПОИСК(".";ЗАМЕНИТЬ(A2;ПОИСК(".";A2);1;",");ПОИСК(".";ЗАМЕНИТЬ(A2;ПОИСК(".";A2);1;","))+1);1;",")
китин
Не судите очень строго:я пытаюсь научиться ЯД 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
китин, если я правильно понял, у меня в ячейке (условно) две фамилии с числовыми значениями, то если я добавлю еще фамилии с числами, она не сработает?
китин, если я правильно понял, у меня в ячейке (условно) две фамилии с числовыми значениями, то если я добавлю еще фамилии с числами, она не сработает? 122334boss
Ответить
Сообщение китин, если я правильно понял, у меня в ячейке (условно) две фамилии с числовыми значениями, то если я добавлю еще фамилии с числами, она не сработает? Автор - 122334boss Дата добавления - 09.07.2014 в 12:00
122334boss
Дата: Среда, 09.07.2014, 12:03 |
Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
китин, проблема в том, что не всегда в ячейке нужно изменить два числа, иногда там стоит одно, а иногда 6. Как быть в таких случаях?
китин, проблема в том, что не всегда в ячейке нужно изменить два числа, иногда там стоит одно, а иногда 6. Как быть в таких случаях? 122334boss
Ответить
Сообщение китин, проблема в том, что не всегда в ячейке нужно изменить два числа, иногда там стоит одно, а иногда 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
китин, подскажите, как быть в моей ситуации?
китин, подскажите, как быть в моей ситуации? 122334boss
Ответить
Сообщение китин, подскажите, как быть в моей ситуации? Автор - 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
проблема в том, что не всегда в ячейке нужно изменить два числа, иногда там стоит одно, а иногда 6. Как быть в таких случаях?
Верной дорогой - в регулярные выражения! Нужна UDF на VBA с использованием CreateObject("VBScript.RegExp"). Шаблон поиска точек, подлежащих замене на запятые, примерно такой: \s\d*(\.)\d*\sGustav
МОИ: Ник , 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
Gustav, для меня это еще сложно, проще вариантов нет?
Gustav, для меня это еще сложно, проще вариантов нет? 122334boss
Ответить
Сообщение Gustav, для меня это еще сложно, проще вариантов нет? Автор - 122334boss Дата добавления - 09.07.2014 в 12:36
Gustav
Дата: Среда, 09.07.2014, 12:40 |
Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2747
Репутация:
1137
±
Замечаний:
0% ±
начинал с Excel 4.0, видел 2.1
Можно попробовать так. Команда меню "Текст по столбцам", разделитель - пробел. Дальше в "числовых" колонках меняем точку на запятую. Окончательно собираем формулой с & или СЦЕПИТЬ снова в единую строку.
Можно попробовать так. Команда меню "Текст по столбцам", разделитель - пробел. Дальше в "числовых" колонках меняем точку на запятую. Окончательно собираем формулой с & или СЦЕПИТЬ снова в единую строку. Gustav
МОИ: Ник , Tip box: 41001663842605
Ответить
Сообщение Можно попробовать так. Команда меню "Текст по столбцам", разделитель - пробел. Дальше в "числовых" колонках меняем точку на запятую. Окончательно собираем формулой с & или СЦЕПИТЬ снова в единую строку. Автор - Gustav Дата добавления - 09.07.2014 в 12:40
122334boss
Дата: Среда, 09.07.2014, 12:58 |
Сообщение № 14
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Gustav, если разнести по столбцам с помощь пробела, не совсем быстрый способ, проблема в том, что числа могут стоять с текстовым значением не подряд, нужно будет долго заменять выборочно по ячейкам, а затем сцепить...
Gustav, если разнести по столбцам с помощь пробела, не совсем быстрый способ, проблема в том, что числа могут стоять с текстовым значением не подряд, нужно будет долго заменять выборочно по ячейкам, а затем сцепить... 122334boss
Ответить
Сообщение 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 н.
[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
МОИ: Ник , 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
Gustav, так просто... огромное спасибо..
Gustav, так просто... огромное спасибо.. 122334boss
Ответить
Сообщение 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]
Еще вариантик функции. Совсем простенький. [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_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: 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
_Boroda_, интересно получается... спасибо..
_Boroda_, интересно получается... спасибо.. 122334boss
Ответить
Сообщение _Boroda_, интересно получается... спасибо.. Автор - 122334boss Дата добавления - 09.07.2014 в 16:39
122334boss
Дата: Среда, 09.07.2014, 17:26 |
Сообщение № 19
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
_Boroda_, подскажите, пытался применить вашу формулу на другом файле, она не заработала (копировал даже значения с вашего файла и вставлял на чистый лист), в чем сложность?
_Boroda_, подскажите, пытался применить вашу формулу на другом файле, она не заработала (копировал даже значения с вашего файла и вставлял на чистый лист), в чем сложность? 122334boss
Ответить
Сообщение _Boroda_, подскажите, пытался применить вашу формулу на другом файле, она не заработала (копировал даже значения с вашего файла и вставлял на чистый лист), в чем сложность? Автор - 122334boss Дата добавления - 09.07.2014 в 17:26
122334boss
Дата: Среда, 09.07.2014, 18:55 |
Сообщение № 20
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
_Boroda_, спасибо , буду разбираться..
Ответить
Сообщение _Boroda_, спасибо , буду разбираться.. Автор - 122334boss Дата добавления - 09.07.2014 в 18:55