Formula Forensics No.004 – Fred’s Problem

Share

Facebook
Twitter
LinkedIn

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 110,20,10,20,10,20,10,20,10,20,10,20,10,20,10,20,10,20,10

Array 220,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

 

Facebook
Twitter
LinkedIn

Share this tip with your colleagues

Excel and Power BI tips - Chandoo.org Newsletter

Get FREE Excel + Power BI Tips

Simple, fun and useful emails, once per week.

Learn & be awesome.

Welcome to Chandoo.org

Thank you so much for visiting. My aim is to make you awesome in Excel & Power BI. I do this by sharing videos, tips, examples and downloads on this website. There are more than 1,000 pages with all things Excel, Power BI, Dashboards & VBA here. Go ahead and spend few minutes to be AWESOME.

Read my storyFREE Excel tips book

Overall I learned a lot and I thought you did a great job of explaining how to do things. This will definitely elevate my reporting in the future.
Rebekah S
Reporting Analyst
Excel formula list - 100+ examples and howto guide for you

From simple to complex, there is a formula for every occasion. Check out the list now.

Calendars, invoices, trackers and much more. All free, fun and fantastic.

Advanced Pivot Table tricks

Power Query, Data model, DAX, Filters, Slicers, Conditional formats and beautiful charts. It's all here.

Still on fence about Power BI? In this getting started guide, learn what is Power BI, how to get it and how to create your first report from scratch.

24 Responses to “10 Supercool UI Improvements in Excel 2010”

  1. Hui... says:

    The best improvement by far is the Collapse Ribbon ^ button !

  2. Alex Kerin says:

    Kind of a shame that some of the best improvements are actually returns to old functionality. One thing I don't like is that to get to recent files I need to do an extra click after File - apart from Save As, that's why I'm usually in the File menu. I like the sparkline options, though they are still as not fully featured as some of the free and pay options out there.

  3. Arti says:

    The collapse button for the ribbon menu is good news. Can you make the ribbon menus stick too?

  4. Jon Peltier says:

    Nine improvements, not ten. You can also select multiple objects in 2007. Click on the Find & Select item at the far right of the Home tab, and the dropdown looks remarkably like your 2010 screenshot.

  5. Chandoo says:

    @Jon.. Thank you. Dumb me, I somehow thought we couldnt select objects in Excel 2007. Just saw the "select menu" and it is there. I have corrected the post and removed the point. I have added the "you can make your own ribbons" instead. Thanks once again.

    @Arti: what do you mean by make ribbons stick?

    @Alex: May be it is my installation, but when I go to "File menu" I see "recent files" by default.

  6. Arti says:

    For example, if I am working with one of the contextual ribbon menus (Pivot tables, Drawing/Chart etc), as soon as I click away from the selected object, the menu tabs vanish. If I click on the object again immediately, then Excel will remember what I was looking at, but if I wander away and click on a Pivot, then back again on the Chart, the menus will 'appear' but not get activated, thereby causing much annoyance and additional clicking.

    I want to "pin" the whole menu (not invididual commands) somehow, so that I can have the menu there for the length of the time I am working with graphics. Excel 2003 used to have the Drawing toolbar you could detach and hover while you were working, but this functionality disappeared in Excel 2007.

    My thought was Excel should just allow a 'pin', similar to the Recently Opened files menu, for the Ribbon Menus as well. If I have not selected any Drawing object, the commands can be greyed out, but I want the menu as a whole to 'stick'.

  7. Chandoo says:

    @Arti... I think MS solved this problem differently. When I select a pivot and go to "design" tab Excel 2010 remembers this and automatically takes me to "design" tab when I reselect the pivot.

    Apart from this you can also define your own ribbon with all the things you normally do. See the above article (I have added this after Jon's comments)

  8. Stephen says:

    Nice feature. About time for a upgrade for MS Office

  9. Arti says:

    Oh... okay. That might be a start. I'd probably just copy-paste the Drawing tab haha. Thanks. I'll definitely give Excel 2010 a try.

    Btw - have you considered getting into / gotten into the world of Excel as it meets SharePoint?

  10. Jon Peltier says:

    Actually, the replacement new thing is probably better than all the rest. One thing that the designers of the Office 2007 ignored was allowing regular users to customize their own interface. Office 2010's interface was expanded in this way to address the huge uproar.

  11. jeff weir says:

    Is there still a limit on how many things you can add to the QAT bar? (I'm too lazy to look myself.)

  12. Chandoo says:

    @Jeff.. it seems to take quite a few, but only shows one line and gives a little arrow button at the end. (summary: shucks!)

  13. Squiggler says:

    The best thing is you can edit the ribbon directly from excel, so now i can create my own bar with just the things I use regularly!

  14. John says:

    One of the annoying things in 07 for me is the Add-Ins menu bar - in 03 I could keystroke directly to menu add ins.. In 07 I needed an extra keystroke just to activate the add-in menu, then the keystrokes as normal.. Hope this marek sense..

  15. Jon Peltier says:

    John -
     
    If you remember the old Excel 2003 Alt-key shortcuts, you can still use them in 2007. To get to the Add-In dialog:
     
    Alt-T-I

  16. Gagan says:

    Dear Arti & Chandoo

    Seen your comments over some issues. Hope you are form India, gone through your comment expecting a pin to command it as a whole, great, hope if someone out of MS have read it, it may be kept in mind while the next R & D of Office Ver. 16

  17. Loranga says:

    Just incase someone forgot CTRL+F1 will collapse the ribbon.

  18. [...] was pleasantly surprised when I ran Microsoft Excel 2010 for first time. It felt smooth, fast, responsive and looked great on my [...]

  19. DK Samuel says:

    I like the sparklines, and the ability to modify the charts

  20. CHRIS LUNA says:

    How do you get rid of the advertisment on the right hand side? If you upgrade then will it take off the ads?

  21. Derek says:

    Once again Microsoft has re-decorated the Office and we are NOT pleased!

    The graphics object selector can be found in the Home ribbon under Find & Select, Select Objects near the bottom of the drop down. You can make it part of the Quick Access toolbar by right click over it and selecting Add to Quick Access toolbar.

    The graphics "cursor" will now appear on the mini-toolbar at the top left of the window.

  22. Vladimir says:

    How to get rid of "Add-Ins" button in Backstage (File)" menu by means of XML code, i.e. to hide, to delete or to disable this button?

    This button is usually situated in the Backstage menu between "Help" and "Options" buttons.

    • Pete Kies says:

      Vladimir, did you ever get an answer to your question?

      I am tying to customize the ribbon UI for a file using XML, and this is precisely the piece I can't figure out. I can hide other tabs, remove items from QAT and backstage - all except the options that are showing up under add-ins in backstage. If there is an XML syntax for referencing this thing and making it invisible, I cannot find it.

  23. Bishnu says:

    Hey, nice tutorial. Please check my video tutorial on similar topic at the below link and provide your comments:
    http://www.youtube.com/watch?v=TeIFc0jYjpA

Leave a Reply