I have a Yes/No field. If yes, a Calculated field puts the current time.

=IF(Resolved,TEXT(NOW(),"mm/dd/yyyy hh:mm"),"Unresolved")

The issue I have is if I click a list item that is set to resolved, then click "Edit All", when I click save, the ResolvedDate field is re-calculated. This happens if I update any field or do not update any field.

Can I compare the pre-save value to the new value and if equal, don't output anything?

How can I prevent this?


The calculated column is doing exactly what your formula wants it to do. You want to have the formula use the current timestamp if your column is true. When you use "Edit all" your calculated columns get recalculated.

You can only avoid this by disabling "Edit all" in advanced list settings. Then your users are forced to use "Edit item" to edit every single item. That will not affect all other elements.

There is no "calculated-column-formula" to avoid this behavior.

| improve this answer | |
  • I'm looking at the Advanced Settings and I don't see where to disable the Edit All. – Holden1515 Oct 31 '18 at 15:59

Base on your requirement, if you use the calculated column, you will meet the re-calculated issue.

As a workaround, you can use a date time field or a single line of text field to instead of the calculated field. And then create a workflow for list to set the current date to the field.

| improve this answer | |

This is how it works. If you want to prevent it you need to do the calculation differently. I had similar request in past and instead of the calculated column I have used Infopath form and I made the calculation there. This way calculation only happens if you open the form (and with rules you can limit it further)

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.