Forum Discussion

magnusjonasson's avatar
magnusjonasson
Copper Contributor
Mar 17, 2023
Solved

Filling a predefined value in a cell based on background color of another cell?

I have a SharePoint list with conditional formatting set up for a specific column which changes the cell background between red and green based on date conditions (see json below).

 

Next, I would like to automatically fill in the value 'OK' in column 'Status' based on that background in the date cell 'Just nu på datum' is green, and value 'Not OK' in 'Status' if the same date cell is red.

 

 

Is this possible and how do achieve that?

 

Below is the JSON for the conditional formatting:

 

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "div",
  "txtContent": "@currentField",
  "style": {
    "padding-left": "10px"
  },
  "attributes": {
    "class": "=if(@currentField <= addDays(@now, -1 * [$M_x00e5_lantalbankdagar]), 'sp-css-backgroundColor-BgCoral sp-css-color-DarkRedText', if(@currentField >= addDays(@now, -1 * [$M_x00e5_lantalbankdagar]), 'sp-css-backgroundColor-BgMintGreen sp-css-borderColor-MintGreenFont', ''))"
  }
}

 

 

Thanks! 

  • ganeshsanap's avatar
    ganeshsanap
    Mar 20, 2023

    magnusjonasson You have to use the calculated column formula in this format: 

     

    =IF([Justnupadatum] <= TODAY()-[Malantalbankdagar], "Not OK", IF([Justnupadatum] >= TODAY()-[Malantalbankdagar], "OK", ""))

     

    Here you have to use the display names of columns instead of internal names. Also, if TODAY() does not work, try using NOW().


    Please click Mark as Best Response & Like if my post helped you to solve your issue. This will help others to find the correct solution easily. It also closes the item. If the post was useful in other ways, please consider giving it Like.

    For SharePoint/Power Platform blogs, visit: Ganesh Sanap Blogs

9 Replies

  • magnusjonasson Use this JSON for Status column: 

     

    {
      "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
      "elmType": "div",
      "txtContent": "=if(@currentField <= addDays(@now, -1 * [$M_x00e5_lantalbankdagar]), 'Not OK', if(@currentField >= addDays(@now, -1 * [$M_x00e5_lantalbankdagar]), 'OK', ''))"
    }

     

    Note: This just displays the value (OK/Not OK) in list view for Status column. It does not actually set the value in Status column.


    Please click Mark as Best Response & Like if my post helped you to solve your issue. This will help others to find the correct solution easily. It also closes the item. If the post was useful in other ways, please consider giving it Like.

    For SharePoint/Power Platform blogs, visit: Ganesh Sanap Blogs

    • magnusjonasson's avatar
      magnusjonasson
      Copper Contributor
      Thanks! Tried your JSON above on Status column and it shows 'Not OK' whatever date I enter. Color coding works correct but I can't figure out why it doesn't say 'OK' when color is green. Any idea?

      Also, will I be able to filter on Status when there is no actual value for it?
      • ganeshsanap's avatar
        ganeshsanap
        MVP

        magnusjonasson You can follow this article to find out the correct internal name of your date column: Find the internal name of SharePoint column 


        Please click Mark as Best Response & Like if my post helped you to solve your issue. This will help others to find the correct solution easily. It also closes the item. If the post was useful in other ways, please consider giving it Like.

        For SharePoint/Power Platform blogs, visit: Ganesh Sanap Blogs

Resources