Вопрос или проблема
Вопрос: В моем файле Excel есть столбец, скажем, PercentageColumn
, который форматирован с типом данных в процентах. Например, он отображает 13.4526961728569
как 13.45%
. Как мы можем сделать так, чтобы при сохранении файла Excel в формате csv
сохранялись фактические числовые значения (например, 13.4526961728569
) в столбце PercentageColumn
(вместо его отображаемого значения, как 13.45%
).
Я использую последнюю версию Excel (в Microsoft 365).
При использовании диалога Сохранить как для экспорта таблицы в формат CSV должна быть опция, аналогичная Сохранить содержимое ячеек как показано, как в диалоге из LibreOffice Calc (не Microsoft Excel), ниже.
- Если галочка установлена, то данные, сохраненные в файле CSV, такие как показаны в отформатированном столбце.
- Если галочка установлена, то данные, сохраненные в файле CSV, это сырые данные за этим столбцом.
Например, в ячейке A1 находится значение 3.14159
. Однако, столбец A отформатирован как валюта, и отображает $3.14
.
- Если данные сохранены с отключенной опцией Сохранить содержимое ячеек как показано, то данные, сохраненные, это
3.14159
. - Если данные сохранены с включенной опцией Сохранить содержимое ячеек как показано, то данные, сохраненные, это
$3.14
.
Хотя это относится к другому приложению, Calc и Excel похожи, поэтому это должно быть равно применимо.
Боюсь, что в Excel нет таких опций, предназначенных специально для форматирования файлов .csv
.
Все зависит от форматирования в листе. Все числовые форматирования с указанным количеством десятичных знаков записываются в файл .csv
как отображаемые. С другой стороны, Общие
и пользовательские форматирования, основанные на Общие
, сохраняются с полной точностью.
В этом случае используйте пользовательский формат Общие\%
для чисел, которые вы хотите отображать с знаком %
.
Мой файл .csv
содержит точки с запятой вместо запятых из-за региональных настроек.
.
Ответ или решение
Теория: Проблема при сохранении файлов Excel в формате CSV состоит в способе обработки данных в ячейках, отформатированных как проценты. При использовании формата процентов Excel округляет и отображает значения с отображением знака процента, что может не соответствовать реальным числовым данным, хранящимся в ячейке. Это создает проблему, если требуется сохранить оригинальные числовые значения при экспорте данных в CSV.
Формат CSV (Comma-Separated Values) является текстовым форматом, в котором каждое значение отделено запятой (или другим установленным разделителем, например, точкой с запятой в зависимости от региональных настроек). CSV не поддерживает форматирование, сохраняются только значения, видимые в Excel. Это значит, что все данные представляются так, как они отображаются, а не в своём исходном формате. Поэтому, когда вы сохраняете документ Excel как CSV, важно учитывать, какое именно представление данных требуется сохранить.
В Excel, в отличие от LibreOffice Calc, нет встроенной функции для выбора между отображаемым значением и сырыми данными при экспорте в CSV. Поэтому необходимо предпринять определённые шаги для сохранения точных числовых данных.
Пример: Для иллюстрации, предположим, что в столбце PercentageColumn
у нас есть значение 13.4526961728569
, которое отображается как 13.45%
благодаря процентному формату. Если просто экспортировать этот лист в CSV, то сохранится только значение 13.45%
, что может привести к потере важных данных, если точное значение представления имеет значение для анализа или дальнейшей обработки.
Применение: Для достижения сохраняемости исходных значений в CSV из таблицы Excel можно использовать несколько подходов:
-
Изменение формата ячеек на “Общий”: Перед сохранением в формате CSV измените формат ячеек на “Общий”. Для этого выберите столбец или ячейки, содержащие процентные значения, и измените формат. Это позволит сохранить данные в CSV в их оригинальном числовом представлении без округления или добавления процентного символа.
-
Использование формул для преобразования данных: Создайте дополнительный столбец, где будете использовать формулу для преобразования процентных значений обратно в десятичные. Например, если данные находятся в ячейке A1, можно использовать формулу
=A1 / 100
для получения числового значения, которое затем можно скопировать и вставить как значения в тот же столбец или другой столбец перед выполнением экспорта. -
Скрипты или макросы: Можно написать макрос или использовать Power Query для автоматизации преобразования данных перед экспортом. Это особенно полезно, если часто возникает необходимость экспортировать данные с сохранением их точности.
Чтобы сохранить изменения, после применения вышеуказанных методов вы можете воспользоваться стандартной функцией "Сохранить как"
и выбрать CSV в качестве целевого формата. Убедитесь, что все необходимые изменения были завершены перед экспортом, так как формат CSV не поддерживает дальнейшую постобработку внутри файла.
Итак, хотя в Microsoft Excel нет встроенной опции для экспорта данных с сохранением полного исходного значения без форматирования, предлагаемые методы и стратегии позволяют обходить данное ограничение и гарантировать корректность сохраняемых данных в формате CSV. Это важно для последующей обработки и анализа данных, особенно в случаях, когда точность числовых значений критична для бизнес-аналитики и принятия решений.