Celebrate 'The VLOOKUP Book' birthday with us. Get 50% discount on the e-book today & tomorrow (30 & 31 October only).

Click here for details

Highlighting Repeat Customers using Conditional Formatting [Part 2 of 2]

Posted on January 6th, 2010 in excel apps , Learn Excel - 10 comments

This is second part of 2 part series on conditionally formatting dates in excel.

Highlighting Repeat Customers using Conditional FormattingIn yesterday’s post we have learned how to conditionally format dates using excel. In this article, you will learn how to use these conditional formatting tricks to highlight repeat customers in a list of sales records.

The problem: Highlighting repeated customers in a list

Let us say you run a small retail store. And you want to give special discounts to all the repeat customers.

Repeat customer is someone who bought at least twice from you in last 30 days. (If the person bought twice but the gap between 2 purchases is more than 30 days they are not repeat customers).

The Data:

Let us assume your sales data has these 2 columns  – customer ID and purchase date. I have shown first few rows here. Let us assume the data is in the range B4:C53.

Highlighting Repeat Customers using Conditional Formatting - DATA

Finding if a customer is repeat – The Formula:

If we just want to highlight without considering the purchase dates,

we can use a simple formula like =COUNTIF($B4:$B53,$B3)>1 in the conditional formatting applied over the range B4:C53.

But we need to consider the date as well,

hmm, now that is tricky !??

May be time for a sip of that coffee. Go take it, I am waiting..,

How about the SUMPRODUCT? We all know that sumproduct formula can be used to test more than one condition.

The formula:

=IF(C4>TODAY()-30,IF(SUMPRODUCT(--($B$4:$B$53=B4),--($C$4:$C$53>(TODAY()-30)))>1,"R","N"),"N")

Now that is one lengthy badass formula. Like Sergeant Martin Riggs. Bad, but still cool.

So what is this formula really doing? It is going to give us “R” if a customer is repeat and “N” if not. See this explanation to understand how it works.

Highlighting Repeat Customers using Conditional Formatting - Formula

Note: the double dashes “–” make the values as 0s and 1s from a bunch of “trues” “falses”. To know why sumproduct is such a beautiful and robust formula look no further.

The Conditional Formatting

Now that you have figured out the formula to determine a customer is repeat or not, applying conditional formatting is a piece-o-cake.

Just select the range B4:C53, go to conditional formatting and select “formula” option. Now specify the above formula and check if its output is “R” and apply formatting.

I am not telling you how to do this. It is your homework. Go figure!

That is all. Your workbook now highlights repeat customers in the last 30 days. Remember, as you reopen the file a week later, the highlighting logic changes since the date has changed.

Download the example workbook

Click here to download the example workbook and understand how to highlight repeat customers using conditional formatting. The file works in Excel 2003+.

What is your experience?

Share your tips and ideas on using conditional formatting with dates. What are the situations you usually face and how to solve them? I am never too old for this, so please share.

Learn more about conditional formatting

Your email address is safe with us. Our policies

Written by Chandoo
Tags: , , , , , , , , , , , ,
Home: Chandoo.org Main Page
? Doubt: Ask an Excel Question

10 Responses to “Highlighting Repeat Customers using Conditional Formatting [Part 2 of 2]”

  1. Martin says:

    Looks like you’re sitting next to me at work !!!

    I’ve read about finding duplicates (I believe in Debra’s Contextures), and now I am just comparing info from 2 different spreadsheets, finding not only duplicates within each sheet, but also if the sum of each single item matches the corresponding on the other sheet…
    Kind of nesting duplicates…..!!!

    since I am using 2003, I found much useful to add a column with the duplicate flag rather than the conditional formatting, but still, it helps visualizing them.

    Great post !!

    Rgds,

    Martín.

  2. Chandoo says:

    @Martin… enough commenting, lets go for a coffee.

    thanks, I am glad you like this.

  3. Martin says:

    Lol !!!

    any suggestions on how to approach this badass job? kinda programming 101, but still, it’s taking me A LOT of time to figuring it out….

  4. Elias says:

    I think you can avoid the 1st IF and get the same results.

    =IF(SUMPRODUCT(–($B$4:$B$53=B4),–($C$4:$C$53>(TODAY()-30)))>1,”R”,”N”)

    Regards

  5. Venus Childress says:

    Very nice! I especially like that you broke down the formula.
    Great start for the new year ;)

  6. Chandoo says:

    @Elias: No, without the first IF condition, all the customer records older than 30 days (ie purchases in previous months) will also be highlighted.

    @Venus.. thank you.

    @Martin: Are you looking for a formula that would calculate the sum of values? You can use the SUMIF for that if there is only one criteria. Otherwise use SUMPRODUCT almost in the same way as above. See this sumproduct tutorial if you have doubts. http://chandoo.org/wp/2009/11/10/excel-sumproduct-formula/

  7. Elias says:

    @Chando: Records older than 30 days won’t be count because the second condition of the SUMPRODUCT formula. –($C$4:$C$53>(TODAY()-30))

    Regards

  8. Chandoo says:

    @Elias… agree, but this wont work for us in this situation because even if customer becomes “repeat” in December, his ID will be highlighted against November dates as well. That is why I used the second IF. But if you just select all the highlighted customers and get a unique list out of it, they all should be same.

  9. Istiyak says:

    Nice job by chandoo and team….at a time i want 2 know more n more about excel and become awesome as ur noume

  10. The Doctor says:

    I like this formula, but I’m wanting to use it to do something slightly different.  I have a vast list of job numbers, and on occasion we end up with duplicates when one is cancelled for whatever reason. Sometimes because the job truly is cancelled, other times it is accidentally input into the system twice so one of them is cancelled. So we run a report that shows a list of cancelled jobs. I want to highlight any of the jobs on the cancelled list, that also appear on the active jobs list. But here’s where the coffee (or chai) becomes necessary; the job number may be duplicated on a different projects, so I would have to ensure that if the job # in cell B2 and the project in cell C2 both appear on the same row on page2 columns A & B, highlight B2 green.  I think the badass formula is close to what I need, but I don’t know how to alter it the way I need.
     
    Thanks in advance for your help,
    The Doctor

Leave a Reply