Расчётный счёт превратился в 4,07028E+19
Как это выглядит
В колонке с расчётными счетами вместо 40702810900000012345 стоит 4,07028E+19. У части строк число видно целиком, но последние три-четыре цифры стали нулями.
Коротко
Excel хранит числа с точностью 15 значащих разрядов. Расчётный счёт — 20 цифр, ИНН юрлица — 10, номер карты — 16. Всё, что длиннее пятнадцати разрядов, округляется в момент загрузки, и хвост заменяется нулями безвозвратно. Экспонента — это только внешний вид, а вот потерянные цифры — уже настоящая потеря данных.
Почему так происходит
01Предел точности числа с плавающей точкой
Excel считает в двойной точности и гарантирует 15 значащих цифр. Шестнадцатая и дальше не хранятся вообще: 40702810900000012345 после загрузки становится 40702810900000000000. Это не настройка и не формат, а свойство хранения.
02Экспоненциальная запись при узкой колонке
Когда число не помещается по ширине, Excel переходит к записи 4,07028E+19. Расширение колонки вернёт обычный вид, но цифры, потерянные при округлении, не вернёт.
03Автоопределение типа при импорте CSV
Открытый двойным щелчком CSV разбирается без вопросов о типах. Строка из одних цифр читается как число, даже если по смыслу это идентификатор, с которым никогда не выполняют арифметику.
Как понять, что причина именно эта
- Расширьте колонку. Если экспонента ушла, а хвост номера — нули, данные уже испорчены.
- Сравните длину значения с оригиналом: расчётный счёт — ровно 20 цифр, корреспондентский — тоже 20, БИК — 9.
- Откройте исходный CSV в «Блокноте». Если там полный номер, потеря произошла в Excel, а не при выгрузке.
Как починить
Импортировать с типом колонки «Текст»
- 1.Данные → Получить данные → Из файла → Из текста/CSV.
- 2.Нажмите «Преобразовать данные» вместо «Загрузить».
- 3.Для колонок со счетами, ИНН и номерами задайте тип «Текст».
- 4.«Закрыть и загрузить».
не чинит: Файл, уже сохранённый с округлёнными числами, этим не чинится: нужен исходный CSV или сам документ.
Заранее назначить формат «Текстовый»
- 1.Выделите колонку до вставки данных.
- 2.Формат ячеек → «Текстовый».
- 3.Вставьте значения.
не чинит: Работает только для будущих вставок. Уже загруженные числа останутся округлёнными.
Когда мы не нужны
Если счета приходят выгрузкой из банка или клиент-банка, распознавание вам не нужно совсем: настройте импорт с текстовым типом колонки один раз и сохраните запрос. Проблема исчезнет и стоить это будет ноль рублей.
Что с этим делает наша выгрузка
В выгрузке XLSX реквизиты пишутся текстовыми ячейками: ИНН, КПП и номер счёта у нас лежат строками и в файл попадают строками, поэтому ни экспоненты, ни округления не возникает. В CSV типа нет вообще — там всё решает Excel при открытии, и защититься мы не можем. Ширину колонок мы не задаём: файл открывается с шириной по умолчанию, и длинные значения придётся растянуть руками.
Вопросы
Почему ИНН из десяти цифр не ломается, а счёт ломается?
Десять разрядов укладываются в предел точности, а двадцать — нет. Портится всё, что длиннее пятнадцати значащих цифр: расчётный и корреспондентский счета, номера карт, длинные штрихкоды.
Поможет ли поменять формат ячейки на «Числовой» с нулём знаков?
Нет. Формат меняет только отображение. Округление произошло при загрузке значения в ячейку, и исходных цифр в файле уже нет.
Если ошибка не в Excel, а в самих документах
Пилот на 30 дней: пришлите самый неудобный счёт, разберём вручную под ваш формат и вернём готовую таблицу.
Первый счёт разбираем вручную под ваш формат. Списание разовое, автопродления нет. Источник перехода: seo/oshibki/dlinnoe-chislo-v-eksponente.
Другие ошибки