| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Прочее. Программное обеспечение > Как отключить автозамену числа на дату в Excel?

Как отключить автозамену числа на дату в Excel?

Ответ
Поиск в этой теме
Непрочитано 31.07.2015, 09:56 #1
Как отключить автозамену числа на дату в Excel?
Art1st
 
Инженер-конструктор ГТС (а по факту ПГС) с 2011 г.
 
Новосибирск
Регистрация: 14.11.2013
Сообщений: 734

Дано:
С целью обработки данных средствами Excel имеется экспорт из SCAD в формате *.xls.
По каким-то одному только ему известным причинам в определенный раз он использовал в качестве разделителя целой и дробной части числа ".", а не положенную ",". (Вопрос по тексту: есть ли в SCAD где-то место, где можно выбрать точку или запятую использовать в качестве разделителя?)
Не безызвестные авторы Excel решили, что дата превалирует по частоте использования над обычными дробями и влепили в свое детище автоматическую замену числа на дату, если оно похоже по формату.
В итоге мы имеем сначала сначала вместо "7,56" число вида "7.56", а потом автопреобразование его в "01.07.1956" в самом значении ячейки Excel и "июл.56" визуально в ячейке в силу выбранного формата отображения уже в параметрах ячейки.
А теперь задача:
Как починить уже имеющиеся в ячейках значения вида "01.07.1956" обратно в исходное число?
Возможно кто-то сталкивался или просто хочет сломать себе мозг по ближе к вечеру пятницы.

К слову, проблема экспорта в Excel с точками и автозамена их на даты не нова и встречается не только в SCAD, посему, найдено общее хардкорное решение, влекущее за собой повторный экспорт данных.
Работаем в OS: Панель управления > Изменение форматов даты, времени и чисел > Краткая дата > Выбираем вариант с косыми "/" > Применить > Ок (путь для win7)
Таким образом Excel перестанет автозаменять "7.56" и подобное в "01.07.56", так как не будет видеть в этом дату, однако, начнет творить такое со значениями, имеющие косые в своем составе, но там есть вариант и с дефисами. Собственно, далее спокойно экспортируем заново данные, получаем значения с точкой в виде разделителя, что можно двумя способами (в параметрах Excel или заменой точки на запятую через cntrl+F) исправить.

Числа в ячейках могут быть любыми. От 7.56 до 19.1457 и тому подобное. Поэтому вариант с поиграв с форматом даты в OS с некоторым количеством замен в уже Excel получить обратно число - не жизнеспособен, так как придется перебирать все века для каждого месяца и заменять их на числа.

Вариант с повторным экспортом конечно жизнеспособен и красив, но вдруг кто знает путь превращения уже автозаменных дат обратно в значения.

p.s. Решил запостить суда решение столь наболевшей всему интернету проблемы, вдруг кому и пригодиться
p.p.s. Конкретная задача уже решена повторным экспортом, но вдруг, на будущее...
Просмотров: 21935
 
Непрочитано 31.07.2015, 10:07
#2
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,825


Приложи подобный файлик
__________________
Делай хорошо, плохо само получится.
Krieger вне форума  
 
Непрочитано 31.07.2015, 10:08
#3
v.psk

конструктор
 
Регистрация: 14.08.2014
Псков
Сообщений: 7,096


Я эту задачу решаю так:
SCAD -> rtf -> txt /замена "." на "," / -> xls
v.psk вне форума  
 
Непрочитано 31.07.2015, 10:11
#4
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,685


ответ с форума знатоков экселя:

Цитата:
1. Войти в Excel меню: Сервис – Параметры – Международые
2. Снять флажок: «Использовать системные разделители»
3. В поле «Разделитель целой и дробной части» записать точку
4. Нажать OK
или выполнить сей макрос:

Код:
[Выделить все]
Sub ХочуЧислаАНеДаты()
With Application
.DecimalSeparator = "."
.ThousandsSeparator = " "
.UseSystemSeparators = False
End With
End Sub
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Автор темы   Непрочитано 31.07.2015, 10:14
#5
Art1st

Инженер-конструктор ГТС (а по факту ПГС) с 2011 г.
 
Регистрация: 14.11.2013
Новосибирск
Сообщений: 734


Пример в прилагаемом файле к этому сообщению

----- добавлено через ~2 мин. -----
Цитата:
ответ с форума знатоков экселя:

Цитата:
1. Войти в Excel меню: Сервис – Параметры – Международые
2. Снять флажок: «Использовать системные разделители»
3. В поле «Разделитель целой и дробной части» записать точку
4. Нажать OK
Тоже могу в гугл. Но ничего общего с работающим методом эти строки не имеют. Они заменяют разделитель "," на "." и к чему это ведет? Изменение этого параметра туда-сюда вообще ни к чему не ведет.

----- добавлено через ~4 мин. -----
Цитата:
правда, с уже созданным файлом не прокатит. Надо сначала настройки поменять либо макрос запустить, тогда при экспорте будет все окей..
Так то и предложенный мною самим метод (работа с региональным форматом даты в оси) тоже хорошо работает ДО создания файла экспорта. А вот как исправить уже полученный по мейлу в качестве задания, например? (такая задача не стоит, но вдруг кому будет нужно, решение конкретной задачи, когда экспортирующий - это тот у кого проблема, - итак уже предложено в стартового посте)
Вложения
Тип файла: xlsx Пример.xlsx (8.8 Кб, 130 просмотров)
Art1st вне форума  
 
Непрочитано 31.07.2015, 10:57
#6
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,685


Цитата:
Сообщение от Art1st Посмотреть сообщение
Тоже могу в гугл. Но ничего общего с работающим методом эти строки не имеют. Они заменяют разделитель "," на "." и к чему это ведет? Изменение этого параметра туда-сюда вообще ни к чему не ведет.
Один раз включить макрос, и в следующий раз по идее при экспорте эксель числа в даты метаморфизировать не будет.. Так что ответ на вопрос, звучащий в названии темы, считаю данным и верным! (Offtop: можете сказать "спасибо, Кэп/гугл!")
А уже обезображенный автозаменой формата файл, конечно, так не вылечить.
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Автор темы   Непрочитано 31.07.2015, 11:10
#7
Art1st

Инженер-конструктор ГТС (а по факту ПГС) с 2011 г.
 
Регистрация: 14.11.2013
Новосибирск
Сообщений: 734


Цитата:
Один раз включить макрос
Макрос не тестил, давал ответ на тот список пунктиков.
Art1st вне форума  
 
Непрочитано 31.07.2015, 11:38
#8
Бахил

?
 
Регистрация: 17.06.2014
Царицын
Сообщений: 12,203


При вставке из файла заменяю "Общий формат" на "Текстовый".
__________________
Не откладывайте на завтра! Положите на всё уже сегодня.(с)
Бахил вне форума  
 
Автор темы   Непрочитано 31.07.2015, 12:35
#9
Art1st

Инженер-конструктор ГТС (а по факту ПГС) с 2011 г.
 
Регистрация: 14.11.2013
Новосибирск
Сообщений: 734


Цитата:
При вставке из файла заменяю "Общий формат" на "Текстовый".
А что насчет того что, например, речь о уже встроенном в SCAD экспорте? Т.е. у нас банально не спрашивают и нет возможности меня формат внутри будущего файла. А выдает он уже готовым его.
Art1st вне форума  
 
Непрочитано 31.07.2015, 13:12
#10
v.psk

конструктор
 
Регистрация: 14.08.2014
Псков
Сообщений: 7,096


Делайте экспорт в rtf /как в пост 3/
txt - легче, легче обрабатывается, экспорт из него дает нужный результат.
v.psk вне форума  
 
Непрочитано 31.07.2015, 14:45
#11
Бахил

?
 
Регистрация: 17.06.2014
Царицын
Сообщений: 12,203


Проще всего заменить системный разделитель.
__________________
Не откладывайте на завтра! Положите на всё уже сегодня.(с)
Бахил вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Прочее. Программное обеспечение > Как отключить автозамену числа на дату в Excel?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19
Как отключить автозамену части текста полем с таким же содержанием? proteirei AutoCAD 3 14.08.2013 14:34
Сквозная нумерация листов через поля Sta1917 Программирование 6 13.11.2012 00:27
как скопировать ячейки excel в чертеж AutuCAD vestes AutoCAD 5 14.06.2011 00:37