Sum / count data from text string with delimiter

J

J

I would like to be able to sum numbers from a segment of a text string. The
cells of data are in a row. The data looks like the following:
1x1.5
21x9
3x2

In one formula I need to sum the numbers prior to the "x". In a different
formula I need to sum the numbers after the "x". The number of digits is not
a fixed length but the "x" consistently delimits the numbers.

In addition I need to count the number of unique values prior to the "x".
I've searched for the method to do this but I can not fine how.

I would appreciate any help on this.
 
R

Ron Coderre

With
A1:A10 containing values of the form "numberXnumber" or blanks (no regular
text)

Try something like this:

The sum of the values preceding the "X"
=SUMPRODUCT(--TRIM("0"&LEFT(A1:A10&"0",SEARCH("X",A1:A10&"X")-1)))

The sum of the values following the "X"
=SUMPRODUCT(--TRIM("0"&MID(A1:A10,SEARCH("X",A1:A10&"X")+1,255)))

The count of unique values preceding the "X"
=SUM(N(FREQUENCY(--TRIM("0"&LEFT(A1:A10&"0",SEARCH("X",A1:A10&"X")-1)),--TRIM("0"&LEFT(A1:A10&"0",SEARCH("X",A1:A10&"X")-1)))>0))-(COUNTBLANK(A1:A10)>0)

Does that help?
***********
Regards,
Ron

XL2002, WinXP
 
D

David Biddulph

To extract the part before the x: =LEFT(A1,FIND("x",A1)-1)
To extract the part after the x: =RIGHT(A1,LEN(A1)-FIND("x",A1))
 
J

J

Thanks David! This will come in handy.

David Biddulph said:
To extract the part before the x: =LEFT(A1,FIND("x",A1)-1)
To extract the part after the x: =RIGHT(A1,LEN(A1)-FIND("x",A1))
 
R

Ron Coderre

You're very welcome, J....I'm glad I could help.

***********
Regards,
Ron

XL2002, WinXP
 
J

J

One more twist. I need to be able to sum numbers after the x provided the
number before the x = 1. If cells A1:Z1 have the following type of
information:
1x1.5
21x9
3x2
(Some of these cells are null)

In cell AA1, sum the values to the right of the x whose number to the left
of the x is 1, in cell AB1 sum the values to the right of the x whose number
to the left of the x is 2...

Thanks again for the great help.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top