It does wipe out existing data in the field. I thought OK in the else condition just return self, or the same column that it is calculating, but this cannot be selected, yikes!
In order to archive lookup or rollup data a formula can be used in a field which based on date copies the values to a numeric field. It is important that such a function retain existing data in the the field. Currently since on else clause erases existing data and there appears to be no way to reference the field we are defining there is not automated way to do this.
Please allow reference to self or the same field for this purpose.