как переместить десятичные точки и запятые в Excel?

как переместить десятичные точки и запятые в Excel?

У меня есть файл .txt, в котором есть такие числа, как-

99.69599  
100.7113  
101.7196
123.93

но всякий раз, когда я экспортирую их в Excel, они становятся такими:

9.969.599
1.007.113
1.017.196
123.93

Обратите внимание, что числа в файле .txt находятся в формате американского английского, а в Excel — в немецком формате. Поэтому в Excel (немецкий формат) десятичная точка и запятая расположены противоположно, то есть «.» используется для обозначения «,», а «,» — для обозначения «.».

  • Разделители тысяч и десятичных дробей в США и Англии:1,234.56
  • Европейские разделители тысяч и десятичных дробей:1.234,56

и главная проблема в том, что Excel по какой-то причине смещает десятичную точку при экспорте чисел. Может ли кто-нибудь помочь мне с этой проблемой?

решение1

Два момента, касающиеся техники выполнения работы, в основном уже решены:

1) Проблема возникает из-за того, что Excel интерпретирует текст так, как будто он отформатирован на немецкий манер, поэтому точки, которые являются десятичными разделителями в английском языке, ВАШИМ Excel воспринимаются как неуместные целочисленные группировщики. Например, он может подумать, что "99.34567" — это то, что англоговорящий Excel-ер увидит как "99,34567", и что какой-то придурок поставил запятую. Затем он исправляет это для вас и "правильно" размещает разделители.

Вы можете исправить это перед импортом, что легко сделать с помощью любой простой программы, такой как NotePad или WordPad, и вам будет удобнее сделать это, если вы импортируете файл, открывая его в Excel.

Если Excel уже открыт и вы импортируете в уже открытый Excel, вы можете просто отформатировать столбец, в который вы будете сбрасывать данные, как Текст ДО того, как сбрасывать данные, а затем выполнить операции, описанные в Excel. Как вам больше нравится.

2) НЕ вставляйте одинарную кавычку ( ' ), потому что во многих, многих случаях Excel НЕ позволит ее удалить, и вам придется сделать несколько дополнительных шагов, чтобы получить чистые числа. Может быть, не ВСЕ случаи, но очень, очень многие...

решение2

Перечитывая комментарии (на момент написания статьи), я понял, что «разумный» (независимый от региона!) способ сделать это —

  • убедитесь, что изначально (после импорта) числа отображаются как текст.
  • Затем замените разделитель тысяч на нулевую строку (""),
  • затем следует замена десятичного разделителя на тот, который фактически использует Excel.
  • Затем выполните «Добавить ноль» (или умножить на один) с помощью специальной вставки, что сделает текстовые данные Excelформатированиеизмените на «число», выбрав все данные.

На первом этапе может потребоваться (нужно) немного sed, awk, (вставьте здесь название любимого гаджета скрипта) или «магии Python», например, вставка одинарной кавычки 'перед всеми числами, которую Excel интерпретирует как буквальный маркер «Это текст».

Последний шаг:
введите 1 в случайную ячейку, выберите ячейку и скопируйте ее, затем выберите данные, которые вы хотите преобразовать, и нажмите «Специальная вставка», выберите «Умножить» в диалоговом окне, нажмите «ОК».

Связанный контент