Reputation: 407
I have an index/match formula that matches a specific file based on the date value of certain cells. Here's the formula:
=IFERROR(INDEX(INDIRECT("'"&TEXT($O$3,"mm-dd-yyyy")&"'!"&"$D3:$D$500"),MATCH($D5,INDIRECT("'" & TEXT($O$3, "mm-dd-yyyy") &"'!$B$3:$B500"),0)),0)
I noticed the values did not change even when I imported a new CSV. Only way I got the values to update was to essentially re-enter the formula by dragging from top to the last cell like one would manually do.
I tried changing the recalculation time under settings, but it seemed like the setting does not apply to my formula, as I set it to every minute and nothing happened.
I thought about writing a script to have it re-enter the formulas and set it to run every day, but I'm hoping that there's a easier way to do this.
Upvotes: 16
Views: 71744
Reputation: 31
Here's another solution, albeit one that is computationally expensive: pass the range to be considered in the calculation to the function. That way, any time that a value changes in the passed range or that the range itself changes (such as inserting a row within the range), the formula is recalculated.
Example: Try this simple function.
function testPassRange( calcRange )
{
return calcRange.length ;
}
Upvotes: 3
Reputation: 38160
Your formula is not being recalculated because its arguments do not change. The solution is, as you already figured out by yourself, to re-enter the proper arguments into cells that your formula references to.
Google Sheets formulas are recalculated when
Note: Some functions and custom functions doesn't allow not deterministic functions as arguments.
Upvotes: 22
Reputation: 407
I found an easy solution to my problem. I wrote a script to essentially re-enter the proper dates into cells that my formula references to and the formulas updated.
Upvotes: 5