Excel conditional formatting formulas based on another cell

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.

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 conditional formatting based on another cell value

Excel's predefined conditional formatting, such as Data Bars, Color Scales and Icon Sets, are mainly purposed to format cells based on their own values. If you want to apply conditional formatting based on another cell or format an entire row based on a single cell's value, then you will need to use formulas.

So, let's see how you can make a rule using a formula and after discuss formula examples for specific tasks.

How to create a conditional formatting rule based on formula

To set up a conditional formatting rule based on a formula in any version of Excel 2010 through Excel 365, carry out these steps:

  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. On the Home tab, in the Styles group, 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.

Tip. Whenever you need to edit a conditional formatting formula, press F2 and then move to the needed place within the formula using the arrow keys. If you try arrowing without pressing F2, a range will be inserted into the formula rather than just moving the insertion pointer. To add a certain cell reference to the formula, press F2 a second time and then click that cell.

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
Between =AND($B2>5, $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. To see how this works in practice, watch Video: Conditional formatting based on another cell.

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

In this particular case, the "Stop if true" option is actually superfluous, and the rule will work with or without it. You may want to check this box just as an extra precaution, in case you add a few other rules in the future that may conflict with any of the existing ones.

For more information, please see Excel conditional formatting for blank cells.

Excel formulas to work with text values

If you want to format a certain column(s) when another cell in the same row contains a certain word, you can use a formula discussed in one of the previous examples (like =$D2="Worldwide"). However, this will only work for exact match.

For partial match, you will need to use either SEARCH (case insensitive) or FIND (case sensitive).

For example, to format selected cells or rows if a corresponding cell in column D contains the word "Worldwide", use the below formula. This formula will find all such cells, regardless of where the specified text is located in a cell, including "Ships Worldwide", "Worldwide, except for…", etc:

=SEARCH("Worldwide", $D2)>0

If you'd like to shade selected cells or rows if the cell's content starts with the search text, use this one:

=SEARCH("Worldwide", $D2)>1
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

Highlight consecutive duplicates in Excel

If you'd rather highlight only duplicates on consecutive rows, you can do this in the following way. This method works for any data types: numbers, text values and dates.

  • Select the column where you want to highlight duplicates, without the column header.
  • Create a conditional formatting rule(s) using these simple formulas:
    Rule 1 (blue): =$A1=$A2 - highlights the 2nd occurrence and all subsequent occurrences, if any.
    Rule 2 (green): =$A2=$A3 - highlights the 1st occurrence.

In the above formulas, A is the column you want to check for dupes, $A1 is the column header, $A2 is the first cell with data.

Important! For the formulas to work correctly, it is essential that Rule 1, which highlights the 2nd and all subsequent duplicate occurrences, should be the first rule in the list, especially if you are using two different colors.
Highlighting consecutive duplicates in Excel

Highlight duplicate rows

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 formula for duplicates (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

Alternatively, you can use the COUNTIFS function that supports multiple criteria in a single formula. In this case, you won't need a helper column.

In this example, to highlight duplicate rows with 1st occurrences, create a rule with the following formula:
=COUNTIFS($A$2:$A$11, $A2, $B$2:$B$11, $B2)>1

To highlight duplicate rows without 1st occurrences, use this formula:
=COUNTIFS($A$2:$A2, $A2, $B$2:$B2, $B2)>1

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, 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

How to highlight the nearest value in Excel

If I have a set of numbers, is there a way I can use Excel conditional formatting to highlight the number in that set that is closest to zero? This is what one of our blog readers, Jessica, wanted to know. The question is very clear and straightforward, but the answer is a bit too long for the comments sections, that's why you see a solution here :)

Example 1. Find the nearest value, including exact match

In our example, we'll find and highlight the number that is closest to zero. If the data set contains one or more zeroes, all of them will be highlighted. If there is no 0, then the value closest to it, either positive or negative, will be highlighted.

First off, you need to enter the following formula to any empty cell in your worksheet, you will be able to hide that cell later, if needed. The formula finds the number in a given range that is closest to the number you specify and returns the absolute value of that number (absolute value is the number without its sign):

=MIN(ABS(B2:D13-(0)))

In the above formula, B2:D13 is your range of cells and 0 is the number for which you want to find the closest match. For example, if you are looking for a value closest to 5, the formula will change to: =MIN(ABS(B2:D13-(5)))

Note. This is an array formula, so you need to press Ctrl + Shift + Enter instead of a simple Enter stroke to complete it.

And now, you create a conditional formatting rule with the following formula, where B3 is the top-right cell in your range and $C$2 in the cell with the above array formula:

=OR(B3=0-$C$2,B3=0+$C$2)

Please pay attention to the use of absolute references in the address of the cell containing the array formula ($C$2), because this cell is constant. Also, you need to replace 0 with the number for which you want to highlight the closest match. For example, if we wanted to highlight the value nearest to 5, the formula would change to: =OR(B3=5-$C$2,B3=5+$C$2)
Highlight the closest value to a given number, including that number

Example 2. Highlight a value closest to the given value, but NOT exact match

In case you do not want to highlight the exact match, you need a different array formula that will find the closest value but ignore the exact match.

For example, the following array formula finds the value closest to 0 in the specified range, but ignores zeroes, if any:

=MIN(ABS(B3:C13-(0))+(10^0*(B3:C13=0)))

Please remember to press Ctrl + Shift + Enter after you finished typing your array formula.

The conditional formatting formula is the same as in the above example:

=OR(B3=0-$C$2,B3=0+$C$2)

However, since our array formula in cell C2 ignores the exact match, the conditional formatting rule ignores zeroes too and highlights the value 0.003 that is the closest match.
Highlight a value closest to the given value but ignore the exact match

If you want to find the value nearest to some other number in your Excel sheet, just replace "0" with the number you want both in the array and conditional formatting formulas.

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. Use absolute & relative cell addresses correctly. 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 your cell references, e.g. =$A1>1.

    Please keep in mind that the formulas =A1=1, =$A$1=1 and =A$1=1 will produce different results. If you are not sure which one is correct in your case, you can try all : ) For more information, please see Relative and absolute cell references in Excel conditional formatting.

  2. Verify the applied range. Check whether your conditional formatting rule applies to the correct range of cells. A rule of thumb is this - select all the cells / rows you want to format but do not include column headers.
  3. Write the formula for the top-left cell. In conditional formatting rules, cell references are relative to the top-left most cell in the applied range. So, always write your conditional formatting formula for the 1st row with data.

    For example, if your data starts in row 2, you put =A$2=10 to highlight cells with values equal to 10 in all the rows. 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. Check the rule you created. 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. Adjust cell references when copying the rule. If you copy Excel conditional formatting using Format Painter, don't forget to adjust all cell references in the formula.
  6. Split complex formulas into simple elements. 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!

1701 comments

  1. Hi,

    I need your help in order to conditional format some cells based on the following example :

    If in cell A7 I have the value 03-Aug-2016 (as a date), then the following cells must be filled as this : cell T7 to be green if the cell A7 is 24 hours due , cell U7 to be yellow if the cell A7 is 14 days due and cell V7 to be red if the cell A7 is 30 days due (A7+24 hours = T7 turns green and so on..).

    Can you help me please ?
    Thank you in advance.

    Can someone help me with this, please?

    Thank you in advance!

  2. Hi can you possibly help ?
    I am struggling - thats an understatement.

    I'm looking to highlight maximum and next maximum figure in a col when another col has a figure greater than 4.

    (col A had set of figures greater and less than 4 whilst col B has set of figures that maximum 2 need to be highlighted )

    thanks - much appreciated

    Alex

  3. Hi Svetlana,

    I have some data in a spreadsheet across a number of rows and columns that details absence. This is recorded as either A or AA depending on if the absence is authorised or not. I want to be able to conditionally format the totals column at the end of the sheet to highlight a cell when there are 2 consecutive columns in that row with an A or AA in them.

    I thought I had it with this: =OR(AND(B8="A*",C8="A*"),AND(C8="A*",D8="A*"),AND(D8="A*",E8="A*"),AND(E8="A*",F8="A*"),AND(F8="A*",G8="A*"),AND(G8="A*",H8="A*"),AND(H8="A*",I8="A*"))

    but it doesn't work. I now know that this is because the wildcards don't work in the conditional formatting formula but I don't know how to fix it. Help!

    Thanks,

    Anna

  4. Hello Mam,
    How we sum of these coloumn in z1 (A1, C1, E1, G1,...........x1) in coloumn of Z1

  5. dear mam, your blog is excellent!
    i've to create a formula for a condition;
    i've a column A in sheet 1 of students name with adjacent column B with students admission no. of year 2015, again i've a column A in sheet 2 with students name admitted in year 2016 with adjacent column with students admission no.i want to highlight the student name entered in sheet 2 if it is admitted in previous year, with his/her admission no. in adjacent column automatically. by conditional formating with formula =countif()>1 i've done it but i cannot entered automatically admission no.
    plz give the complete solution. thank you!

  6. Hi Svetlana,

    I was wondering if I could use this function to highlight in yellow a range of cells based on a customer number?

    Thanks in advance for your help!
    Jim

    • Hi Jim,

      Sure, you can. If you explain the task in more detail, I may be able to suggest an appropriate formula.

  7. I am having difficulty conditionally formatting a cell that has to meet several conditions. First the column name (ID number) has to match 1 of 5 other cells and second the formula in the cell has yielded an "X".

    I have tried numerous conditional format formulas but have not found the one that works. The formula the subject cell calculates to display either an "X" or " ". I need to highlight the "X" if the column ID number matches one of five other cells.

  8. Hi I am trying to design a sheet, that in say sheet1 has names of customers and in the second column a list of their purchases, so in sheet 2 when their name is typed it will bring up their purchase (if you know what I mean)

  9. Hi, I am trying to design a sheet where in another sheet(sheet 1) there will be a list of all persons names and in another column a list of they purchase, so on a new sheet(sheet 2) when a persons name is entered in a box their purchase is shown beside it

  10. Hello,
    I'm trying to auto-highlight a spreadsheet. Column A is the Company Name, B is Invoice #, C is Amount, D is Due Date, and E is Date Paid. I'm using the following rules already:
    Highlight Red if past due: =NOW()
    Highlight Yellow if due within 7 days: =NOW()+7
    Leave blank if no value in Due Date: =ISBLANK(A1)=TRUE

    I need to know the formula to highlight the entire row GREEN if a date is entered in Column E.

    Thanks!
    Jenny

    • Oh, the formulas that I'm already using are highlight column D only.

    • Solved it!

      I created a new column that "Paid?" and used this formula so when you enter "Yes" in the paid column it highlights the entire row green.

      =$E1="YES"

  11. How do I create conditional formatting that calls out if a cell value is less than either the cell above or the cell to the left? Example is below - cell D4 is less than D3 and C4.

    A B C D
    1 31.60 33.35 36.00 38.55
    2 32.75 32.80 37.80 40.55
    3 33.90 36.10 39.60 42.45
    4 34.60 36.85 40.65 40.35
    5 35.55 38.10 42.10 45.05

  12. Dear mam, how to color the new entry data by not showing the data. For example. You will enter "1" in the cell, if you enter one activity but instead of "1" appears, that cell data will be blank colored.

  13. Hello,

    I want to relate one cell to Another for example in cell B4 i have two Options Currencies like USD and AED now in the next cell B5 when i enter an amount it should be related with B4 if USD is selected than the format for that cell should be $ and when AED is selected in B4 than automatically B5 format should be for AED. Please help me with giving proper formula

  14. Hello,
    I inherited a spreadsheet worth of 10+ years of data, but someone got into it and messed with it, so now the condition not working properly any more. I'm a newbie to conditional formatting, I need help to fix it, please!
    It's a big file, contains thousands of row and dozens of column. And here is what I need:

    if any cell in column K contain a specific text "WAT", then in that same row, cell B, C, G, and K will be fill with color. How do I format this? thank you in advance!!

  15. Hi ,

    Is there any formula for this question below :

    cell 1 will have month of feb 2016 entered

    cell 2 will have month march 2016 entered

    cell 3 will have month dec 2015 entered

    is it able to cross check within 3 cells whether the date in each cells is consecutively 3 months based on the dates if not need to appear the cells in red colour .

  16. Need to cover a row with hash marks to blank it out when wrong part number is listed. Problem is the following formula works when X is added in one cell but not the other.
    Row A37:F37 is covered by blue hashes if X is in A7 and C12 = TT60000678-
    Part number in C12 is entered by formula when X is put in A7
    To change part number in C12 requires an X in D22 or E22. Formula for this is in C12 .
    =IF(AND(OR(D22="X",E22="X"),A7="X"), "TT60003571-",IF(AND(A7="X",(E4=293,E4=701,E4=601,E4=731),"TT60002639-", ""))))))

    Conditional Formatting Formula for adding blue hash marks in A37:F37 works fine when X is put in E22.
    It does not work when X is put in D22

    I am using excel 2010. Have had this problem in the past with other formulas/configurations. W
    Have used similar formulas in earlier versions of Excel and did not have this problem.

  17. Hi, Can you help me with this?

    I am preparing a system so staff members can build part numbers based on certain questions which I have embedded into "drop down lists".

    My issue is that I have two questions which require a different drop down list to appear based on the answer of the previous question.

    Example question 1, please chose C or SS.

    Question 2
    Please choose size.

    If they chose "SS" on question 1, I want to offer a drop down list with values from 2-10 on question 2
    If they chose "C" on question 1, I want to offer a different drop down list offering values 11-20

    So if Cell C5 = C I want drop down list A
    If cell C5 = SS I want drop down list B

    Is this possible?

    Many thanks,

    Kyle

  18. Hello Svetlana, I have a worksheet there are many columns like column A, B,C,D etc. Column A have Product ID, Column B have Product Description C got 1 date of month D got 2 date of month as on and last column got closing stock. i got values from some columns in this worksheet from another worksheet using formula. but the problem is that on a specific date it got values for that dates columns and rest all columns got 0 value. I want when a column got values from formula is got paste special at a specific time (11 am) automatically, so that on next day when the current day's value updated on respective column last days value did not change.

    could you help me on this.

    Thanks

  19. I am trying to apply conditional formatting based on the value in other cell. Condition is if column J has specific text (from the list) row to be highlighted yellow. If columns K, L, M, N have any text, then row should have not color. I am able to format this based on the numbers in columns K, L, M, N not the text. Please help.

  20. I have two columns, F and H. I put a 1 in F if the application is approved and the H column equals the number of times an application has been submitted by someone. in column H, i want the cell to highlight green when the application is approved on the first attempt (f=1 and h=1). When applying the conditional formatting, I can get it to work if I set it up for a single cell ie =and(h5=1, f5=1) and applies to $h$5 but I want to apply this formatting to the entire H Column. If I change the formulat to =and(h:h=1, F;F=1) and apply it to =$h$h, no cells are highlighted. Can you help me tweak my formula to do this?

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 :)