With Eric's advice, I implemented the following function (which runs in my application):
function refreshSheet(spreadsheet, sheet) { var dataArrayRange = sheet.getRange(1,1,sheet.getLastRow(),sheet.getLastColumn()); var dataArray = dataArrayRange.getValues(); // necessary to refresh custom functions var nanFound = true; while(nanFound) { for(var i = 0; i < dataArray.length; i++) { if(dataArray[i].indexOf('#N/A') >= 0) { nanFound = true; dataArray = dataArrayRange.getValues(); break; } // end if else if(i == dataArray.length - 1) nanFound = false; } // end for } // end while }
Basically, he keeps updating the sheet (using .getValues ββ()) until all # N / A disappears. It works fabulously, but adds a slight lag.
source share