SharePoint formula - Calculated columns cannot contain volatile functions like Today and Me


⚠️ If you try to create a calculated column in SharePoint which contains [Today] or [Me] functions, you will be greeted with below error "Sorry, something went wrong - Calculated columns cannot contain volatile functions like Today and Me."
Calculated columns volatile functions error
Calculated columns volatile functions error


⛏️ Fix [Today] volatile function error for SharePoint calculated field current date

We trick SharePoint here by creating a dummy column to capture current date and overcome the volatile functions error for calculated column formula. This trick works for all SharePoint versions - MOSS, SharePoint 2010, SharePoint 2013, SharePoint 2016, SharePoint 2019 and SharePoint Online (Microsoft Office 365).
  1. Create a new column called Today (Single line of text).
  2. Create a calculated column, name it anything you want, say 'CurrentDate'.
  3. In the formula, insert the column you created previously 'Today'.
  4. Set the data type to 'Date and Time'.
  5. Set the Date and Time format to 'Date Only'. You can even select Date & Time if you would want to use hours/minutes as well.
  6. Now delete the 'Today' column you created in first step. Don't worry, just go ahead.
  7. Add the 'CurrentDate' column to your view and check the value.
  8. You should see today's date in there.
  9. Modify the formula as required, you can use the column Today just like the function [Today] without any issues.
You can use similar logic to use Me (current logged in SharePoint user name) in your formula.

⚡️ Important - Calculated columns by design do not update the values automatically, the value updates only when the list item is modified/updated.
So if you go back to the view at a later point, you will still see the old date (the day when you set the formula) being referred in the formula.


We urge you to use Power Automate / FLOW to update the list item values instead of using calculated columns if you want the values to update on regular basis.


Comments:

  • Use scheduled Powershell script to update field formula every morning. this will refresh your values in column every morning. all you need to do is to update formula to something else and change it back to original. This approach is only useful if you are handling date, without time.
    anon 10 Dec 2020 23:01:39 GMT
  • No, cannot directly specify today and me in calculated column to set the values, will need to create columns Today and Me, then delete these 2 columns. Delete it! its important!
    anon 25 Nov 2020 12:33:20 GMT
  • Use JSON column formatting instead, you can compute and show value in the view for any SharePoint field. This should be refreshed daily.
    anon 12 Nov 2020 04:54:01 GMT
  • You can use JsLink in your view instead for getting current/today date.
    anon 07 Nov 2020 00:21:55 GMT
  • Thanks for this post. Now I know why my date does not update daily. Know this approach, but never knew about the auto update issue. Good learning for me, keep it up!
    anon 10 Sep 2020 23:19:05 GMT
  • I remember using this trick for MOSS during my early days with SharePoint. Still works with SharePoint Online in Office 365.
    anon 23 July 2020 21:13:50 GMT
  • This old school trick still works like a charm.
    anon 12 June 2020 09:23:11 GMT
  • Further comments disabled!


















Copyright © Code2care 2024 | Privacy Policy | About Us | Contact Us | Sitemap