Обновите UDF, где я заранее знаю ячейки, которые могут изменить результат, но не являются прямыми параметрами - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть UDF, который рассчитывает перенос роста за год. Это, например, во втором квартале этого года ежегодный темп роста, если рост в третьем и четвертом кварталах равен нулю. В этом случае мне понадобится рост или квартал предыдущего года и два первых квартала текущего года. enter image description here

Это не очень сложно для вычисления или программирования. Чтобы быть легко доступными, люди, которым это предназначено, в значительной степени одобрили, что только последняя наблюдаемая точка должна быть входом функции. Другой вход - это количество четвертей наблюдаемых данных, которые у меня есть. В этом случае это будет CarryOver(C16,2)

. При таком способе изменения другого прошлого значения оно не обновляет мой UDF. Я могу форсировать это, используя Application.Volatile, но сначала это не работает, если используемое значение основано на формуле, которая ссылается на другой лист. И, что более важно, я могу заранее рассчитать, какие ячейки будут использоваться с двумя входными данными (ячейка последних данных, количество четвертей, которые у меня есть, поэтому в этом случае: C11:C16), так что может быть способ сообщить Excel вычисляйте этот UDF каждый раз, когда изменяется одно из значений в подразумеваемых ячейках, что лучше, чем параметр volatile. Это выполнимо?

...