Check if two ranges of dates overlap [Excel Formulas]

Share

Facebook
Twitter
LinkedIn

Check if two ranges of dates overlap using excel formulasWhile preparing a project plan, I had a strange problem. I wanted to highlight all the project tasks that fall with-in a certain date range. At the lowest level, the problem is like this:

There are 2 ranges of dates (a,b) and (x,y) and I want to know if they overlap (ie at least one date common between a,b and x,y)

The formula for testing such a thing seemed tricky at first. So I drew the conditions on paper to get clarity on what we should test. Evidently, there are 4 ways in dates (a,b) can overlap with dates (x,y) as shown below:

Conditions to check if two sets of dates overlap

Now, we can test for the overlap condition using a formula like this:

If x is between a and b
or a is between x and y
then overlap
else do not overlap

As you know, there is no formula in excel like isbetween(). So we have to break it up to 2 conditions and an AND() Formula. Finally the formula becomes,

=if(or(and(x>=a,x<=b),and(a>=x,a<=y)),"Overlap","Do not overlap")

Now, it seemed like quite a big formula for testing if 2 ranges of dates overlap.

So, I continued my quest for even shorter formula.

After sometime, I realized that if we test for non-overlap instead of overlap, we can write a shorter formula.

Do not understand? Let me explain.

While there are 4 ways in which (a,b) can overlap with (x,y), there are only two ways in which (a,b) cannot overlap with (x,y). See this to understand:

Conditions to check if two sets of dates do NOT overlap

Now, testing above conditions is very straight forward in excel.

the formula becomes, =if(or(y<a,b<x),"Do not overlap","Overlap")

The formula is much shorter and easy to maintain.

I was able to use it to test if a set of tasks in the project plan are running between given dates (for eg. next week). All is well in the end.

How do you test overlap conditions?

Do you ever have to test overlap conditions? What kind of formulas have you used? Please share your formula tips & tricks using comments.

Further Learning:

Facebook
Twitter
LinkedIn

Share this tip with your colleagues

Excel and Power BI tips - Chandoo.org Newsletter

Get FREE Excel + Power BI Tips

Simple, fun and useful emails, once per week.

Learn & be awesome.

Welcome to Chandoo.org

Thank you so much for visiting. My aim is to make you awesome in Excel & Power BI. I do this by sharing videos, tips, examples and downloads on this website. There are more than 1,000 pages with all things Excel, Power BI, Dashboards & VBA here. Go ahead and spend few minutes to be AWESOME.

Read my storyFREE Excel tips book

Overall I learned a lot and I thought you did a great job of explaining how to do things. This will definitely elevate my reporting in the future.
Rebekah S
Reporting Analyst
Excel formula list - 100+ examples and howto guide for you

From simple to complex, there is a formula for every occasion. Check out the list now.

Calendars, invoices, trackers and much more. All free, fun and fantastic.

Advanced Pivot Table tricks

Power Query, Data model, DAX, Filters, Slicers, Conditional formats and beautiful charts. It's all here.

Still on fence about Power BI? In this getting started guide, learn what is Power BI, how to get it and how to create your first report from scratch.

10 Responses to “Multiple Find Replace with Power Query List.Accumulate()”

  1. Ola says:

    Note: The text-formula above miss a -1. The video is correct.

  2. Ola says:

    😀 sorry, I made the exact same mistake as you did - initially - in the video. {0..3} is one thing, and Table.RowCount(replacements) -->3 items ={0,1,2} is another thing.

  3. yassine says:

    1st question : you've created a new column to put the replacements in. how ca we replace in the original column without creating a new one ?

    2nd question : how can we replace the value in the entire cell and not only the text (Using ReplaceValue instead of text.Replace) ?

    Thanks you in advance

  4. Noah says:

    Thank you for this! I was just doing an assignment where I was having to replace words with other words in my Excel sheet. We are starting with the basics in my class, so I know I don't have a huge list that I would need to find and replace, but this is something that could be useful down the road for me!

  5. Nick Ryder says:

    Hi

    This is nearly perfect for my needs thank you, however I would like just the "replace" to be the result if possible please, I have tried in vain adjusting the formula without success.

    Thank you in advance

  6. Huisie says:

    Thank you! Awesome tip, and very flexible, too.

    My find/replace values were in non-adjacent columns of a table containing a bunch of other data. Worked prefectly and I am now a tiny bit less clueless.

  7. Renata says:

    Hi!!!

    I have the same question that Yassine did.

    I need to replace the values in the same column. I don't want to create a new column e then have to remove the old column.
    How could I could that?

  8. That's a real fun article. It inspired me to delve deeper into the topic of List.Accumulate. I can see how the function works, but it takes an additional step to imagine how one can use it for more complex applications.

    Your example also made it into my article, together with some other use-cases. Would be great to get your opinion on which other areas you would include in the article.

    Let me drop the link to the page so others can too find it for further reading: https://gorilla.bi/power-query/list-accumulate/

  9. Muhannad says:

    Expression.Error: The name 'replacements' wasn't recognized. Make sure it's spelled correctly.

Leave a Reply