После долгих разговоров с техподдержкой Microsoft их ответ таков:
Прежде всего, даже несмотря на то, что мы четко понимаем, что иметь общие формулы будет проще, Excel работает не так.Сам Excel не создает общие формулы, которые вы пытаетесь создать.Если вы введете те же формулы в Excel, заполните и сохраните их, вы получите сохраненные повторяющиеся формулы, а не общие формулы.
(Это верно, но Excel также создает общую формулу, когда они работают,Моя проблема здесь в том, что не все формулы работают.)
Ошибка очевидна, что Excel не будет работать с ним, что совместимо во всех версиях Excel от 2007 года и выше.В этом случае, в качестве обходного пути, вы должны имитировать Excel и реплицировать формулы на лист, как это делает Excel, что работает без ошибок.
И как мне узнать заранее, будет ли формула поддерживаться в Excel?Microsoft даже не предлагает официальную библиотеку для разбора формулы Excel.Мы могли бы использовать https://github.com/spreadsheetlab/XLParser, который выглядит довольно солидно, но суть использования общей формулы не в том, чтобы анализировать формулы, а позволить Excel сделать это.
Единственный способ, которым это поведение можетбыть измененным - это реализовать изменение дизайна в поведении Excel, но при этом вся обратная совместимость будет нарушена вплоть до версии 2007 года.Это не то, что наша группа продуктов заинтересована в изменении.
Так что Excel будет продолжать сбой при сохранении файла со странными сообщениями об ошибках ...
Как я проверялвнутренне, чтобы лучше ответить на ваши вопросы, теперь у меня есть четкое подтверждение от моей эскалационной команды, что обсуждение деталей в обработке форматов файлов или обработка в памяти указанных общих формул в Excel не изменит результат.Фактически, существуют сценарии, в которых нельзя использовать общие формулы по многим различным причинам, некоторые из них могут быть неочевидными и невидимыми вне Excel.Лучшее практическое правило - уже изложенное: не используйте общие формулы, если в самом Excel их нет.И это должно учитывать такие вещи, как тонкие различия в формулах, существуют ли абсолютные или относительные ссылки (как в вашем примере с A: B против $ A: $ B), ссылается ли ссылка на тот же рабочий лист или другойодин, или в другой книге, и т. д., затем также, в какой формуле он используется (некоторые функции, такие как OFFSET или INDIRECT, зависят от диапазонов, которые могут быть изменены во время вычисления), и прецедентные или зависимые диапазоны / формулыуказать, что может быть безопаснее не использовать общие формулы.В документации формата файла не ясно указано, при каких условиях может использоваться общая формула.Он указывает, что программа чтения файлов может встречаться с такими формулами, и когда это происходит, как с этим обращаться, но это не означает, что общие формулы всегда возможны или поощряются, когда непрерывный диапазон ячеек содержит одну и ту же формулу в строке формул.Для средства записи файлов его не рекомендуется использовать, если сценарий не ограничен точно так же, как когда Excel пишет общую формулу.
Тем не менее, LibreOffice прекрасно с этим справляется.Похоже, «это слишком сложно исправить» или «слишком рискованно, чтобы исправить ошибку».*https://excel.uservoice.com/forums/304921-excel-for-windows-desktop-application/suggestions/37328965-full-support-for-shared-formula-matching-the-open