Sharepoint - Calculated Column Based on Version Not Updating
There are two issues.
1.
Calculated columns are not synchronized with other columns' data, so when the version-column's value changes, the calculated field doesn't understand to re-calculate its status until there's a save-action either for the calculated field or for the document itself. With lists the same could be "handled" by opening the list item into edit and saving it without changes (which corresponds to your workaround you found). This matter has been discussed over the years and summarized as a some sort of a poor functionality by the users, but seemingly hasn't received the treatment it maybe would deserve.
The workarounds I remember coming across would be to
- "update" your document library's content with a PowerShell script e.g. daily so that the calculated column values refresh
- create an event receiver which again "refreshes" the document in the library and which would fire after a specific field is updated,
- create a workflow with an above described action.
There are also other workarounds which probably could be translated to your scenario in e.g. here.
2.
Even if the issue 1 wouldn't exist, the calculated field would still be calculated before the version number would be saved as the document's property. So you would be trying to reference something which isn't yet saved or even exists. (A related question)