How to change the row color based on a cell value in Excel

Learn how to quickly highlight the entire row based on a single cell's value in Excel. Tips and formula examples for number and text values.

Last week we discussed how to change the background color of a cell based on its value. In this article you will learn how to highlight entire rows in Excel based on a value of one cell, and also find a few tips and formula examples that will work with numerical and text cell values.

How to change a row color based on a number in a single cell

Say, you have a table of your company orders like this: Source data - a table of the company's orders

You may want to shade the rows in different colors based on the cell value in the Qty. column to see the most important orders at a glance. This can be easily done using Excel Conditional Formatting.

  1. Start with selecting the cells the background color of which you want to change.
  2. Create a new formatting rule by clicking Conditional Formatting > New Rule… on the Home tab. On the Home tab, click Conditional Formatting > New Rule…
  3. In the "New Formatting Rule" dialog window that opens, choose the option "Use a formula to determine which cells to format" and enter the following formula in the "Format values where this formula is true" field to highlight orders with Qty. larger than 4:

    =$C2>4 Open the 'New Formatting Rule' dialog and enter the needed formula.

    And naturally, you can use the less than (<) and equal to (=) operators to find and highlight rows that have Qty. smaller than 4 or equal to 4:



    Also, pay attention to the dollar sign $ before the cell's address - it is needed to keep the column letter the same when the formula gets copied across the row. Actually, it is what does the trick and applies formatting to the whole row based on a value in a given cell.

  4. Click the "Format…" button and switch to Fill tab to choose the background color. If the default colors do not suffice, click the "More Colors…" button to pick the one to your liking, and then click OK twice. Click the 'More Colors…' button to choose the color to your liking.

    You can also use any other formatting options, such as the font color or cells border on the other tabs of the Format Cells dialog.

  5. The preview of your formatting rule will look similar to this: The preview of your formatting rule
  6. If this is how you wanted it and you are happy with the color, click OK to see your new formatting in effect.

    Now, if the value in the Qty. column is greater than 4, the entire rows in your Excel table will turn blue. Highlight entire rows based on a cell value.

As you can see, changing the row's color based on a number in a single cell is pretty easy in Excel. Further on, you will find more formula examples and a couple of tips for more complex scenarios.

How to apply several rules with the priority you need

In the previous example, you may want to highlight the rows with different values in the Qty. column in different colors. For example, you can add a rule to shade the rows with quantity 10 or greater. In this case, use this formula:


After your second formatting rule is created, set the rules priority so that both of your rules will work.

  1. On the Home tab, in the Styles group, click Conditional Formatting > Manage Rules… .
  2. Choose "This worksheet" in the "Show formatting rules for" field. If you want to manage the rules that apply to your current selection only, choose "Current Selection".
  3. Select the formatting rule you want to be applied first and move it to the top of the list using the arrows. The result should resemble this: Use the up and down arrows to set the rules' priority.

    Click the OK button and the corresponding rows will immediately change their background color based on the cell values that you specified in both formulas. The entire rows colored based on two conditional formatting rules

How to change a row color based on a text value in a cell

In our sample table, to make follow-up on orders easier, you can shade the rows based on the values in the Delivery column, so that:

  • If an order is "Due in X Days", the background color of such rows will turn orange;
  • If an item is "Delivered", the entire row will be colored in green;
  • If an order is "Past Due", the row will turn red.

Naturally, the row color will change if the order status gets updated.

While the formula from our first example could work for "Delivered" and "Past Due"(=$E2="Delivered" and =$E2="Past Due"), the task sounds a bit trickier for "Due in…" orders. As you see, different orders are due in 1, 3, 5 or more days and the above formula won't work because it is purposed for exact match.

In this case, you'd better use the SEARCH function that works for the partial match as well:

=SEARCH("Due in", $E2)>0

In the formula, E2 is the address of the cell that you want to base your formatting on, the dollar sign ($) is used to lock the column coordinate, and >0 means that the formatting will be applied if the specified text ("Due in" in our case) is found in any position in the cell.

Create three such rules following the steps from the first example, and you will have the below table, as the result: The rows' color is changed based on a text value in a cell.

Highlight row if cell starts with specific text

Using >0 in the above formula means that the row will be colored no matter where the specified text is located in the key cell. For example, the Delivery column (F) may contain the text "Urgent, Due in 6 Hours", and this row will be colored as well.

To change the row color when the key cell starts with a particular value, use =1 in the formula, e.g.:

=SEARCH("Due in", $E2)=1

in this case, the row will only be highlighted if the specified text is found in the first position in the cell.

For this conditional formatting rule to work correctly, make sure there are no leading spaces in the key column, otherwise you might rack your brain trying to figure out why the formula does not work :) You can use this free tool to find and remove leading and trailing spaces in your worksheets - Trim Spaces add-in for Excel.

How to change a cell's color based on a value of another cell

In fact, this is simply a variation of changing the background color of a row case. But instead of the whole table, you select a column or a range where you want to highlight rows and use the formulas described above.

For example, we could create three such rules to shade only the cells in the "Order number" column based on another cell value (values in the Delivery column). Changing a cell's color based on a value in another cell

Highlight rows based on several conditions

If you want to shade the rows in the same color based on several values, then instead of creating several formatting rules you can use the OR or AND functions to set several conditions.

For example, we can color the orders due in 1 and 3 days in the reddish color, and those that are due in 5 and 7 days in the yellow color. The formulas are as follow:

=OR($F2="Due in 1 Days", $F2="Due in 3 Days")

=OR($F2="Due in 5 Days", $F2="Due in 7 Days") Use the =OR formula to change a row's color based on several conditions.

And you can use the AND function, say, to change the background color of rows with Qty. equal to or greater than 5 and equal to or less than 10:

=AND($D2>=5, $D2<=10) An example of using the =AND formula

Naturally, you are not limited to using only 2 conditions in such formulas, you are free to use as many as you need. For example:

=OR($F2="Due in 1 Days", $F2="Due in 3 Days", $F2="Due in 5 Days")

Tip: Now that you know how to color cells to differentiate between various types of values, you may want to know how many cells are highlighted in a certain color and calculate the sum of values in those cells. The good news is that you can automate this too and you will find the solution in this article: How to count, sum and filter cells by color in Excel.

These are only a few of many possible ways to zebra stripe your Excel worksheets based on a cell's value that will respond to change of data in that cell. If you need something different for your data set, drop us a comment and we will try to figure this out.


  1. Hello,

    I would like the row in my spreadsheet to change colors once a date has been added to the "Date Complete" column. I have tried using =CELL("format",$D2)="D1" type formula, but have found that since I have formatted the cells in column D, the entire spreadsheet changes color. How can I get the row to change color if there is a date in the column, and not change color if there is no date in the column?

  2. Hi, I'm trying to set up colours for a particular 'status letter' which is in Column E, to colour cells/rows from columns A to E. For example, the letter 'P' in cell 2E, I want cells on row 2 from A2 - E2, to be a light blue; Then the following letters, still in column E, to have the same formatting, but a different colour. F is green, C is red, B is orange & R to have the font changed to red.

    I'm having trouble searching for an answer with your examples above.
    Can you help please.


    • IT'S OK. Pls disregard. I worked it out. thanks.

  3. I'm trying to have rows turn grey if the customer enquiring is outside of our coverage area (multiple post codes) so can it do it saying if the cell doesn't contain NR or IP it turns the whole row grey?

  4. Hello!
    I am trying to create a Gantt style chart to track the progress of some upcoming projects and it has been requested that the actual completion date be a different color based on where it falls in the 'allowable timeframe'.

    The below formula adds a corresponding filled cell in the calendar side but I am only able to figure out how to do it in one color. I would like to be able to do it in Green, Amber and Red based on how it falls in comparison to the completed date.

    I have scoured online and would consider myself to have a pretty decent knowledge of Excel, I am coming up blank on this solution. I am not opposed to have multiple formulas in order to get the different colors.

    ANY assistance you may be able to provide would be greatly appreciated!

  5. Hello,

    Is there a particular formula that allows me to have the whole row turn a color (grey for my purposes) if any text is entered in a particular box? I understand the conditional formatting process but want the line to be greyed out automatically when any date is entered into my "DATE CLOSED" box.


  6. Could you please share the video

  7. On the Spreadsheet I'm making I'm trying to make an entire row change based on whether one cell says "Resolved" or "Not Resolved", I have used the Formula described above, =$B2="Resolved" and =$B2="Not Resolved" Which then Applies to =$A$2:$J$2 but only the cell where the text is Written is colored the rest stay blank

  8. How would I add a color to a portion of a row based upon whether there a cell has information in it or not?

    What I'm trying to do is grey out a row if no info has been added to specific cell. Cell 3C has dates in it, but not all rows have dates in the C column. If 3C had no data, I'd like the whole row from 3A-3G to change to grey so it is readily apparent that that line has no information about it. Do you have a suggestion as to how I'd write the formula?

    • Hi!
      Have you tried the ways described in this blog post? The tutorial above contains answers to your question.
      For example -

  9. Hi

    How do I get a whole column to highlight red when anything equal to or above 8 is reached in only one cell within this column. This is relating to a staffing sheet - 8 is our limit for staff annual leave in our particular workplace so anything equal to or above is a concern.

  10. How do you highlight a row just based on a particular cell having text in it? I have a spreadsheet that I want the row to highlight once a date is entered into a cell in column D. I do not know how to make a formula for that.

    • Something like =$D1:$D9999="TEXT" should work for what you are looking for. You can use whatever start/end range for Column D you need and enter the desired text in quotes.

  11. Useful tip. It did just what I wanted (Highlight entire row depending on one cell value) . Thanks.

  12. Excellent help page. Thank you.

  13. Hello,
    Is it possible to create a formula to number cells, but only the ones, which have one color (e.g. only white ones)?
    + make formula automatically 'refresh' when we decide to change the color of one or two more rows?


    • Hello!
      You can get the cell color in Excel using the user-defined function GetCellColor.
      To numbering cells with a specific color in column A, you can use something like this formula starting from cell B2

      =IF(COUNT($B$1:B1)=SUM(--("#"&DEC2HEX(GetCellColor($A$2:A2))="#FFFFFF")), "", SUM(--("#"&DEC2HEX(GetCellColor($A$2:A2))="#FFFFFF")))

      I hope it’ll be helpful.

  14. Hi

    i want to Highlight row if cell starts with specific text in spreadsheet online.
    can anyone help me about it?

      • Following these to the T does not work. It works if applied to the column only, but cannot get the whole row highlighted :-(

  15. Hello There,

    I own a food product business. I Have a worksheet where I keep track of deliveries. In the worksheet, against each item, I record Delivery Status(Column K) and Payment Status (Column L). My requirement is two fold.

    Rule 1. When Item is delivered, but payment is yet to be received from customer, I want the row colour to change to yellow based on the text "y" in Column K. In this case, corresponding cell in Column K is Blank.

    Rule 2. When Payment is received from customer, , I want the row colour to change to green based on the text "y" in Column L. In this case, Column L as well as Column L contain the text "y".

    Rule 2 should be applied by overpowering Rule 1.

    I am able to set up the rules individually, but I am not yet able to make rule 2 being able to overpower rule 1.

    Thanks in advance for your advice.

    Rucha Mulay

  16. I want to use conditional format to set the background color for each cell in the B column based on the data in the O Column.

    My formula: Formula=$O$2="Cancelled" Format (black color) Applies to =$B$2
    Formula =$O$2="Delivered" Format Blue color Applies to $B$2.

    I want to be able to select all the cells in Column O and Column B and have the colors change. But this doesn't work. I have to set the 5 different options and type them for every cell.

  17. (cell 1, row 1, col 1)(cell 2, row 1, col 2)(cell 3, row 1, col 3)
    I understand the part of conditionally formatting a single cell, but combinations I need more help on.

    I enter the text 3777 in (cell 1, row 1, col 1) and I give it a red background in conditional formatting.

    With the 3772 entered, (cell 2, row 1, col 2)(cell 3, col 3) also are given red backgrounds because I entered the 3777.

    Hope this makes sense to you, Appreciate any help

    • 3772 meant to be 3777... sorry

    • Hi!
      Based on your description, it is hard to completely understand your task. However, I’ll try to guess and offer you the following conditional formatting formula:

      =(A1=3777)*(B1 < > "")

      Pay attention to the following paragraph of the article above: How to change a cell's color based on a value of another cell.

  18. This is very useful for a lot of people including me. Keep up the good work. Thank you so much, you are saving a lot of time of us.

    • Hello,
      How do I color three rows differently in a rule if a condition is met. Example:

      ROW1: S1 S2 S3 S4 S5 S6 S7
      ROW2: S1 S2 S3 S4 S5 S6 S7
      ROW3: S1 S2 S3 S4 S5 S6 S7

      The formula checks if the value of the first cell in ROW1 contains "S", if true, colors ROW1 green, ROW2 red and ROW3 blue for all data range with similar configurations irrespective of the number of columns. I appreciate your assistance.

  19. You wrote: "In the formula, E2 is the address of the cell that you want to base your formatting on, the dollar sign ($) is used to apply the formula to the entire row..."

    This is not entirely correct. Dollar sign is used to turn a relative cell address into an absolute address. The formula for the whole range is based on the formula for the top-left cell and is modified behind the scenes for each cell. Dollar sign anchors the reference to the cell in a specific column and/or row. In this case $E2 means that all cells in the second row will use the value of E2, but cells in row 3 will use the value of cell E3 because column E is locked, but row isn't and moves down. You can test this by changing the cell reference to $E$2. Now all the cells in all rows will be formatted based on the value of E2.

    There are 4 possible combinations for a cell reference: E2 (relative address), $E2 (absolute column, relative row), E$2 (relative column, absolute row), and $E$2 (absolute address).

    One example: say you have a formula in A1 that says: =D1

    If you than copy that formula down into B2 (changing both column and row for demonstration), you can get 4 different results depending on the type of cell address used:

    =D1 -> =E2 (B2 is 1 column to the right and 1 row down from A1, and so the target cell also moves the same distance from D1 to E2)
    =$D1 -> $D2
    =D$1 -> E$1
    =$D$1 -> $D$1

    Hope this helps :)

  20. If cell value is 7 then color seven next blank or with value cell .
    Plz suggest formula

  21. i noticed that all is taking reference to a column eg. =$C2="done".
    problem is my specific_text ie. "done", could be anywhere in the data table, say $J:$L, is there a way as well?

  22. Hi Svetlana and or Alexander,

    I would like to add additional formatting/several rules to a current rule. At the moment I have a current formula for the "top 3 running in cells N2 to N20. It's currently work fine.

    My issue that there is other information that I would like to colour in columns L and M that would be associated with the top 3 highlighted cells in N.

    Do does one do this? Can it be done?

  23. Hi
    Im working on an excel sheet about preventive maintenance about vehicles a company has.
    There are two cells called the next change and the last change which the next change=last change+8000.
    There is a milestone on another sheet which gets updated every single day.
    how can I write a formula which makes the next change cell red when the KMs in the milestone get near the value in it so the staff can alert the driver?
    I need it to get updated every time the last change is updated without needing to update the formula itself!
    I hope you respond to mu question.

    • Hello!
      If I understand your question correctly, use the rule of conditional formatting in the cell D1:


      B1 - next change
      D1 - milestone
      10 - how much is left until the next change. You can change it as needed.
      I hope I answered your question. If something is still unclear, please feel free to ask.

  24. Hi, I am trying to sum a Row with different values based on the text or colour of the cell (whichever is easier). So in each row the cell will wither be blank, or be one of three colours (or text) and each colour is assigned a numerical value of 1, 2 or 3. I need a formula that will calculate these values/points. So for example in row one there are three cells filled one red and two green. Red has a value of 1 and green has a value of 3 so the formula should return 7. Thanks

  25. Hi,

    I want to change cell value based on color and the option available in conditional formatting is in reverse way. Can you suggest.

    Thank you.

  26. I am using the formula below to try and format rows of data if the number in column C happens to also be in column A of Sheet 1. However, it's only highlighting the first row that meets that condition. All of the other rows that meet the condition are not changing color. Any suggestions?


  27. HI there,

    I have an excel sheet with columns and want to add another which will have date of expiry in them. I would like that these dates are changed automatically when we get to a month before expiry date to amber and red once its past the date, how can I do this???

  28. I have to make RM coverage sheet if have 50 nos RM in stock and I am consuming daily 10 nos. Then remaining days should be shown in coloured pls. Suggest for the same

  29. Hello, Is it possible to apply the varied colors of cells to the points they're representing on a graph (via point color or label)?

  30. I cannot get a pivot table based upon time to conditional format. I have reformatted the numbers to be "general", Time, Custom (mm:ss), text and nothing works. When I use a formula that is built-in, such as "higher than", it highlights the whole column, not distinguishing between values.

    Excel 16 Conditional Formatting of time within pivot tables is really difficult!

  31. thank you very much, it really helped.

  32. Hello Madam / Sir,

    I have a rota for our department. So, each name appears in different cell / different column, multiple times across the sheet.

    Please advice, How can I change the colour of the row depending on the name, which can appear in any cell across the sheet?

    Secondly, can I have a drop down cell with various names,,,, and depending on which name I select in that cell, can I ensure that the row with that name changes colour?

    Please advice


    • Hello!
      For each name, you can use something like this conditional formatting formula. Set a different color for each name.


      In the case of a cell reference in a formula:


      I hope my advice will help you solve your task.

  33. I have excel sheet and one column I have renewal date. I want to highlight this row before one month
    So I can I use this conditional formatting
    Please revert on my email

  34. Hello,
    I can follow the tutorial above and get it to work on a single value on the same sheet, but I am trying to colour a row based on a cell value in a range of numbers on a 2nd sheet.
    ie, on sheet 1 & 2 are cells in column A numbered with a hash+number #1 , #2, #3 etc.
    If #2 is present in the range of A2:A5000 on Sheet 2, then colour the row with #2 only on Sheet 1.
    Any help would be greatly appreciated thank you

    • Hello!
      Unfortunately, without seeing your data it hard to give you advice. Please specify what formula you used and what problem or error occurred. Give an example of the source data.
      It’ll help me understand it better and find a solution for you.

  35. How to I apply a color to a single text in a row in excel?
    For example: Miniature doll clothing, dress, size 1
    I want the no. 1 in red on various rows.
    Then, let's say the rest of my 20 rows, the size is size 2, so I want the no. 2 in green
    What formula do I use and how?

    • Hello!
      I hope you have studied the recommendations in the above tutorial.
      Use conditional formatting with a formula. Set the text color to red when this condition is met:


      For green, use the formula


      I hope it’ll be helpful.

  36. Hello!

    Can you help ?
    I'm looking for solution coloring a cell, or cells regarding a third party cell value.
    If cell A1 is 100% or greater, color cell A2:A4 with Green.

    Thanks in advance

    • Hello Amir!
      The answer to your question is in the article above. Read carefully - How to change a row color based on a number in a single cell

  37. Particluars VALUE VALUE
    I want to change the color of these cells YES YES in green color, NO NO in red color, NO YES in orange color, YES NO in orange color. please assist.

  38. Hello Svetlana ...
    i have a problem with data in excel. How to
    change the color of the text to red when it exceeds 100 characters and those less than 100 characters remain black
    Thank you

  39. on the basis of blank cell in a column, I want the row being highlighted. plz guide

  40. Hi, Thank you for this detailed explanation, I was able to follow it easily. It seems mine isn't quite working properly though. We have a quote tracker, and we change the status to "Sold", "On Hold", or "Denied" in column P starting at row 5. When I change the status in cell P:5 to "Sold" it is supposed to change just row 5 to green but it changes all the rows down to row 500. My formula is =$P$5="Sold", turn to Green fill dark green text, applies to $A$5:$Q$500. There are 500 rows in our sheet and columns up to Q. If I change the formatting to =$P$5="Sold", turn to Green fill dark green text, applies to $A$5:$Q$5 it works correctly and only highlights row 5 when I change the status to "Sold". The problem with that is when I change the status to "Sold" in row 6 nothing happens. I hope I don't need to add a rule for each row?

    • I figured it out! My mistake was the fact I had =$P$5="Sold". The two dollar signs were the issue. It should be =$P5="Sold". Thanks for this tutorial!

    • Hello Darren,
      If I understand your task correctly, please try the following formula:

      = $P5 = "Sold"

      You can learn more about Relative and absolute cell references in Excel conditional formatting rules in this article on our blog. Hope you’ll find this information helpful.

  41. Hi, if I want to leave the cells with out a color until I fill in any data, how do I proceed with that?

  42. hi
    i need a formula which can copy a text which ahve already conditional formating and (text of the cell are in red color), to paste on other sheet which also paste the text in red color

  43. in a scenario where you want to give range for change of cell color wherein value of cell is more than 1 but less than 26. how to implement it on sheet containing a lot of values.

  44. Hi Team,

    Can someone help me with VB code where only those rows should be highlighted which are in amber color under my excel sheet

  45. Hi
    i have different colours in rows A2,A3,A4 like Yellow, Blue and Green. When i format A1 as Red then A2,A3,A4 colour should be removed.
    Is this possible

  46. This will not work if the cell was set via conditional formatting. Do you have a workaround?

  47. I am working on a excel that has two sheets. I have data on the second sheet, specifically a list of names in a table. What I would like to happen is then I enter the name on first sheet, it highlights the name. I've tried a few conditional formatting attempts, but nothing has been working. Wondering what I'm doing wrong. Thanks!

Post a comment

Thank you for your comment!
When posting a question, please be very clear and concise. This will help us provide a quick and relevant solution to
your query. We cannot guarantee that we will answer every question, but we'll do our best :)