Региональные настройки сломали числа
Как это выглядит
Файл, который у вас открывается правильно, у коллеги показывает суммы одной строкой в первой колонке. Формула, работавшая на одном компьютере, на другом выдаёт ошибку синтаксиса.
Коротко
Excel берёт десятичный разделитель и разделитель списка из системных настроек, а не из файла. При русской локали десятичный — запятая, разделитель списка — точка с запятой; при английской наоборот. Один и тот же CSV поэтому читается по-разному на разных компьютерах, и виноват не файл.
Почему так происходит
01Разный десятичный разделитель
Значение «1234.56» при русской локали читается как текст или как дата, а при английской — как число. Файл при этом одинаков, различаются настройки читающего.
02Разный разделитель списка
CSV с точкой с запятой при английской локали открывается одной колонкой, а с запятой при русской — тоже одной. Каждый видит проблему у другого.
03Формулы с разделителем аргументов
Разделитель между аргументами функции берётся из тех же настроек. Формула, набранная с точкой с запятой, на другой локали синтаксически неверна.
Как понять, что причина именно эта
- Сравните настройки формата чисел у себя и у коллеги: там видно оба разделителя.
- Откройте проблемный CSV «Блокнотом»: настоящий разделитель виден сразу и не зависит от локали.
- Проверьте, где именно ломается: при открытии файла — дело в разделителе списка, при вводе формулы — в разделителе аргументов.
Как починить
Импортировать с явным указанием разделителя
- 1.Открывайте CSV через мастер импорта, а не двойным щелчком.
- 2.Укажите разделитель явно, не полагаясь на системную настройку.
не чинит: Каждый получатель должен сделать это у себя: настройка живёт на его компьютере, а не в вашем файле.
Передавать XLSX вместо CSV
- 1.Отправляйте файл в формате, где типы и значения записаны внутри.
- 2.CSV оставьте для систем, которые принимают только его.
не чинит: Не всегда возможно: часть программ импортирует только текстовые форматы.
Когда мы не нужны
Это про настройки систем, а не про документы. Переход на XLSX между людьми решает вопрос полностью и бесплатно, и разбор документов здесь ни при чём.
Что с этим делает наша выгрузка
В нашем CSV разделитель — точка с запятой, все поля в кавычках, в начале метка кодировки, числа записаны с точкой как десятичным разделителем. Это осознанный набор для русской локали Excel, и он описан прямо, чтобы принимающая сторона знала, чего ждать. В XLSX вопрос не возникает: там типы в файле.
Вопросы
Почему нельзя сделать CSV, который откроется у всех?
Потому что формат не хранит информацию о разделителях — их выбирает читающая программа по своим настройкам. Это свойство CSV, а не недоработка: универсального варианта не существует.
Что сообщать получателю вместе с файлом?
Три вещи: кодировку, разделитель полей и десятичный разделитель. Одна строка в письме экономит получасовую переписку «у меня всё в одной колонке».
Если ошибка не в Excel, а в самих документах
Пилот на 30 дней: пришлите самый неудобный счёт, разберём вручную под ваш формат и вернём готовую таблицу.
Первый счёт разбираем вручную под ваш формат. Списание разовое, автопродления нет. Источник перехода: seo/oshibki/regionalnye-nastroyki-slomali-chisla.
Другие ошибки