формула excel для чтения из функции volatile?
У меня есть волатильная функция, скажем =getprice()
в ячейке A1
, которая может преуспеть, возвращая цену, или потерпеть неудачу, возвращая #REF!
. Есть ли способ записать формулу в B1
, которая читается из A1
, если это удастся, получить значение, а если не удастся, сохранить последнее круглое значение?
2 ответа:
Если вы включите включить итерационный расчет с максимальным числом итераций, равным
1
, то:=IF(ISERROR(A1),B1,A1)
Я понимаю, что это запоздалый ответ, но вот еще одна альтернатива, которая точно не отвечает на ваш вопрос, но все же, я думаю, что это полезная информация:
Недавно я обнаружил, что раскрывающиеся списки проверки данных всегда энергонезависимы, даже если вы выбираете значение volatile из раскрывающегося списка. Значение, выбранное из выпадающего списка, будет оставаться в ячейке неопределенно долго, пока вы не выберете его снова.
В вашем случае, в ячейке
B1
, вы можете выбрать проверка данных и настройка ее с помощью следующих параметров:Таким образом, ячейка
A1
будет постоянно обновляться, и всякий раз, когда вы хотите "захватить" это значение вA1
, вы просто вручную выбираете единственную доступную опцию из выпадающего списка в ячейкеB1
, которая будет хранить это значение вB1
бесконечно, пока вы вручную не выберете из выпадающего списка снова.Опять же, я понимаю, что это не совсем ответ на ваш вопрос, потому что ячейка
B1
не отвечает автоматическое обновление, но этот метод имеет два основных преимущества:Преобразование в энергонезависимую ячейку, как правило, особенно полезно для повышения эффективности работы электронной таблицы. Например, в ячейке
Это позволяет Excel по существу иметь память и смотреть на прошлые события (то, что в противном случае не могло бы быть достигнуто).
Он по существу преобразует летучую клетку в энергонезависимую.
A1
Вы можете иметь функцию volatile= NOW()
и затем используйте этот метод для моментального копирования этого значения в ячейкуB1
, и все ячейки в вашей рабочей книге, которые нуждаются в ФормулеNOW()
, могут быть основаны на ячейкеB1
вместоA1
, что потенциально может значительно улучшить время вычисления, так какB1
является энергонезависимым.