I have done this using either the auto enter calc or validate by calculation, triggering a script (using Dacons scriptfire, Waves events, Troi activator etc...) which sets the field. Any of the fields referenced by the field in question would need to have this in their definition.
You could even have an uninexed calc with the same kind of thing, setting a counterpart indexed field whevever its value changes? Come to think of it, that would be better.