У меня есть UDF, который рассчитывает перенос роста за год. Это, например, во втором квартале этого года ежегодный темп роста, если рост в третьем и четвертом кварталах равен нулю. В этом случае мне понадобится рост или квартал предыдущего года и два первых квартала текущего года. ![enter image description here](https://i.stack.imgur.com/3Eyix.png)
Это не очень сложно для вычисления или программирования. Чтобы быть легко доступными, люди, которым это предназначено, в значительной степени одобрили, что только последняя наблюдаемая точка должна быть входом функции. Другой вход - это количество четвертей наблюдаемых данных, которые у меня есть. В этом случае это будет CarryOver(C16,2)
. При таком способе изменения другого прошлого значения оно не обновляет мой UDF. Я могу форсировать это, используя Application.Volatile
, но сначала это не работает, если используемое значение основано на формуле, которая ссылается на другой лист. И, что более важно, я могу заранее рассчитать, какие ячейки будут использоваться с двумя входными данными (ячейка последних данных, количество четвертей, которые у меня есть, поэтому в этом случае: C11:C16
), так что может быть способ сообщить Excel вычисляйте этот UDF каждый раз, когда изменяется одно из значений в подразумеваемых ячейках, что лучше, чем параметр volatile
. Это выполнимо?