In a Google spreadsheet that performs a lot of intense calculation, does opening the sheet on multiple computers provide more CPU resources to spread out the computation load?
The sheet contains big lists (largely generated from data inputs) and mostly these functions: arrayformula, filter, if, sum, and consequential sum where 1 change at the beginning of the chain and propagate chain reactions and cause many other recalculations. But no RAND or NOW, and no importrange however there's multiple sheets in the same file referencing each other.
If data is uploaded from my PC and the status shows "All chances saved in Drive", can I close the tab and expect the other client PCs to perform the calculations, then return later to see the completed results? Or will my PC recalculate everything upon reopening (even without any new changes) the tab?
Does the account signed in on each computer matter? Same account or multiple different ones work better?
PS: One interesting observation I have is that while making "intense" changes on either PC, it can cause spikes in CPU load in the other PCs and sometimes cause them to become unresponsive or hang!?
Best Answer
There is no way to distribute computation load of a single spreadsheet between several end-user computers. Many of the function calculation are made on client-side each time that the spreadsheet is opened and recalculated, meaning the calculations are made on each computer when the spreadsheet is openened/recalculated. Most of the functions are recalculated each time a cell is edited, the exceptions are built-in functions like IMPORTRANGE and custom functions.
Some workarounds are
Split the calculations having one range/sheet that does some part of the calculations then copy the the results as values to another range/sheet and use that as source for further calculations. Google Apps Script could help to handle this.
Related
Similar to the above but instead of using a single spreadsheet, use multiple spreadsheets and IMPORTRANGE.
Remark