DocFlow

Региональные настройки сломали числа

Как это выглядит

Файл, который у вас открывается правильно, у коллеги показывает суммы одной строкой в первой колонке. Формула, работавшая на одном компьютере, на другом выдаёт ошибку синтаксиса.

Коротко

Excel берёт десятичный разделитель и разделитель списка из системных настроек, а не из файла. При русской локали десятичный — запятая, разделитель списка — точка с запятой; при английской наоборот. Один и тот же CSV поэтому читается по-разному на разных компьютерах, и виноват не файл.

Почему так происходит

  1. 01Разный десятичный разделитель

    Значение «1234.56» при русской локали читается как текст или как дата, а при английской — как число. Файл при этом одинаков, различаются настройки читающего.

  2. 02Разный разделитель списка

    CSV с точкой с запятой при английской локали открывается одной колонкой, а с запятой при русской — тоже одной. Каждый видит проблему у другого.

  3. 03Формулы с разделителем аргументов

    Разделитель между аргументами функции берётся из тех же настроек. Формула, набранная с точкой с запятой, на другой локали синтаксически неверна.

Как понять, что причина именно эта

Как починить

Импортировать с явным указанием разделителя

  1. 1.Открывайте CSV через мастер импорта, а не двойным щелчком.
  2. 2.Укажите разделитель явно, не полагаясь на системную настройку.

не чинит: Каждый получатель должен сделать это у себя: настройка живёт на его компьютере, а не в вашем файле.

Передавать XLSX вместо CSV

  1. 1.Отправляйте файл в формате, где типы и значения записаны внутри.
  2. 2.CSV оставьте для систем, которые принимают только его.

не чинит: Не всегда возможно: часть программ импортирует только текстовые форматы.

Когда мы не нужны

Это про настройки систем, а не про документы. Переход на XLSX между людьми решает вопрос полностью и бесплатно, и разбор документов здесь ни при чём.

Что с этим делает наша выгрузка

В нашем CSV разделитель — точка с запятой, все поля в кавычках, в начале метка кодировки, числа записаны с точкой как десятичным разделителем. Это осознанный набор для русской локали Excel, и он описан прямо, чтобы принимающая сторона знала, чего ждать. В XLSX вопрос не возникает: там типы в файле.

Вопросы

Почему нельзя сделать CSV, который откроется у всех?

Потому что формат не хранит информацию о разделителях — их выбирает читающая программа по своим настройкам. Это свойство CSV, а не недоработка: универсального варианта не существует.

Что сообщать получателю вместе с файлом?

Три вещи: кодировку, разделитель полей и десятичный разделитель. Одна строка в письме экономит получасовую переписку «у меня всё в одной колонке».

Пилот · 1 990 ₽ за 30 дней

Если ошибка не в Excel, а в самих документах

Пилот на 30 дней: пришлите самый неудобный счёт, разберём вручную под ваш формат и вернём готовую таблицу.

Первый счёт разбираем вручную под ваш формат. Списание разовое, автопродления нет. Источник перехода: seo/oshibki/regionalnye-nastroyki-slomali-chisla.