Count rows using 2 same criteria points in 1 range OR another
Hello! Struggling with formula/function syntax... I'm trying to get a count of projects that fall within a calendar year (i.e. had an active contract at any point during the year) using the start & end date of their contracts. Essentially, if the contract start date OR the contract end date is on or after 1/1 and on or before 12/31, it falls within that year. So the criteria would be EITHER ({Contract Start Date} >= 1/1/23 AND {Contract Start Date} <= 12/31/23) OR ({Contract End Date} >= 1/1/23 AND {Contract End Date} <= 12/31/23) .... But I can't figure out how to get that in a formula.
The following is basically half of what I need:
=COUNTIF({Contract Start}, AND(@cell >= DATE(2023, 1, 1), @cell <= DATE(2023, 12, 31)))
This just gets me just the ones that started within 2023. Using the same exact formula but with Contract End as the reference would get the ones that ended within 2023.
But I can't start COUNTIF with "OR" so that it's looking at Start OR End... and I can't use OR on the criteria part of the formula because that's where I need AND (it's 2 different ranges but the same criteria for both)... and I can't start the whole formula with OR to do two different COUNTIF functions, since OR has to be nested within another function... And COUNTIFS would only get me the ones that started AND ended in 2023. I tried combining COUNT with COLLECT but that didn't work either, even when I changed the range (I thought maybe it didn't want to collect dates for a count so I changed it to look at a text field instead).
Thanks in advance for your help!
Leslie
Best Answer
-
Update: I figured out a solution -- count the ones that start in 2023, the ones that end in 2023, and then subtract the ones that start AND end in 2023 so they're not double counted:
=(COUNTIF({Contract Start}, AND(@cell >= DATE(2023, 1, 1), @cell <= DATE(2023, 12, 31)))) + (COUNTIF({Contract End}, AND(@cell >= DATE(2023, 1, 1), @cell <= DATE(2023, 12, 31)))) - COUNTIFS({Contract Start}, @cell >= DATE(2023, 1, 1), {Contract Start}, @cell <= DATE(2023, 12, 31), {Contract End}, @cell >= DATE(2023, 1, 1), {Contract End}, @cell >= DATE(2023, 12, 31))
Answers
-
I advise helper rows maybe a bit too much on here, but...
Option 1: gives you a bit more data to play with, if that's helpful
Helper column 1 = year(contract start date@row) helper column 2 = year(contract end date@row)
helper column 3 = if(helper col 1=2023, 2023, if(helper col 2=2023, 2023, year(contract end date)))
Option 2: cleaner, smaller version of the same thing
Helper column =if(year(start date)=2023, 2023, if(year(end date)=2023, 2023, year(end date)))
Then for both options, just count the 2023s in the helper column. You would have to go in and change the formula every year unless you made it more robust, or made it depend on summary data fields.
-
Update: I figured out a solution -- count the ones that start in 2023, the ones that end in 2023, and then subtract the ones that start AND end in 2023 so they're not double counted:
=(COUNTIF({Contract Start}, AND(@cell >= DATE(2023, 1, 1), @cell <= DATE(2023, 12, 31)))) + (COUNTIF({Contract End}, AND(@cell >= DATE(2023, 1, 1), @cell <= DATE(2023, 12, 31)))) - COUNTIFS({Contract Start}, @cell >= DATE(2023, 1, 1), {Contract Start}, @cell <= DATE(2023, 12, 31), {Contract End}, @cell >= DATE(2023, 1, 1), {Contract End}, @cell >= DATE(2023, 12, 31))
-
@Austin Smith Just saw your comment - thank you so much!
-
NP. Nice fix!
Help Article Resources
Categories
- All Categories
- 14 Welcome to the Community
- Customer Resources
- 65.1K Get Help
- 444 Global Discussions
- 142 Industry Talk
- 472 Announcements
- 5K Ideas & Feature Requests
- 83 Brandfolder
- 150 Just for fun
- 71 Community Job Board
- 489 Show & Tell
- 33 Member Spotlight
- 2 SmartStories
- 301 Events
- 36 Webinars
- 7.3K Forum Archives
Check out the Formula Handbook template!