**Please Note: **
This article is written for users of the following Microsoft Excel versions: 2007, 2010, and 2013. 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: Summing Only the Largest Portion of a Range.

Christian has a range of 18 cells that contain values. He would like to find the sum of the 12 largest values in that range and wonders how to accomplish the task.

There are several ways you can approach this problem. You could, for instance, filter the values so you only have the top twelve values, and then sum those. Other approaches involve using additional columns to store intermediate values, but I'll assume that you would prefer an approach that didn't use additional columns.

To start, let's assume that your range of 18 cells is A1:A18. You can use the LARGE function to find the largest values. For instance, using this formula would find the second-largest value in the range:

=LARGE(A1:A18,2)

It is the function's second parameter that specifies which largest value, in order, you want. Thus, you could find out the sum of the 12 largest values by using a formula such as this:

=LARGE(A1:A18,1)+LARGE(A1:A18,2)+LARGE(A1:A18,3)+LARGE(A1:A18,4) +LARGE(A1:A18,5)+LARGE(A1:A18,6)+LARGE(A1:A18,7)+LARGE(A1:A18,8) +LARGE(A1:A18,9)+LARGE(A1:A18,10)+LARGE(A1:A18,11)+LARGE(A1:A18,12)

There are shorter formulas you can use to accomplish the task, however. For instance, you could simply subtract the six smallest values from the sum of the range, in this manner:

=SUM(A1:A18)-SMALL(A1:A18,1)-SMALL(A1:A18,2)-SMALL(A1:A18,3) -SMALL(A1:A18,4)-SMALL(A1:A18,5)-SMALL(A1:A18,6)

You can also, if you desire, use the SUMIF function to do a comparison of the values and sum them only if the criterion you specify is met. For instance, consider these two formulas:

=SUMIF(A1:A18,">="&LARGE(A1:A18,12)) =SUMIF(A1:A18,">"&SMALL(A1:A18,6))

The first formula will sum all the values that are greater than or equal to the twelfth largest value in the range. The second is similar in effect; it sums all the values that are greater than the sixth smallest value.

These two formulas work great if there are no duplicate values at the "boundary" established. If, however, there are more than one value that qualify as the twelfth largest or the sixth smallest, then the formulas won't return the sums you expect. In the first formula the sum will be too large (since all of the duplicate values are added to the sum) and the second formula the sum will be too small (since all of the duplicate values are excluded from the sum).

The way around this is to either go back to one of the earlier formulas (the ones that don't use SUMIF), or modify the SUMIF formula so that it takes the possibility of duplicate values into account:

=SUMIF(A1:A18,">"&LARGE(A1:A18,12))+LARGE(A1:A18,12) *(12-COUNTIF(A1:A18,">"&LARGE(A1:A18,12)))

Perhaps the best formula to get the desired result places a twist on the earlier use of the LARGE function:

=SUM(LARGE(A1:A18,{1,2,3,4,5,6,7,8,9,10,11,12}))

This formula uses an array (the part within braces), but it is not an array formula. What it does is to use the array as the second parameter of the LARGE function, thus returning all twelve largest values. These are then summed and a single value returned.

*ExcelTips* is your source for cost-effective Microsoft Excel training.
This tip (9422) applies to Microsoft Excel 2007, 2010, and 2013. You can find a version of this tip for the older menu interface of Excel here: **Summing Only the Largest Portion of a Range**.

**Create Custom Apps with VBA!** Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out *Mastering VBA for Office 2013* today!

Want to figure out how far it is between two points on the globe? If you know the points by latitude and longitude, you can ...

Discover MoreIf you have a mixture of numbers and letters in a cell, you may be looking for a way to access and use the numeric portion of ...

Discover MoreThe primary way you signify that you are entering a formula is to start a cell entry with an equal sign. The equal sign is ...

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

2016-02-07 11:15:51

Bob Snow

I am building a very comprehensive rota for crew onboard a cruise liner showing 1 for every half of work and a zero for every half hour of rest.

International law says that nobody is allowed to have less than ten hours of rest a day. That bit is easy to show. So is the amount of hours worked in one day.

However; the law states that of those ten hours six of them must be unbroken rest.

I am looking for a formula that will show either a Yes or No response or even red or green to say that enough rest has been given, or not. The problem is that there may be multiple sequences of zero's.

How do I add the longest sequence of zero's and ignore the other sequences?

Sorry it's a bit of a wordy question but I'm desperate to get a result!

2013-11-04 15:04:52

Bryan

=SUM(LARGE(A1:A18,ROW(A1:A12))

However, it is now an array formula (CTRL+SHIFT+ENTER). Also, you can now make the formula dynamic. Say your max number is listed in B1, you could use the (array) formula:

=SUM(LARGE(A1:A18,ROW(A1:INDEX(A:A,B1))))

There's no way to make the manually-entered array version dynamic.

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.

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

Copyright © 2017 Sharon Parq Associates, Inc.

## Comments