• Status: Solved
• Priority: Medium
• Security: Public
• Views: 597

# Excel - Sum two index formulas with a ":"?

Could someone help explain this formula?

=SUM(INDEX(B3:M3,1,MAX(1,COUNT(B3:M3)-2)):INDEX(B3:M3,1,COUNT(B3:M3)))

The first Index will find the value in the Max Count of cells (-2) in the array that are Numeric.  Let's say it's column 6 = value 300.
The second Index does the same but without the "-2", so that's column 8 = value 200.

Those are two values that could be added with a "+".  But the goal of this formula (it does work) is to SUM the range of values from column 6 to column 8.

This SUM command connects(?) the two Indexes with a ":" -- how does the formula know that means get all of the cells between the two index values?

This question is based on this one:
http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Excel/Q_26462331.html?cid=239#a33639089

0
billb1057
• 3
• 2
• 2
1 Solution

Commented:
In Excel, ":" is used to mean between.

Like Sum (A1:A4) = it simply means the contiguous range of cells from A1 to A4 (4)
Or Sum( A1: B10 ) = 20 cells.

So Sum( <first index> : <second index> ) is no different.
You are getting col (3rd to last) and col (last) from B3:M3, so it will sum K3:M3
0

Author Commented:
Ok, but when I use Index by itself, it just returns the value in one cell.  Does SUM interpret that as the starting point of a range?  So instead of the value, it reads the cell reference?
0

Commented:
One thing that will help you is to go to the menu/ribbon and in Formula, click on the Evaluate Formula button.  You can then trace through the formula and it will become clear as mud!

INDEX(B3:M3,1,MAX(1,COUNT(B3:M3)-2))
INDEX(B3:M3,1,MAX(1,10))
INDEX(B3:M3,1,10)
K3

The first INDEX actually now refers to the cell K3.
However if you use it on it's own, as if you typed =K3, it obviously doesn't show "K3" but the content of K3, being 300.

The whole formula reduces to

Sum(K3:M3)
0

Commented:
Technically, INDEX always returns a cell reference.  When you run INDEX "by itself", Excel simply converts that cell reference into that cell's value.  When the context indicates that the INDEX result is the anchor point of a range, then Excel uses it to build that range.
0

Commented:
Modification: INDEX returns a range reference.  When that range resolves to a single cell, .Yes, I realize INDEX also works on arrays, but let's leave that out for now :)
0

Author Commented:
Smart code -- it figures out what context you're using and then adjusts itself for that purpose.  :-)
ciber -- I did try to evaluate what was going on and I knew I needed some secret knowledge for this.
Many thanks!!
0

Author Commented:
Thanks, Patrick.  I thought I fully understood it when you first came up with that solution -- little did I know.  :-)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.