There is an important caveat with the great answer from @karel and @Laurentiu Mirica: the evaluate function won't recalculate unless the referenced cell changes. For example, cell C1 contains the text "A1+B1"
and D1 contains the function =eval
. If the values in A1 or B1 change, the cell D1 does not get recalculated.
This can be corrected by introducing a volatile function into either the string or the eval cell. This will force a recalculation every time the worksheet is recalculated. For example, cell C1 could be replaced with =if(today(),"A1+B1",)
. Or, D1 could be replaced with =if(today(),eval,)
. Any volatile function should do.
A third and perhaps the simplest solution is to change semi-function in the name manager to =if(today(),evaluate(c1),)