Please Note: This article is written for users of the following Microsoft Excel versions: 2007, 2010, 2013, and 2016. If you are using an earlier version (Excel 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Excel, click here: Counting Times within a Range.

Counting Times within a Range

by Allen Wyatt
(last updated July 8, 2017)

6

William has a list of times in column A. He needs a way to find how many of the times fall within a time range, such as between 8:30 am and 9:00 am. He tried using COUNTIF and a few other functions, but couldn't get the formulas to work right.

There are actually a few different ways you can count the times within the desired range, including using the COUNTIF function. In fact, here are two different ways you could construct the formula using COUNTIF:

=COUNTIF(A1:A100,">="&TIME(8,30,0))-COUNTIF(A1:A100,">"&TIME(9,0,0))
=COUNTIF(A1:A100,">=08:30")-COUNTIF(A1:A100,">09:00")

Either one will work fine; they only differ in how the starting and ending times for the range are specified. The key to the formulas is to grab a count of the times that are greater than the earliest boundary of the range and then subtract from that the times that are greater than the upper boundary.

You can shorten the formula by using the COUNTIFS function instead:

=COUNTIFS(A1:A100,">=8:30",A1:A100,"<=9:00")

You could also use the SUMPRODUCT function to get the desired result, in this manner:

=SUMPRODUCT((A1:A100>=8.5/24) * (A1:A100<=9/24))

This approach only works if the values in the range A1:A100 contain only time values. If there are dates stored in the cells as well, then it may not work because of the way that Excel stores dates internally. If the range does include dates, then you need to modify the formula to take that into account:

=SUMPRODUCT((ROUND(MOD(A1:A100,1),10)>=8.5/24) * (ROUND(MOD(A1:A100,1),10)<=9/24))

Finally, you could skip formulas altogether and use Excel's filtering capabilities. Apply a custom filter and you can specify that you only want times within the range you need. These are then displayed and you can easily count the results.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (12398) applies to Microsoft Excel 2007, 2010, 2013, and 2016. You can find a version of this tip for the older menu interface of Excel here: Counting Times within a Range.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He  is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Editing a Hyperlink

Excel will cheerfully keep track of all sorts of hyperlinks for you. If you want to change the hyperlink in some way, don't ...

Discover More

Adding a Report

The Report Manager allows you to create specialized reports that can be easily printed from your worksheet data. This tip ...

Discover More

Converting from Open Office to Word

If you have a number of documents in Open Office format, you may want to work with them in Word. There are several ways that ...

Discover More

Professional Development Guidance! Four world-class developers offer start-to-finish guidance for building powerful, robust, and secure applications with Excel. The authors show how to consistently make the right design decisions and make the most of Excel's powerful features. Check out Professional Excel Development today!

More ExcelTips (ribbon)

Dealing with Small Time Values

It is no secret that you can store time values in an Excel worksheet. But do you really know how small of a time value you ...

Discover More

Using Excel for Timing

Excel allows you to store times in a worksheet. If you want to use Excel to time certain events, there are a couple of ways ...

Discover More

Shortcut to Enter GMT

Entering the current time into a cell is easy, as Excel provides a built-in shortcut to accomplish the task. Here's a ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is four less than 9?

2017-10-30 06:52:41

sai Kiran

There is a request in my project that need to know how many test steps are executed in 24 hours time ( I.e. Austin TX time zone)

Count of steps should be calculated between Yesterday 4:00 PM PST till today 3:59 PM PST

I will get raw data in excel like 'execution date' in one column and 'execution time' in next column .

Please help me on this and do let me know if you need further details.


2017-09-17 22:08:25

bob

I have tried the formulas listed above and only the sumproduct formula will count multiple cells containing the exact same time.


2017-09-07 19:08:28

Harish

I need the total number of cells in sheet1 Column A that are less than 16 hours in sheet 2 F7 cell.

For Ex
Sheet 1 Column A
2017/08/10 03:00:00
2017/07/01 00:00:00
2017/09/08 00:00:00
2017/09/08 02:00:00

Now Date & Time is 2017/09/08 14:00:00

Sheet 2 F7 cell should show 3

Now Date & Time is 2017/09/08 18:01:00

Sheet2 F7 cell should show 4.

Sheet 2 F7 cell should automatically update.


2017-07-20 10:41:48

Peter

Saura,

I wasn't prompted to upload my image so.

B5:D5 contained the times 8:00, 12:00 and 18:00

The formulas return 1 if they meet the criterion so we can use a simple sum in the range B3:D3


2017-07-20 10:34:33

Peter Atherton

Saura

I used the following formulas
Cell Formulas
B1 =TODAY()
D1 =B1-90
B6 =IF(LEN(A6)=0,"",IF(AND(A6>$D$1,$A6-INT($A6)>=B$5,$A6-INT($A6)<C$5),1,""))
C6 =IF(LEN(A6)>0,IF(AND($A6>$D$1,$A6-INT($A6)>=C$5,$A6-INT($A6)<D$5),1,""),"")
D6 =IF(LEN(A6)=0,"",IF($A6<$D$1,"",IF(OR($A6-INT($A6)>=D$5,$A6-INT($A6)<($B$5)),1,"")))
B3 =SUM(B$6:B$101)

Hope this helps
{{Fig}}



2017-07-19 10:19:34

Saura Tripathy

HI,

Very nice article. I stumbled upon this page while looking for a solution for time calculation. I have been tasked with data to find out how many tickets we received during AM, PM and Night hours for last 90 days. I searched a lot of articles now. But not been able to find any solution so far. It would be great in case you could help. (see Figure 1 below)

The date and time (Eg. 7/17/2017 10:40:54 PM) are mentioned in a single column with random dates for last 90 days. If I convert the times to proper format, I'll loose the date value. Attached a screenshot to explain the requirement. Appreciate any help or suggestion.

Regards,
SJ

Figure 1. 


This Site

Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.