About 6 months ago, Fred asked a question on the Chandoo.org Forums: I need idea on a simpler formula
In column A I have the total sum product of C to AU
Line one has all the names.
A2 = (B2*C2)+(D2*E2)+(F2*G2)+(H2*I2)+(J2*K2)+(L2*M2)+…+(AT2*AU2)
A3 = (B3*C3)+(D3*E3)+(F3*G3)+…+(AT3*AU3)
Is there is simpler way by line to do this without clicking each cell on line 2?
I tried Sumproduct but I think I have received a wrong answer during testing.
Hui offered a Sumproduct Formula as a solution
=SUMPRODUCT((B2:AT2) * MOD(COLUMN(B2:AT2) -1, 2), (C2:AU2) * MOD(COLUMN(C2:AU2), 2))
and then followed up with a simpler Sumproduct Formula a day later
=SUMPRODUCT(B2:AT2 * C2:AU2 * (MOD(COLUMN(B2:AT2), 2) =0))
Let’s take a look at this second solution.
Setup the Problem
Copy the numbers 10,20 into alternate Cells A2:U2 or download the example file here: Example File (Excel 97-2010)
Copy this formula into B6: =SUMPRODUCT(B2:U2 * C2:V2 * (MOD(COLUMN(B2:U2), 2)=0))
Pull The Formula Apart
Lets take a look inside this formula and see how it works.
=SUMPRODUCT(B2:U2*C2:V2*(MOD(COLUMN(B2:U2),2)=0))
We can see that in the above formula the main function used in the formula is a Sumproduct Function.
=SUMPRODUCT(B2:U2*C2:V2*(MOD(COLUMN(B2:U2),2)=0))
Within the Sumproduct function there are 3 arrays, which are multiplied together
Array 1: B2:U2
Array 2: C2:V2
Array 3: (MOD(COLUMN(B2:U2),2)=0)
What’s in these arrays?
Array 1 is simply the range from B2:U2
Array 2 is simply the range from C2:V2, note that it is offset from the first array by 1 Column.
This is so that the first value of the Second Array matches the first value of the First Array. That is they are both in position 1 within there respective arrays.
Array 3 is where all the action is.
Enter =(MOD(COLUMN(B2:U2),2)=0) into a cell and press F9
Excel returns: ={TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE}
Lets look at what is happening here
=(MOD(COLUMN(B2:U2),2)=0)
Mod returns the remainder of the first value Column(B2:U2) after dividing it by the second value 2.
Column(B2:U2) returns the Column Number for each cell in the Range B2:U2.
Because this part of the formula is in a Sumproduct formula it is evaluated as an Array Formula and hence it does this for each cell in the range B2:U2, thus returning an Array as the answer.
We can see that if we enter =MOD(COLUMN(B2:U2),2) into a cell and evaluate it with F9
={0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1}
However in this case we want to convert this from an array of Numbers to an array of True/False
A simple addition of an =0 does the trick
=(MOD(COLUMN(B2:U2),2)=0)
Now causes the formula to return: ={TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE}
So How does this go together with the other 2 arrays?
We now have 3 arrays:
Array 1: 10,20,10,20,10,20,10,20,10,20,10,20,10,20,10,20,10,20,10
Array 2: 20,10,20,10,20,10,20,10,20,10,20,10,20,10,20,10,20,10,20
Array 3: TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE
When Multiplying arrays, Excel multiplies the first value of each array and then the second value of each array, etc, effectively doing
={10*20*True, 20*10*False , 10*20*True, 20*10*False , 10*20*True, 20*10*False , 10*20*True, 20*10*False , 10*20*True, 20*10*False , 10*20*True, 20*10*False , 10*20*True, 20*10*False , 10*20*True, 20*10*False , 10*20*True, 20*10*False , 10*20*True}
You can see above that when the 3 arrays are multiplied it will only be the Odd entries in Arrays 1 & 2 which are evaluated by the Sumproduct, as all the even entries are multiplied by False which is equivalent to Zero
So the above evaluates to
={200,0, 200,0, 200,0, 200,0, 200,0, 200,0, 200,0, 200,0, 200,0, 200}
Sumproduct then takes over and adds the values together returning, 2000, the correct answer.
Problem Extension
After solving the problem, Fred decided to add a column between each entry in the data set.
The solution is posted in the forum and is also shown in the example file.
You can work through that formula at your leisure, except to say that it is similar to the solution above.
Alternate Solution
Luke correctly pointed out that the data was poorly arranged and the solution would be much simpler had the data been more logically arranged.
However as an Excel practioner we are often called to solve other peoples dirty work.
HINTS
You will notice that in the solution of this problem I have done a few small things that make solving the problem easier.
Use Smaller Subsets of the Data.
Instead of putting numbers from Columns B to AU as Fred has I have used a set from Column B to U.
This way I can see all the data on one Excel screen without scrolling as well as the formula links and extents when pressing F2 on the cell containing the formula.
Use Simple Numbers
Use numbers that you can manually check. In this example I can easily, manually, check that the answer should be 2000.
Evaluate
Where ever possible, enter sections of a formula in a cell and evaluate its output:
=(MOD(COLUMN(B2:U2),2)=0) and press F9
={TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE}
See how easily we can check that this section is returning the correct values.
OTHER POSTS IN THIS SERIES:
You can learn more how to pull Excel Formulas apart in the following posts:
http://chandoo.org/wp/category/formula-forensics/
The link above, will show you all the posts in this series
WHAT FORMULAS WOULD YOU LIKE EXAMINED?
If you have any formulas you would like explained please feel free to leave a post here or send me an email:
If the formula is already on Chandoo.org or Chandoo.org/Forums, simply send the link to the post and a Comment number if appropriate.
If sending emails please attach an Excel file with the formula and data

















7 Responses to “Project Dashboard + Tweetboard = pure awesomeness!!!”
I would like to see actual hash-tagged DM tweets go out to the specific information consumers. That would be an interesting way to communicate the key daily data to interested parties.
A Twitter-like secure application like Yammer might be a good fit with this.
For example, how about daily tweets to selected user groups (secure) that would display sales, bookings, cash receipts, cash disbursed and a second version that would show the same info for MTD, QTD or YTD figures.
@Dan, it would be great. I did not taught about implementing it on this dashboard because twitter is blocked to the whole intranet here. However, there's a discussion here about how can we send these tweets to blackberries (probably through e-mail) automatically. (I'd like to see this implemented on a jabber restricted network as well, but here it'll probably not happen)
The wrap-up versions you mentioned doesn't apply to my particular scenario, but on a sales tweetboard it would be a great tool indeed - choosing who will receive which message according to hashtags. I'll think on something, thanks for the advice. 🙂
(Ah, btw, I'm Fernando... 🙂 )
@Dan: That is a fun idea. Instead of tightly integrating twitter functionality with a dashboard, i think it would be cool if we have a "tweet this" button that users can click after selecting a range of cells. We can easily show a dialog with the concatenated output of the selected cells and ask user to edit the text and eventually "send to twitter".
For eg. you can select the annual sales figure cell and click on "tweet this" button upon which a dialog will show the value. Then you can pre-pend it something like "DM @boss look at our sales this year: "
@Aires.. thanks once again.
Wow it looks really good. Not sure though how much the tweet facility would help in real world project management, but certainly having a dashboard on a project should be a key deliverable when learning how to manage a project
The other use of this is during the software development life cycle especially when you have parallel streams of development and testing going on. Using a dashboard is a quick way for everyone on the team to see where the project is at and how it all fits together.
Regards
Susan de Sousa
Site Editor http://www.my-project-management-expert.com
Hi Chandoo,
I purchased the project management toolkit but the dashboard shown above with the imbedded scroll bars. Is it included in the project pack??
Thanks
Sue
The gantt chart section of this dashboard is similar to one I have recently created: http://xlcalibre.com/hr-dashboard-gantt-chart-traffic-light-reportIt has a similar approach with scroll bars, but has a couple of additional features. I've tried to incorporate a traffic light report element, and also allow the timescale to adjusted so that can view it by days, weeks or months.I really like the other tables that you've incorporated, I may well try to replicate them to improve my version!
I am a monitoring and evaluation consultant in international development, and one of the services I offer is to help non-profits and foundations develop performance dashboards. I often advise them to develop dashboards for ongoing programs, rather than for one-time or pilot projects, because of the time involved. I am trying to find out from a few people how long it takes you to develop a project management dashboard, and to what extent the indicators vary from one project to the next.