What I am looking for would probably have to be integrated into LibreOffice.
It would look something like this (but it needs to fit into a cell somehow.)
SAVEVALUE(source_range, destination_range, trigger)
source_range - block of values to save - cells can contain anything that is or generates a value
destination_range - block of cells (hopefully with the same dimensions as the source_range)
which will receive the static values of all the cells in source_range
trigger - TRUE → run the function FALSE → do not run the function (single cell reference)
This is necessary, because it only runs once per epoch. Epoch is completely user defined.
Several invocations could use the same trigger, other groups of invocations could use their own triggers. E.g. some things might all update once a day - if the spreadsheet was worked on that day. Other groups might update at different time intervals, or when some arbitrary condition becomes true.
A key point is that this can not autoupdate. It needs to preserve its state until explicitly asked to update.
I need it to update when I’m ready, not on any automatic condition.
Right now, I have a moderately large financial spreadsheet. Each day (but I miss some days), I update it manually and compare the results with the values from “yesterday” - whenever I updated it last. There are a number of values I compare, but they are a small fraction of all the cells in the spreadsheet.
This doesn’t involve any visible macro code.