Изменения именованного диапазона в Excel - обновление за январь 2020 - PullRequest
0 голосов
/ 13 января 2020

ОБНОВЛЕНИЕ ДО НИЖЕ

Обновление уже развернуто на многих машинах и сломало, возможно, 90% работы, которую мы проделали в прошлом. Просто чтобы уточнить, что я имею в виду:

Используя VBA (или C# или что-нибудь еще в этом отношении) - мы динамически вставляем формулы во время выполнения, используя именованные диапазоны. Например:

= (MIN (Bid_S1, Bid_S2, Bid_S3, Bid_S4, Bid_S5) / Bid_S3) * PriceWeighting

Теперь это работает дольше и выдает ошибку SPILL. Когда я пытаюсь поставить @ впереди, как предложено, я вижу сообщение о том, что @ не поддерживается в некоторых версиях Excel, хочу ли я его использовать.

Вариант 1 - да, я ставлю @ перед каждым именованным диапазоном, ошибка разлива. Вариант 2 - предложенная ими формула идентична той, что у меня уже была. Та же ошибка разлива.

Это будет огромной проблемой для многих компаний, конечно.

Трудно не согласиться с этим вопросом:

https://answers.microsoft.com/en-us/msoffice/forum/all/the-new-dynamic-arrays-spill-functionality-should/92f9847f-deca-4ec9-ada3-9e005a5b68da?rtAction=1579696000111&page=1


Очень странная ситуация. 4 разных компьютера. Каждый работает идентичные версии Excel, Windows.

Простой именованный диапазон с 4 ячейками, называемый PlanID

PlanID
1
2
3
4

Тип "= PlanID" рядом с первым, на 3 из машин он возвращает 1, как я и ожидал. На 4-й машине он возвращает массив формул всего диапазона. Просто потратил около 2 часов на изучение ошибок разлива и т. Д. c, но, похоже, ничто не имеет прямого отношения к двум имеющимся у меня проблемам:

  1. Как может что-то, что надежно работало годами, внезапно не работать
  2. Почему только на одной машине?

Буквально идентичные версии Excel (16.0.12325.20280 32 бит)

1 Ответ

0 голосов
/ 16 января 2020

Звучите так, как будто ваши существующие рабочие листы полагаются на неявное пересечение (осознали вы это или нет).

Если это так, вы можете продолжать использовать это, предшествуя формуле с @ ( См. Здесь )

Если вы создаете рабочую книгу в версии Excel, которая поддерживает массивы Dynami c, вам нужно будет явно указать свои неявные инсерции.

Если вы создаете книгу в версии Excel, которая не поддерживает DA, а затем откроете ее в версии, которая поддерживает, Excel вставит для вас @.

Чтобы проиллюстрировать это, вот книга, созданная в версии, которая не поддерживает DA

enter image description here

Вот та же самая открытая книга (без изменения ) в версии, которая поддерживает поддержку DA

enter image description here

Обратите внимание на добавление @ в выбранной формуле

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...