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

634
rrra

у меня есть файл .txt, где у меня есть такие номера, как

99.69599  100.7113  101.7196 123.93 

но всякий раз, когда я экспортирую их, чтобы превзойти, они становятся такими

9.969.599 1.007.113 1.017.196 123.93 

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

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

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

0
Как вы получаете ваш текст в Excel? cybernetic.nomad 6 лет назад 1
Недостаточно памяти, у меня нет средств для проверки правильности: пожалуйста, измените «Язык и региональные настройки» на панели управления. Затем также найдите похожую настройку в настройках Excel. Убедитесь, что настройки Excel перезаписывают общие настройки панели управления. ЗАМЕТЬТЕ, ЧТО ЭТО * ТОЛЬКО ОТОБРАЖАЕТСЯ, числа остаются теми же самыми числами, которые вы импортировали. Hannu 6 лет назад 0
Можно ли отформатировать столбец в Excel как текст? Я использую Office 2016, в Параметры> Дополнительно> Параметры редактирования, разделитель может быть изменен NamelessOne 6 лет назад 0
@rrra: я действительно смущен тем, как много ты понимаешь, а сколько нет. Вы понимаете, что Excel в Германии рассматривает точку (** `` .`` **) как разделитель тысяч (а запятую (** `,` **) как [десятичный разделитель] (https: // en .wikipedia.org / wiki / Decimal_separator)), и все же вы говорите: «Excel ... сдвигает десятичную точку», когда это не то, что происходит. Excel не видит десятичной точки, потому что он использует запятую (** `,` **) в качестве десятичного разделителя, и он *** игнорирует *** точки (точки) в вашем вводе, потому что он думает, что они неуместны тысячи разделителей. … (Продолжение) Scott 6 лет назад 0
(Продолжение) ... Так, например, он видит `99.69599` как целое число (целое число)` 9969599`. Затем, поскольку он думает, что вы хотите использовать разделители тысяч, он отображает его как `9,969,599` - за исключением того, что он использует точку в качестве разделителя тысяч, он фактически отображает его как` 9.969.599`. ……………… PS Я думаю, английский не ваш родной язык? Вы, вероятно, должны сказать, что вы *** импортируете *** числа * в * Excel. Scott 6 лет назад 1
@ Ханну: Я не уверен, что именно вы говорите. Если вы говорите, что Excel правильно импортирует числа, а затем просто выводит их неправильно, я не согласен. При использовании немецкого (европейского) десятичного разделителя и разделителя тысяч, Excel видит `` `99.69599``` как целое число (целое число)` `` 9969599```. Scott 6 лет назад 0
@ Скотт, ваше объяснение выглядит правильно, но что тогда происходит с `123.93`? Почему он не отображается как `12.393`? Rey Juna 6 лет назад 0
Я сам задавался вопросом об этом. Я живу в США и использую английский, поэтому я набрал `123,93` в Excel, и он остался как` 123,93`, но в виде текста, а не числа. Excel не знает, как интерпретировать его как число. Вы получаете `123.93` в левом углу, когда все остальные в правом направлении? Если ваши числа начинаются в ячейке `A2`, поместите` = SUM (A2) `где-то вроде` B2` (или `Q2` или` X2`; все, что доступно) и перетащите / заполните вниз. Я ожидаю, что вы увидите `9.969.599`,` 1.007.113`, `1.017.196` и` 0`, что указывает на то, что четвертый даже не сохраняется как число. Scott 6 лет назад 1
Я не могу воспроизвести `9.969.599` для` 99.69599` даже после того, как попробовал другие форматы тоже !! Не могли бы вы написать, как вы экспортируете данные из текстового файла в Excel? Rajesh S 6 лет назад 0
Может быть, вы пытались импортировать данные из текстового файла в Excel, даже если Excel не изменил формат, как вы показали !! Rajesh S 6 лет назад 0

2 ответа на вопрос

0
Hannu

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

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

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

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

0
Roy

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

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

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

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

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

Похожие вопросы