Формула и сохранённое значение Excel: что переносится в выгрузку

В книге Excel может храниться и правило расчёта, и прежний результат. Объясняем, почему чтение файла не всегда пересчитывает ячейки и что согласовать перед переносом данных.

Прозрачный слой с геометрическими связями расположен над оранжевой плиткой в открытом светлом блокноте.

На экране число, внутри файла несколько сущностей

Представим условный файл магазина с количеством проданных товаров, ценой и итоговой суммой. Сотрудник видит в ячейке число и передаёт книгу для загрузки в отчёт. Но другой инструмент должен выбрать, что прочитать: правило получения суммы или сохранённый результат этого правила. Это не всегда одно и то же содержимое.

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

Что хранится рядом с формулой

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

Поэтому время сохранения файла и момент актуального расчёта не стоит автоматически считать одинаковыми. Для нашего примера предложим уточнить: какие листы являются исходными, какие содержат итоги, чем подтверждается их актуальность и какую версию нужно переносить. Ответ «файл открывается» не заменяет договорённость о содержимом выгрузки.

Условный пример с изменившимся количеством

Допустим, товар стоит сто рублей. При количестве три единицы сумма составляет триста рублей. Позже количество стало равно четырём, и ожидаемый итог — четыреста. Если инструмент получил новое количество, но прочитал прежний сохранённый итог без пересчёта, значения окажутся несогласованными. Это учебная ситуация, а не описание гарантированного поведения любого файла Excel.

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

Читатель книги не обязательно умеет считать

Например, библиотека openpyxl умеет читать и сохранять книги Excel. В её руководстве по чтению различаются получение формулы и чтение сохранённого значения. А раздел о формулах отдельно указывает, что библиотека сама их не вычисляет. Название инструмента здесь — конкретный пример ограничения, без инструкции по программированию.

Из этого не следует, что все средства переноса работают одинаково. У другого инструмента могут быть собственные возможности расчёта и свои ограничения. Перед загрузкой стоит выяснить ожидаемое поведение, а не полагаться на сходство отображаемых таблиц. Особенно полезно заранее определить, как выглядит ошибка чтения и как отличить её от настоящего нулевого результата.

Выбрать, кто отвечает за итог

Для условного обмена предложим два понятных варианта договора. Либо источник передаёт проверенные итоговые значения вместе с описанием версии, либо получатель рассчитывает результат заново по согласованным исходным данным и правилам. В обоих случаях нужен ответственный за смысл расчёта. Простой перенос формулы ещё не делает её исполнимой в другой системе.

Если правило зависит от другой книги или внешнего справочника, необходимо выяснить, какие сведения использовались при подготовке. Источник должен объяснить, какая версия справочника участвовала в расчёте и что считать актуальным состоянием на выбранную дату. Для обмена можно согласовать подготовленную источником копию с проверенными значениями; исходную рабочую книгу при этом рассматривают отдельно от передаваемого снимка.

Проверять содержание, а не только число строк

После переноса нужна сверка исходника и отчёта: совпадение количества записей ещё не подтверждает суммы. Более широкий набор задач получения данных описан в статье об инструментах инженера данных. Каждый инструмент стоит связывать с конкретной проверкой.

Учиться готовить такие обмены можно на программе Data Engineer для начинающих. Начните с трёх вопросов к выгрузке: что является исходными данными, где получен итог и чем подтверждается его актуальность на нужный момент.

Data Engineer для начинающих
Курс
Доступ сразу
Data Engineer для начинающих

Освойте Data Engineering с нуля: научитесь собирать, хранить и обрабатывать данные. Практика на каждом этапе — опыт не нужен.

С нуля до junior
Теория и практика
Диплом по окончании
12 990
₽/мес
УЗНАТЬ ПОДРОБНЕЕ

Источники

Читайте также

Обучить команду или нанять специалиста по данным: как выбрать
47

Обучить команду или нанять специалиста по данным: как выбрать

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

Вертикальное и горизонтальное масштабирование данных: в чём разница

Когда системе добавляют мощность одного сервера, когда делят работу между несколькими и почему увеличение ресурсов само по себе не решает любую проблему.
Журнал изменений данных: как выяснить, кто и когда изменил набор
42

Журнал изменений данных: как выяснить, кто и когда изменил набор

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

Занятия проходят
в Нова Дата СДО

Вебинары, практика и общение с преподавателем — в одном окне браузера.

Посмотреть интерфейс платформы
Календарь обучения в Нова Дата СДО
Курсы студента в Нова Дата СДО
Редактор кода для практики в Нова Дата СДО
Вебинары и расписание Ваши курсы Код в браузере
Нова Дата СДО — в реестре российского ПОРеестровая запись № 34931
Заявка отправлена
Отправим вам подборку курсов в течение 5 минут. С вами также свяжется наш специалист и даст карьерную консультацию.
Персональный промокод
На курс «Инженер по парсингу данных»
Введите код при оплате, чтобы применить скидку к программе.