George has a worksheet where the first row, in the range B1:AK1, contains part numbers. Some part numbers begin with X and others begin with Y. He wonders if there is a way to use SUMIF (or some other function) to sum the range B2:AK212 only for those columns in which the first cell in the column (B1:AK1) contains an "X" as the first character in the part number.

One way to accomplish this task is to use the SUMPRODUCT function along with the LEFT function to determine if the part number in the first row starts with an X or not:

=SUMPRODUCT((LEFT(B$1:AK$1,1)="X")*B2:AK212)

The LEFT function returns the leftmost character of the part number and compares it to X. If it is equal, then the result is 1; if not equal then it is 0. This resulting value (1 or 0) is then multiplied by the individual cells in the data range. The result is your desired sum.

If you must use the SUMIF function for some reason, there are two ways you could approach the problem. First, you could add the following into cell AL2:

=SUMIF(B$1:AK$1,"X*",B2:AK2)

This results in a sum of just the cells in row 2 that have a part number beginning with X. Copy the cell downward to cells AL3:AL212, and then sum the column.

The other approach is to add a totals row at the bottom of your data. Thus, you could use the following in cell B213:

=SUM(B2:B212)

Copy this formula to the other cells on the row (C213 through AK213) and then you can use this formula to get your desired sum:

=SUMIF(B1:AK1,"X*",B213:AK213)

In this case, SUMIF is checking the first row (where the part numbers are) and summing the appropriate cells from the totals you just added in row 213.

*ExcelTips* is your source for cost-effective Microsoft Excel training.
This tip (13471) applies to Microsoft Excel 2007, 2010, 2013, and 2016.

**Comprehensive VBA Guide** Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out *Mastering VBA for Office 2010* today!

If you have a series of consecutive numbers in a column, you may want to know if it really is consecutive. (In other ...

Discover MoreIt is not unusual to need to select two random items from a list. There are a couple of ways you can approach the task; ...

Discover MoreWant to add up a bunch of scores, without including the lowest one in the bunch? You can make a small change to your ...

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

2016-09-28 02:18:32

James Bruno

Why do you use the double minus in your formula?

See Excel Gurus Gone Wild by Bill Jelen, Page 12 for a great example.

While IF and other Functions that expect logical tests can easily convert TRUE and FALSE values to 1's and 0's, the SUMPRODUCT cannot do this.

You need a way to convert the TRUE and FALSE values to 1/0 values. Use the Minus Minus to coerce excel to change an array of TRUE/False to 1s and 0s

2016-09-26 04:47:16

Lars Damgaard

Why do you use the double minus in your formula? For me, it works just as well with deleting them both.

Regarding "X*", I think I now understand that the "X*" (or "=X*") only works in formulas that take 'criteria', not in a general comparison like

=if(A3="X*",...,..)

2016-09-23 19:31:16

Peter

Lars

=SUMIF(A3:A7,"=X*",B3:B7)

=SUMPRODUCT(--(LEFT(A3:A7)="X")*(B3:B7))

HTH

2016-09-22 03:24:02

Lars Damgaard

is really nice and compressed. It also works with SUM instead of SUMPRODUCT

=SUM((LEFT(B$1:AK$1,1)="X")*B2:AK212)

but then you have to hit Ctrl-Shift-Enter (array formula). I guess the

(LEFT(B$1:AK$1,1)="X")*B2:AK212

part already made the multiplication to create in memory a 2D array with zeroes where the item name starts with X, so it suffices to sum this array, but SUMPRODUCT does the same when given a single 2D array as variable.

But can anyone explain when the "X*" trick in the SUMIF solution can be used? I could not make it workk in the SUMPRODUCT solution:

=SUMPRODUCT((B$1:AK$1="X*")*B2:AK212)

2016-09-17 14:32:47

Servi

2016-09-17 14:09:37

Brian Lair

2016-09-17 11:59:48

allen@sharonparq.com

Steve: I tested out the one in the article (with the asterisk) and it worked fine.

-Allen

2016-09-17 10:07:33

steve

=SUMPRODUCT(--(LEFT(B1:AK1,1)=""),B2:AK2) & not * between the 2 Sumproduct arguments.

2016-09-17 05:41:19

SK SHARMA

Plz keep it up.

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 © 2018 Sharon Parq Associates, Inc.

## Comments