Change column that records useremail()

Just like the change counter or change timestamp, would be great to have a change useremail(). I do this now using actions, but it would be so much simpler to have the change column.

Add a normal (non-virtual) column with an app formula of USEREMAIL() and set Editable? to the expression, FALSE. The column’s value will be updated automatically any time the row is updated through a form or by an action.

Right, except that’s for editing the whole row. Exactly the reason behind needing the change column, is to be able to set it only when certain columns are edited.

Use case is logging timestamps and users for 1 row, but at each step in a manufacturing process.


I like your idea. You could achieve this effect currently through workflow triggers, although it wouldn’t be as easy to set up.

What about a change expression column? Apply an arbitrary expression to a column when a designated change occurs. This could replace all of the existing change column types we have now and allow for your change username, too, among many other things.


This wouldn’t replace the change counter, but for everything else it would be ideal. It could cut down on so many actions. Good idea.

Change counter expression: [_THIS] + 1.

I don’t know why I thought that wouldn’t work.

Really, if we could use _THISROW_BEFORE and _THISROW_AFTER in expressions then we wouldn’t need a change column at all.

You can access the “before” contents by accessing them using LOOKUP(). It accesses the table directly, bypassing the copy of the row being modified.

[Name] <> LOOKUP([_THISROW], "MyTable", "KeyColumn", "Name")

Note that this is not supported behavior and may change in the future.

Is that supported behaviour, or subject to change? Cause this is pretty groundbreaking for me.

It is not supported. Clarified.