Jun
10

Excel formulas for conditional formatting based on another cell value

In this tutorial, we will continue exploring the fascinating world of Excel Conditional Formatting. If you do not feel very comfortable in this area, you may want to look through the previous article first to revive the basics - How to use conditional formatting in Excel 2010 and 2013.

Today are going to dwell on how to use Excel formulas to format individual cells and entire rows based on the values you specify or based on another cell's value. This is often considered advanced aerobatics of Excel conditional formatting and once mastered, it will help you push the formats in your spreadsheets far beyond their common uses.

Excel formulas for conditional formatting based on cell value

Excel's pre-defined conditional formatting rules are mainly purposed to format cells based on their own values or the values you specify. I am talking about Data Bars, Color Scales, Icon Sets and other rules available to you on the Conditional Formatting button click.

If you want to apply conditional formatting based on another cell or format the entire row based on a single cell's value, then you will need to use Excel formulas. So, let's see how you can make a rule using a formula and after that I will provide a number of formula examples for different tasks.

How to create a conditional formatting rule using a formula

As you remember, in all modern versions of Excel 2013, Excel 2010 and Excel2007, the conditional formatting feature resides on the Home tab > Styles group. In Excel 2003, you can find it under the Format menu.

So, you set up a conditional formatting rule based on a formula in this way:

1. Select the cells you want to format. You can select one column, several columns or the entire table if you want to apply your conditional format to rows.

Tip. If you plan to add more data in the future and you want the conditional formatting rule to get applied to new entries automatically, you can either:

  • Convert a range of cells to a table (Insert tab > Table). In this case, the conditional formatting will be automatically applied to all new rows.
  • Select some empty rows below your data, say 100 blank rows.

2. Click Conditional formatting > New Rule...
Creating a new conditional formatting rule using a formula

3. In the New Formatting Rule window, select Use a formula to determine which cells to format.

4. Enter the formula in the corresponding box.

5. Click the Format... button to choose your custom format.
Enter the formula and click the Format... button to choose your custom format.

6. Switch between the Font, Border and Fill tabs and play with different options such as font style, pattern color and fill effects to set up the format that works best for you. If the standard palette does not suffice, click More colors... and choose any RGB or HSL color to your liking. When done, click the OK button.
Switch between the Font, Border and Fill tab and set up your custom format.

7. Make sure the Preview section displays the format you want and if it does, click the OK button to save the rule. If you are not quite happy with the format preview, click the Format... button again and make the edits.
Make sure the Preview section displays the format you want and save the rule.

Excel conditional formatting formula examples

Now that you know how to create and apply Excel conditional formatting based on another cell, let's move on and see how to use various Excel formulas in practice:

Tip. For your Excel conditional formatting formula to work correctly, please always follow these simple rules.

Formulas to compare values (numbers and text)

As you know Microsoft Excel provides a handful of ready-to-use rules to format cells with values greater than, less than or equal to the value you specify (Conditional Formatting >Highlight Cells Rules). However, these rules do not work if you want to conditionally format certain columns or entire rows based on a cell's value in another column. In this case, you use analogous formulas:

Condition Formula example
Equal to =$B2=10
Not equal to =$B2<>10
Greater than =$B2>10
Greater than or equal to =$B2>=10
Less than =$B2<10
Less than or equal to =$B2<=10

The screenshot below shows an example of the Greater than formula that highlights product names in column A if the number of items in stock (column C) is greater than 0. Please pay attention that the formula applies to column A only ($A$2:$A$8). But if you select the whole table (in our case, $A$2:$E$8), this will highlight entire rows based on the value in column C.
Excel conditional formatting rule to highlight cells based on another cell's value.

In a similar fashion, you can create a conditional formatting rule to compare values of two cells. For example:

=$A2<$B2 - format cells or rows if a value in column A is less than the corresponding value in column B.

=$A2=$B2 - format cells or rows if values in columns A and B are the same.

=$A2<>$B2 - format cells or rows if a value in column A is not the same as in column B.

As you can see in the screenshot below, these formulas work for text values as well as for numbers.
Excel formulas to compare cells with text values

AND and OR formulas

If you want to format your Excel table based on 2 or more conditions, then use either =AND or =OR function:

Condition Formula Description
If both conditions are met =AND($B2<$C2, $C2<$D2) Formats cells if the value in column B is less than in column C, and if the value in column C is less than in column D.
If one of the conditions is met =OR($B2<$C2, $C2<$D2) Formats cells if the value in column B is less than in column C, or if the value in column C is less than in column D.

In the screenshot below, we use the formula =AND($C2>0, $D2="Worldwide") to change the background color of rows if the number of items in stock (Column C) is greater than 0 and if the product ships worldwide (Column D). Please pay attention that the formula works with text values as well as with numbers.
Excel conditional formatting rule with the =AND formula.

Naturally, you can use two, three or more conditions in your =AND and =OR formulas.

These are the basic conditional formatting formulas you use in Excel. Now let's consider a bit more complex but far more interesting examples.

Conditional formatting for empty and non-empty cells

I think everyone knows how to format empty and not empty cells in Excel - you simply create a new rule of the "Format only cells that contain" type and choose either Blanks or No Blanks.
A rule to format blank and non-blank cells in Excel

But what if you want to format cells in a certain column if a corresponding cell in another column is empty or not empty? In this case, you will need to utilize Excel formulas again:

Formula for blanks: =$B2="" - format selected cells / rows if a corresponding cell in Column B is blank.

Formula for non-blanks: =$B2<>"" - format selected cells / rows if a corresponding cell in Column B is not blank.

Note. The formulas above will work for cells that are "visually" empty or not empty. If you use some Excel function that returns an empty string, e.g. =if(false,"OK", ""), and you don't want such cells to be treated as blanks, use the following formulas instead =isblank(A1)=true or =isblank(A1)=false to format blank and non-blank cells, respectively.

And here is an example of how you can use the above formulas in practice. Suppose, you have a column (B) which is "Date of Sale" and another column (C) "Delivery". These 2 columns have a value only if a sale has been made and the item delivered. So, you want the entire row to turn orange when you've made a sale; and when an item is delivered, a corresponding row should turn green. To achieve this, you need to create 2 conditional formatting rules with the following formulas:

  • Orange rows (a cell in column B is not empty): =$B2<>""
  • Green rows (cells in column B and column C are not empty): =AND($B2<>"", $C2<>"")

One more thing for you to do is to move the second rule to the top and select the Stop if true check box next to this rule:

Conditional formatting rules to highlight rows based on other cells being blank or not blank

Excel formulas to work with text values

If you want to apply conditional formatting to selected columns when another cell in the same row contains a certain word, you can use a simple formula like =$D2="Worldwide" (we've used a similar formula in one of the previous examples). However, this formula will work for exact match only.

For partial match, you will need another Excel function: =SEARCH. You use it in this way:

=SEARCH("Worldwide", $D2)>0 - format selected cells or rows if a corresponding cell in column D contains the word "Worldwide". This formula will find all such cells, regardless of where the search text is located in a cell, e.g. "Ships Worldwide", "Worldwide, except for..." etc.

=SEARCH("Worldwide", $D2)>1 - shade selected cells or rows if the cell's content starts with the search text.
Excel formulas to conditionally format cells based on text values

Excel formulas to highlight duplicates

If your task is to conditionally format cells with duplicate values, you can go with the pre-defined rule available under Conditional formatting > Highlight Cells Rules > Duplicate Values... The following article provides a detailed guidance on how to use this feature: How to automatically highlight duplicates in Excel.

However, in some cases the data looks better if you color selected columns or entire rows when a duplicate values occurs in another column. In this case, you will need to employ an Excel conditional formatting formula again, and this time we will be using the =COUNTIF formula. As you know, this Excel function counts the number of cells within a specified range that meet a single criterion.

Highlight duplicates including 1st occurrences

=COUNTIF($A$2:$A$10,$A2)>1- this formula finds duplicate values in the specified range in Column A (A2:A10 in our case), including first occurrences.

If you choose to apply the rule to the entire table, the whole rows will get formatted, as you see in the screenshot below. I've decided to change a font color in this rule, just for a change : )
Excel formula to highlight duplicates including 1st occurrences

Highlight duplicates without 1st occurrences

To ignore the first occurrence and highlight only subsequent duplicate values, use this formula: =COUNTIF($A$2:$A2,$A2)>1
Excel formula to highlight duplicates without 1st occurrences

Check for duplicates across multiple columns

If you want apply the conditional format when duplicate values occur in two or more columns, you will need to add an extra column to your table in which you concatenate the values from the key columns using a simple formula like this one =A2&B2. After that you apply a rule using either variation of the =COUNTIF function (with or without 1st occurrences). Naturally, you can hide an additional column after creating the rule.
Excel formula to check for duplicates across several columns

Compare 2 columns for duplicates

One of the most frequent tasks in Excel is to check 2 columns for duplicate values - i.e. find and highlight values that exist in both columns. To do this, you will need to create an Excel conditional formatting rule for each column with a combination of =ISERROR() and =MATCH() functions:

For Column A: =ISERROR(MATCH(A1,$B$1:$B$10000,0))=FALSE

For Column B: =ISERROR(MATCH(B1,$A$1:$A$10000,0))=FALSE

Note. For such conditional formulas to work correctly, it's very important that you apply the rules to the entire columns, e.g. =$A:$A and =$B:$B.

You can see an example of practical usage in the following screenshot that highlights duplicates in Columns E and F.
Excel conditional formatting formulas to check 2 columns for duplicates

As you can see, Excel conditional formatting formulas cope with dupes pretty well. However, for more complex cases, I would recommend using the Duplicate Remover add-in that is especially designed to find, highlight and remove duplicates in Excel 2013, 2010, 2007 and 2003, in one sheet or between two spreadsheets.

Formulas to highlight values above or below average

When you work with several sets of numeric data, the =AVERAGE function may come in handy to format cells whose values are below or above the average in a column.

For example, you can use the formula =$E2<AVERAGE($E$2:$E$8) to conditionally format the rows where the sale numbers are below the average, as shown in the screenshot below. If you are looking for the opposite, i.e. to shade the products performing above the average, replace "<" with ">" in the formula: =$E2>AVERAGE($E$2:$E$8).
A conditional formatting rule to highlight values below average

I hope the conditional formatting formulas you have learned in this tutorial will help you make sense of whatever project you are working on. If you need more examples, please check out the following articles:

Why isn't my Excel conditional formatting working correctly?

If your conditional formatting rule is not working as expected, though the formula is apparently correct, do not get upset! Most likely it is not because of some weird bug in Excel conditional formatting, rather due to a tiny mistake, not evident at the first sight. Please try out 6 simple troubleshooting steps below and I'm sure you will get your formula to work:

1. Make sure your conditional formatting formula uses absolute and relative cell addresses where needed. It's very difficult to deduce a general rule that will work in 100 per cent of cases. But most often you would use an absolute column (with $) and relative row (without $) in cell references. Please keep in mind that the formulas =A1=1 and =A$1=1 will produce different results. If you are not sure which one is correct in your case, you can try both : )

2. Verify whether your conditional formatting rule applies to the correct range. A rule of thumb is this - do not include column headers in the applied range.

3. Write the conditional formatting formula for your 1st row with data. For example, if your data starts in row 2, you will use =A$2=10. A common mistake is to always use a reference to the first row (e.g. =A$1=10). Please remember, you reference row 1 in the formula only if your table does not have headers and your data really starts in row 1. The most obvious indication of this case is when the rule is working, but formats values not in the rows it should.

4. Double-check the rule in the Conditional Formatting Rules Manager. Sometimes, for no reason at all, Microsoft Excel distorts the rule you have just created. So, if the rule is not working, go to Conditional Formatting > Manage Rules and check both the formula and the range it applies to. If you have copied the formula from the web or some other external source, make sure the straight quotes are used.

5. If you copy Excel conditional formatting using Format Painter, don't forget to adjust all cell references in the formula.

6. If you use a complex Excel formula that includes several different functions, split it into simple elements and verify each function individually.

And finally, if you've tried all the steps but your conditional formatting rule is still not working correctly, drop me a line in comments and we will try to fathom it out together : )

In my next article we are going to look into the capabilities of Excel conditional formatting for dates. See you next week and thanks for reading!

34 Responses to "Excel formulas for conditional formatting based on another cell value"

  1. Jelena says:

    Hi! I have a bit particular case. I have to find duplicates (max 5) in column A worksheet_1 and copy only one of each duplicate in column A worksheet_2. Then I have to copy values from B worksheet_1 that correspond to each duplicate in B1:F1 of worksheet_2.

    For example:
    worksheet_1 worksheet_2
    A B A B C D E F
    1 kl5f 1 k15f ozpp
    2 l9j8 2 l9j8 kol
    6 yu60
    2 kol
    1 ozpp

    Thank you in avance

  2. Derek says:

    Hi! was wondering if you can help me with something on the similar subject.

    Column A + Column B = $F$5

    A Basic example is Column A has 2.70, 5.40, 8.10 Column B has 10.80, 21.60, 32.40 if I put 13.50 in the box I'd like the 2.70 in Column A and 10.80 to be highlighted in Column B etc.

    I've tried different ways like =A3+B$3=$F$5 and/or =B3+A$3=$F$5 but nothing seems to work can you help me.?

    Thanks

    • Hi Derek,

      You were almost there : ) You need to create a separate rule for column A and column B with this formula: =$A3+$B3=$F$5 Please note, it will work for Column A + Column B = $F$5, only if values in columns A and B are in the same row.

      If you want to highlight values in different rows that make a sum, you will need a bit more complex formulas:
      For Column A: =ISERROR(MATCH(ROUND($F$5-$A1,10),$B$1:$B$10,0))=FALSE
      For Column B: =ISERROR(MATCH(ROUND($F$5-$B1,10),$A$1:$A$10,0))=FALSE

      • Derek says:

        Wow that's a lot more complex than I thought it would be lol
        Ok last question I promise if I wanted to add one more column later what would I input?
        Thanks so much for your help I couldn't have worked that out for myself

        • Hi Derek,

          I'm glad to know the formulas have worked for you : )
          If you are asking about the 2nd case (sum in different rows), regrettably it's not possible to do in 3 columns (i.e. A + B + C = $F$5) using conditional formatting formulas, at least I do not know any way. This would require 2 nested loops, which can be done as a macro only.

  3. Naveen says:

    Hi, i want to format a cell based value of different cell. Please let me know how to do it.

    Ex: If value in Cell E2="Yes" the F2 cell needs to be in date format.

  4. RJT says:

    I am having an issue with using conditional formatting on my excel project. I want to highlight each number in a row that is different from each other in one single conditional formatting formula. How would I do that?

    • If my understanding is correct, you need to highlight unique values in each row. If so, the following formula will work a treat, where A is the first column and H is the last column with values:
      =COUNTIF($A2:$H2,"="&A2)=1

  5. Sarah Heidel says:

    I am trying to find a formula to highlight the entire row based on the conditional formatting of one column.

    I formatted column 1 to highlight duplicates, and I want excel to highlight the entire row if there is a duplicate.

    Is this possible?

    • Hello Sarah,

      Of course, this is possible. You just need to extend the range for the formula to get applied to the entire table rather than 1 column. Simply open the Conditional Fromatting Rules Manager and change the range in the "Applies to" box.

      As an example, please see "Check for duplicates across multiple columns" in this article. As you see in the screenshot, the formula applies to the range A2:C9, and as a result the entire rows are highlighted based on cell value in column C.

  6. PH says:

    Hello,
    My conundrum is this:

    Cell I13 has zero formulas nested and only represents whatever number i type into it. I need the text or fill in cell I13 to be green if it's value is greater than or equal to the value in cell I14 and I need the color to be red if its value is less than the value represented in cell I14. I14 has a nested formula which represents a numerical value from cell D4. I have tried the Conditional Formating rules to no avail; is this algorithm even possible?

    • Hello PH,

      I've just tried creating 2 rules for cell I13 with the following formulas, and they worked just fine:

      Red: =$I$13< $I$14
      Green: =$I$13>=$I$14

      My cell I14 has a simple formula =D4, though in theory this should not make any difference. If the above formulas do not work for you, please specify which exactly formula you have in I14 so that I can test on the same data.

  7. Rutger says:

    Hello,

    This already looks like an oracle now. I have an other challenge with duplicates. I have a file with different sheets. In Sheet D there is a cell that fills automaticly with information from the other sheets. I use this to generate Meta data for my website which I can import.

    Some of the data in Sheet D are duplicate. I like to make a rule which will change the data in this sheet/cell automaticly if the outcom of the formula used in Sheet D , Cell A is a duplicatie with a cell above in the same column.

    I hope you can help me with this info.

    Thanks

    Rutger

    • Hi Rutger,

      Try creating a rule with this simple formula =A2=A1 where A2 is the top-left most cell in the range where you want to color the duplicates and A1 is a cell above. This rule will color the second duplicate occurrence. If you need to highlight the first one as well, create one more rule with this formula =A2=A3.

      This solution works fine for one and several columns, except for the case if you have data in row 1. Hopefully this is not the case and you have column headers there : )

  8. Kathleen says:

    Hello,

    I am wondering if there is a way to apply icons to words and not just numbers.

    For example the icons are in column B and I would like the "green check" icon to display when column J reads "YES".

    Is that possible?

    • Hi Kathleen,

      You can do this with the help of this formula =IF(J2="YES",1,""). Copy the formula all across column B, starting from cell B2.

      Then create an icon set rule and set a green flag for values >=1. Remember, to select the option "Show icon only".

  9. mk says:

    I have columns with dates in them. Each row is a different activity and the columns represent different schedule versions. If column C has one date and then a different date in column D, I want column to highlight in a color depending on if it occurs before or after the date in column C. I want to carry this down across several rows, but for some reason the conditional formatting is based only on the first row of data. How can I get the conditional formatting to apply to each individual row?

  10. Jen says:

    Hi! I'm having a problem figuring out how to get conditional formatting to work in the following scenario.

    I have a 3 column table. A and B will either have "Yes" or "No" as values. If both A and B = Yes, I want to highlight that row green. If both A and B = No, I want to highlight that row red. And if A and B have differing values from each other (e.g. A=No, B=Yes), I want to highlight that row yellow.

    I'm pretty sure I need to have 3 different rules, but other than that, I'm not sure where to start. I feel like this must be easier than I'm making it but I'm not sure how absolute and relative cell references work, and I think maybe that's part of my problem. Any help you can provide would be greatly appreciated! Thanks so much!

    • Hi Jen,

      Right, you will need 3 rules with the following formulas:

      Green: =AND($A2="Yes", $B2="Yes")
      Red: =AND($A2="No", $B2="No")
      Yellow: =$A2<>$B2 (in plain English, the <> operator means "not equal to")

      As for the cell references, I will try to explain in more detail:

      - Absolute cell references (with the $ sign) always remain constant, no matter where they are copied. Because you always compare values in columns A and B, you should use an absolute column reference. As you can see, a dollar sign ($) is used before all column letters in the above formulas.

      - Relative cells references (without the $ sign) change based on the relative position of rows and columns, when copied across multiple cells. Since you need to compare values in each row individually, you use relative row references in the formulas.

      In conditional formatting rules, cell references are relative to the top-left most cell in the applied range. So, you can simply pretend as if you are writing a formula for the top-left cell only, A2 in our case.

      Absolute and relative references in conditional formatting formulas behave in the same way as in usual Excel formulas (as described above). So, because you use relative row references, your formulas will "get changed" for each row and will compare the values in columns A and B in each individual row. I hope this makes sense :)

      • Jen says:

        Svetlana,

        Thank you so much for explaining the absolute and relative cell references. I looked it up more after I posted my question, but you've explained it better than anything else I've found!

        As for the conditional formatting formulas -- I had the red and green rules correct, except for the mixed references; the yellow formual I did not have correct and I'm not sure why I failed to find such an easy solution. The not equal to operator makes perfect sense.

        Thanks so much!
        Jen

  11. Steve says:

    How do I test for the value of a cell color? I have a spread sheet where my customer combined rows of the same kind with a cell color. They did this manually. However I need to export this to a publishing program so is there a search for this? In the past, before the customer used color fill, I tested the data (=IF(F319=F320,"","{RULE}") and then I was able to place a rule below each group. Now with the cells filled with color, I'm at a loss.

    Thanks!

  12. Bethany says:

    I am trying to do some Dynamic highlighting bas on a data validation list. My issue is when I create my conditional formatting formula =$J45=$E$40, the dynamic is only work for 1 value. When I switch values in the dropdown, the formula no longer works for the table range. Why is this?

    • Hello Bethany,

      It's very difficult to say what the problem may be without seeing your data. Your formula works for column J only since you use an absolute column reference. Is this correct? Anyway, if you can send me your sample workbook at support@ablebits.com, I think we will be able to help better.

  13. Amarnath says:

    Thanks for this awesome blog !!!
    Yet i could not crack this.

    I have value in cell a1 to a5 and b1 to b5. Column a is output of path1 and column b is path2. Now i need to compare value of column b with column a and color column c with 3 colors using data bars to show the magnitude.
    1) green : if column b value is lesser than a
    2) yellow: if column b value is equal to column a
    3) red : if column b value is lesser than column a

    Now the c column should have a data bar to indicate how good or bad the value in column b is compared to column a. I spent too much but i eventually end up forgetting my location !
    Can you shed some magic on this please

    • Hi Amarnath,

      3 data bars of different colors cannot be displayed at the same time in one column. But you can try this way:
      - Enter the following formula to cell C2 that will calculate the difference: =B2-A2
      - Copy the formula across the entire column C.
      - Apply the Green Data Bar to column C (negative values will be colored in red).

      To hide the values and leave only the data bar visible, click 'Manage Rules' under Conditional Formatting, double-click your Data Bar rule and select the option "Show Bar Only".

      As an alternative, you can consider using sparklines.

  14. Carl says:

    I have a situation in which I'm applying conditional formatting to data that can be in three different ranges. For example if a cell has a value below a certain number, it colors green, if it is between two values, it colors yellow and if it is higher than a value, it colors red. I have this part down with three separate rules.

    However, these ranges will change based on gender, which I have in an earlier column. Therefore, there are two different sets of three rules I want to apply to a row of data. What I want is that if C3, for example, reads female, then three specific conditional formatting rules will be applied to J3 which would be different than if C3 read male.

    I would love any help you could give me.

    Thanks!

    • Hi Carl,

      It is not possible to create a conditional formatting rule that would force another rule or set of rules to apply to a certain range of cells. Instead, you can create 6 separate rules combining both conditions in one formula, e.g.:
      =AND($D3>0, $C3="male")

      If you are looking for something different, please send me your sample data at support@ablebit.com and we will try to figure out the proper formulas.

  15. Amarnath says:

    Svetlana,

    Thank you very much for your time on this. That was helpful and again informative. I will use this suggestion.
    You have an awesome blog here. Thanks.

    Make it a great day !

Post a comment



Ultimate Suite for Excel Professionals
 
 
The best spent money on software I've ever spent!
Patrick Raugh
Ablebits is a fantastic product - easy to use and so efficient.
Debra Celmer
Excel is at its best now
Annie C.
I don't know how to thank you enough for your Excel add-ins
Jennifer Morningstar
Anybody who experiences it, is bound to love it!
Kumar Nepa
It's the best $100 we've ever spent!
Mike Cavanagh
I love the program, and I can't imagine using Excel without it!
Robert Madsen
One word… WOW!
Dave Brown
Love the products!
David Johnston
It is like having an expert at my shoulder helping me…
Linda Shakespeare
Your software really helps make my job easier
Jeannie C.
Thanks for a terrific product that is worth every single cent!
Dianne Young
I love your product
Brad Gibson
Awesome!!!
Sheila Blanchard