DocFlow

Расчётный счёт превратился в 4,07028E+19

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

В колонке с расчётными счетами вместо 40702810900000012345 стоит 4,07028E+19. У части строк число видно целиком, но последние три-четыре цифры стали нулями.

Коротко

Excel хранит числа с точностью 15 значащих разрядов. Расчётный счёт — 20 цифр, ИНН юрлица — 10, номер карты — 16. Всё, что длиннее пятнадцати разрядов, округляется в момент загрузки, и хвост заменяется нулями безвозвратно. Экспонента — это только внешний вид, а вот потерянные цифры — уже настоящая потеря данных.

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

  1. 01Предел точности числа с плавающей точкой

    Excel считает в двойной точности и гарантирует 15 значащих цифр. Шестнадцатая и дальше не хранятся вообще: 40702810900000012345 после загрузки становится 40702810900000000000. Это не настройка и не формат, а свойство хранения.

  2. 02Экспоненциальная запись при узкой колонке

    Когда число не помещается по ширине, Excel переходит к записи 4,07028E+19. Расширение колонки вернёт обычный вид, но цифры, потерянные при округлении, не вернёт.

  3. 03Автоопределение типа при импорте CSV

    Открытый двойным щелчком CSV разбирается без вопросов о типах. Строка из одних цифр читается как число, даже если по смыслу это идентификатор, с которым никогда не выполняют арифметику.

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

Как починить

Импортировать с типом колонки «Текст»

  1. 1.Данные → Получить данные → Из файла → Из текста/CSV.
  2. 2.Нажмите «Преобразовать данные» вместо «Загрузить».
  3. 3.Для колонок со счетами, ИНН и номерами задайте тип «Текст».
  4. 4.«Закрыть и загрузить».

не чинит: Файл, уже сохранённый с округлёнными числами, этим не чинится: нужен исходный CSV или сам документ.

Заранее назначить формат «Текстовый»

  1. 1.Выделите колонку до вставки данных.
  2. 2.Формат ячеек → «Текстовый».
  3. 3.Вставьте значения.

не чинит: Работает только для будущих вставок. Уже загруженные числа останутся округлёнными.

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

Если счета приходят выгрузкой из банка или клиент-банка, распознавание вам не нужно совсем: настройте импорт с текстовым типом колонки один раз и сохраните запрос. Проблема исчезнет и стоить это будет ноль рублей.

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

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

Вопросы

Почему ИНН из десяти цифр не ломается, а счёт ломается?

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

Поможет ли поменять формат ячейки на «Числовой» с нулём знаков?

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

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

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

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

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