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

Вход

Регистрация

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

 

= Мир MS Excel/Преобразование из текста в число - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Преобразование из текста в число (Формулы/Formulas)
Преобразование из текста в число
mra12101 Дата: Четверг, 26.10.2017, 10:15 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2002
Добрый день!
Данные поступают в эксель из внешнего источника в американском формате с разделителем "," целой и дробной части:
100
200
1,123
10,761
Проблема в том, что такие числа как:
1,100
10,500 и т.д.
то есть с нулями в конце интерпретируются экселем неверно и он эти нули убирает (получается 1,1 и 10,5)
Задача состоит в том, чтобы преобразовать поступающие данные в числовой формат:
100
200
1123
10761
1100
10500 и т.д.
Желательно с помощью формулы или нескольких формул. Можно и ВБА.
Перевод системных настроек даты и времени, а также настроек эксель НЕ ПРЕДЛАГАТЬ!
Буду Вам очень благодарен в оказанной помощи!
Спасибо.

Добавил файл.
К сообщению приложен файл: 7781023.xls (21.0 Kb)


Сообщение отредактировал mra12101 - Четверг, 26.10.2017, 10:54
 
Ответить
СообщениеДобрый день!
Данные поступают в эксель из внешнего источника в американском формате с разделителем "," целой и дробной части:
100
200
1,123
10,761
Проблема в том, что такие числа как:
1,100
10,500 и т.д.
то есть с нулями в конце интерпретируются экселем неверно и он эти нули убирает (получается 1,1 и 10,5)
Задача состоит в том, чтобы преобразовать поступающие данные в числовой формат:
100
200
1123
10761
1100
10500 и т.д.
Желательно с помощью формулы или нескольких формул. Можно и ВБА.
Перевод системных настроек даты и времени, а также настроек эксель НЕ ПРЕДЛАГАТЬ!
Буду Вам очень благодарен в оказанной помощи!
Спасибо.

Добавил файл.

Автор - mra12101
Дата добавления - 26.10.2017 в 10:15
vikttur Дата: Четверг, 26.10.2017, 10:33 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Цитата
в американском формате с разделителем "," целой и дробной части

Вы ничего не путаете? В таком формате запятая - разделитель групп разрядов, разделитель целой и дробной - точка.

Выделить диапазон, инструмент НАЙТИ/ЗАМЕНИТЬ. Найти запятуб, заменить на пусто (ничего не пишем).
Формулой:
Код
=ПОДСТАВИТЬ(A1;",";)


Если есть дробные числа, то после удаления запятой заменить точку на запятую.


Сообщение отредактировал vikttur - Четверг, 26.10.2017, 10:35
 
Ответить
Сообщение
Цитата
в американском формате с разделителем "," целой и дробной части

Вы ничего не путаете? В таком формате запятая - разделитель групп разрядов, разделитель целой и дробной - точка.

Выделить диапазон, инструмент НАЙТИ/ЗАМЕНИТЬ. Найти запятуб, заменить на пусто (ничего не пишем).
Формулой:
Код
=ПОДСТАВИТЬ(A1;",";)


Если есть дробные числа, то после удаления запятой заменить точку на запятую.

Автор - vikttur
Дата добавления - 26.10.2017 в 10:33
китин Дата: Четверг, 26.10.2017, 10:35 | Сообщение № 3
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Порекомендую использовать
Код
=ПОДСТАВИТЬ(A1;",";"")
если не так прикладывайте файл. гадать не умею


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеПорекомендую использовать
Код
=ПОДСТАВИТЬ(A1;",";"")
если не так прикладывайте файл. гадать не умею

Автор - китин
Дата добавления - 26.10.2017 в 10:35
mra12101 Дата: Четверг, 26.10.2017, 10:43 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2002
Спасибо, но не выйдет. Здесь не все так просто)
Эти числа обновляются он-лайн. Т.е. там где было 1,123 может стать со временем 1,130, а ваша формула мне будет преобразовывать неверно:
1,123=1123
1,130=113 !!!
Поэтому нужна формула, которая следила бы за разрядностью числа.
Я логически понимаю как решить эту задачу, но с формулами чего-то не выходит.
Как я думаю, нужно использовать функцию ЕСЛИ. Если перед запятой 1 знак, то формат вывода числа "#,###".
Или если перед запятой 1 знак, а число выводится в формате "#,##", то нужно добавить "0" в конце этого числа, или "00" если в формате"#,#".
Как-то так!))

Добавил файл в шапку


Сообщение отредактировал mra12101 - Четверг, 26.10.2017, 10:52
 
Ответить
СообщениеСпасибо, но не выйдет. Здесь не все так просто)
Эти числа обновляются он-лайн. Т.е. там где было 1,123 может стать со временем 1,130, а ваша формула мне будет преобразовывать неверно:
1,123=1123
1,130=113 !!!
Поэтому нужна формула, которая следила бы за разрядностью числа.
Я логически понимаю как решить эту задачу, но с формулами чего-то не выходит.
Как я думаю, нужно использовать функцию ЕСЛИ. Если перед запятой 1 знак, то формат вывода числа "#,###".
Или если перед запятой 1 знак, а число выводится в формате "#,##", то нужно добавить "0" в конце этого числа, или "00" если в формате"#,#".
Как-то так!))

Добавил файл в шапку

Автор - mra12101
Дата добавления - 26.10.2017 в 10:43
китин Дата: Четверг, 26.10.2017, 10:56 | Сообщение № 5
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
по файлу:
как понять сколько нулей д.б.? у вас в файле 10,15 преобразуется в 10150 а 5 в 5000


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениепо файлу:
как понять сколько нулей д.б.? у вас в файле 10,15 преобразуется в 10150 а 5 в 5000

Автор - китин
Дата добавления - 26.10.2017 в 10:56
vikttur Дата: Четверг, 26.10.2017, 11:03 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Объясните логику. Почему 5=5000?
Если все таки 5=5:
Код
=--(ЦЕЛОЕ(A2)&ЕСЛИОШИБКА(ЛЕВБ(ПСТР(A2;ПОИСК(",";A2)+1;3)&"000";3);""))


Сообщение отредактировал vikttur - Четверг, 26.10.2017, 11:05
 
Ответить
СообщениеОбъясните логику. Почему 5=5000?
Если все таки 5=5:
Код
=--(ЦЕЛОЕ(A2)&ЕСЛИОШИБКА(ЛЕВБ(ПСТР(A2;ПОИСК(",";A2)+1;3)&"000";3);""))

Автор - vikttur
Дата добавления - 26.10.2017 в 11:03
Pelena Дата: Четверг, 26.10.2017, 11:10 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19167
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
Ещё вариант
Код
=--ЕСЛИ(ЕЧИСЛО(ПОИСК(",";A2));ПОДСТАВИТЬ(ТЕКСТ(A2;"0,000");",";);A2)

предположила, что 5 - это 5, B)
К сообщению приложен файл: 8465055.xls (31.5 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЕщё вариант
Код
=--ЕСЛИ(ЕЧИСЛО(ПОИСК(",";A2));ПОДСТАВИТЬ(ТЕКСТ(A2;"0,000");",";);A2)

предположила, что 5 - это 5, B)

Автор - Pelena
Дата добавления - 26.10.2017 в 11:10
mra12101 Дата: Четверг, 26.10.2017, 11:31 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2002
Да, точно, с пятеркой это я косячнул - приношу свои извинения!!!
Там 5,0 показывает
У Pelena рабочий вариант вышел.
Теперь буду разбираться как эта формула работает.
Всем большое спасибо
Еще раз извините за введение в заблуждение!
 
Ответить
СообщениеДа, точно, с пятеркой это я косячнул - приношу свои извинения!!!
Там 5,0 показывает
У Pelena рабочий вариант вышел.
Теперь буду разбираться как эта формула работает.
Всем большое спасибо
Еще раз извините за введение в заблуждение!

Автор - mra12101
Дата добавления - 26.10.2017 в 11:31
vikttur Дата: Четверг, 26.10.2017, 11:32 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

А у меня нерабочий? Ну да, в файле не показал...

Но формула Елены лучше :)


Сообщение отредактировал vikttur - Четверг, 26.10.2017, 11:33
 
Ответить
СообщениеА у меня нерабочий? Ну да, в файле не показал...

Но формула Елены лучше :)

Автор - vikttur
Дата добавления - 26.10.2017 в 11:32
mra12101 Дата: Четверг, 26.10.2017, 11:52 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2002
А у меня нерабочий? Ну да, в файле не показал...

У меня почему-то выдает ошибку #ИМЯ?
Если не трудно, поясните почему. Буду знать на будущее.
Спасибо
 
Ответить
Сообщение
А у меня нерабочий? Ну да, в файле не показал...

У меня почему-то выдает ошибку #ИМЯ?
Если не трудно, поясните почему. Буду знать на будущее.
Спасибо

Автор - mra12101
Дата добавления - 26.10.2017 в 11:52
Pelena Дата: Четверг, 26.10.2017, 11:54 | Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 19167
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
Функции ЕСЛИОШИБКА() нет в Excel 2002 :(


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеФункции ЕСЛИОШИБКА() нет в Excel 2002 :(

Автор - Pelena
Дата добавления - 26.10.2017 в 11:54
mra12101 Дата: Четверг, 26.10.2017, 11:57 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2002
Ага, разобрался уже, а есть аналог этой функции в 2002?
На работе нельзя поставить новый эксель, пользуемся тем что есть))
 
Ответить
СообщениеАга, разобрался уже, а есть аналог этой функции в 2002?
На работе нельзя поставить новый эксель, пользуемся тем что есть))

Автор - mra12101
Дата добавления - 26.10.2017 в 11:57
vikttur Дата: Четверг, 26.10.2017, 12:09 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Код
=ЕСЛИ(ЕЧИСЛО(ПОИСК(",";A2));здесь_преобразование;A2)

Но зачем? Есть же рабочая формула
 
Ответить
Сообщение
Код
=ЕСЛИ(ЕЧИСЛО(ПОИСК(",";A2));здесь_преобразование;A2)

Но зачем? Есть же рабочая формула

Автор - vikttur
Дата добавления - 26.10.2017 в 12:09
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Преобразование из текста в число (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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