Currently having data like this for a specific column where it needs both numbers to be shown in a single cell separated by a slash
Is it possible to sum on such a column in Excel
to get the total at the bottom as 94/76
I tried using
=SUM(LEFT(I3,FIND("/",I3)-1):LEFT(I7,FIND("/",I7)-1))
Just to see if the part to the left of the slash would get added but it didn't work.
You could try IMSUM():
Formula in A6:
=SUBSTITUTE(SUBSTITUTE(IMSUM(SUBSTITUTE(A1:A4,"/","+")&"i"),"+","/"),"i","")
I guess this needs to be CSE-entered if one use an Excel version other than Microsoft365.
You can use this formula to sum the values to the left of the /,
=SUM(LEFT(A2:A5,FIND("/",A2:A5)-1)+0)
and this to sum the values to the right.
=SUM(MID(A2:A5,FIND("/",A2:A5)+1,255)+0)
You might need to enter these as array formulas using CTRL+SHIFT+ENTER and you'll probably need to alter the cell references.
So, based on my comment:
=Left(I3,2)*1
in one column and dragged down,
and
=RIGHT(I3,LEN(I3)-FIND("/",I3,1))*1
also dragged down, then in the following row two sums and finally
=J9&"/"&K9
Assuming the helper columns are J & K. The *1 is to turn text into a value.
You may try FILTERXML().
=SUM(FILTERXML("<t><s>"&SUBSTITUTE(A1:A4,"/","</s><s>")&"</s></t>","//s[1]")) & "/" & SUM(FILTERXML("<t><s>"&SUBSTITUTE(A1:A4,"/","</s><s>")&"</s></t>","//s[last()]"))
I want to find similar data in Excel cell based on characters for example in one column I have ABCDEF and another column I have DEAFBC, so in this case both cell contains characters abcdef, any solution to match?
I tried like, similar, partial match options in Excel which didn't meet my results.
Separate each letter into it's own cell (text to columns, fixed width). Copy to a new column first if you want to keep the original data.
Sort each row (this is a little tricky, but it is possible - see my example.)
Combine the cells again by just stitching them together using &.
You can now sort to easily see duplicates or remove them etc.
The formula to paste into cell I2 in my example is:
=INDEX($B2:$G2, MIN(IF(SMALL(COUNTIF($B2:$G2, "<"&$B2:$G2), COLUMNS($H2:H2))=COUNTIF($B2:$G2, "<"&$B2:$G2), ROW($B2:$G2)-MIN(ROW($B2:$G2))+1)), MATCH(SMALL(COUNTIF($B2:$G2, "<"&$B2:$G2), COLUMNS($H2:H2)), COUNTIF($B2:$G2, "<"&INDEX($B2:$G2, MIN(IF(SMALL(COUNTIF($B2:$G2,"<"&$B2:$G2),COLUMNS($H2:H2))=COUNTIF($B2:$G2,"<"&$B2:$G2), ROW($B2:$G2)-MIN(ROW($B2:$G2))+1)), , 1)), 0), 1)
Make sure you hit Ctrl+Enter when exiting the cell, since this is an array formula.
I have been breaking my head over this formula for sometime now. I have found a solution which is too big and not so convenient to use every time. So can any Excel Expert give me a solution/suggestion?
Column A contains 150 values. Column D to R contains a table in which I need to look up the values in A one by one. I want to return address of all the cells that contains the value.
For example, Value in A2 is present in cells D5, E15, H10, R3 then my result should be D5,E15,H10,R13.
Please Note that some columns may not contain the value of A2, I do not want them displayed.
Here is the formula I have written:
=CONCATENATE(
IF(A2=IF(COUNTIF(D:D,A2),VLOOKUP(A2,D:D,1,FALSE),""),ADDRESS(MATCH(A2,D:D,0),4,4),0),",",
IF(A2=IF(COUNTIF(E:E,A2),VLOOKUP(A2,E:E,1,FALSE),""),ADDRESS(MATCH(A2,E:E,0),5,4),0),",",
IF(A2=IF(COUNTIF(F:F,A2),VLOOKUP(A2,F:F,1,FALSE),""),ADDRESS(MATCH(A2,F:F,0),6,4),0),",",
IF(A2=IF(COUNTIF(G:G,A2),VLOOKUP(A2,G:G,1,FALSE),""),ADDRESS(MATCH(A2,G:G,0),7,4),0),",",
IF(A2=IF(COUNTIF(H:H,A2),VLOOKUP(A2,H:H,1,FALSE),""),ADDRESS(MATCH(A2,H:H,0),8,4),0),",",
IF(A2=IF(COUNTIF(I:I,A2),VLOOKUP(A2,I:I,1,FALSE),""),ADDRESS(MATCH(A2,I:I,0),9,4),0),",",
IF(A2=IF(COUNTIF(J:J,A2),VLOOKUP(A2,J:J,1,FALSE),""),ADDRESS(MATCH(A2,J:J,0),10,4),0),",",
IF(A2=IF(COUNTIF(K:K,A2),VLOOKUP(A2,K:K,1,FALSE),""),ADDRESS(MATCH(A2,K:K,0),11,4),0),",",
IF(A2=IF(COUNTIF(L:L,A2),VLOOKUP(A2,L:L,1,FALSE),""),ADDRESS(MATCH(A2,L:L,0),12,4),0),",",
IF(A2=IF(COUNTIF(M:M,A2),VLOOKUP(A2,M:M,1,FALSE),""),ADDRESS(MATCH(A2,M:M,0),13,4),0),",",
IF(A2=IF(COUNTIF(N:N,A2),VLOOKUP(A2,N:N,1,FALSE),""),ADDRESS(MATCH(A2,N:N,0),14,4),0),",",
IF(A2=IF(COUNTIF(O:O,A2),VLOOKUP(A2,O:O,1,FALSE),""),ADDRESS(MATCH(A2,O:O,0),15,4),0),",",
IF(A2=IF(COUNTIF(P:P,A2),VLOOKUP(A2,P:P,1,FALSE),""),ADDRESS(MATCH(A2,P:P,0),16,4),0),",",
IF(A2=IF(COUNTIF(Q:Q,A2),VLOOKUP(A2,Q:Q,1,FALSE),""),ADDRESS(MATCH(A2,Q:Q,0),17,4),0),",",
IF(A2=IF(COUNTIF(R:R,A2),VLOOKUP(A2,R:R,1,FALSE),""),ADDRESS(MATCH(A2,R:R,0),18,4),0))
As I said, this works but I am looking for a simpler and smaller formula.
Hint: Maybe using array can help?
Thanks in advance :)
What you are trying to accomplish is not a great fit for Excel formulas, but it can be done with a smaller, simpler formula dragged across 15 columns instead of 1 giant complicated formula that tries to do everything at once.
Assuming column A has 150 values (from A1 to A150), and there is a table going from D1 to R50...
Enter =S1&IFERROR(","&ADDRESS(MATCH($A1,D$1:D$50,0),COLUMN(D1)),"") into T1.
Drag the formula across to AH1.
Enter =RIGHT(AH1,LEN(AH1)-1) into AI1.
Select T1 to AI150 and press Ctrl-D.
Column AI1 will contain the results you are looking for.
How does this work?
The formula in T1 begins by taking the result of one cell to the left (which is blank). Then it concatenates this with the address of the first match in column D (prefixed by a comma). If there is no match, it just concatenates blank (""). As you drag this formula to the right, it keeps concatenating addresses as matches come up (or blank if there are none). When you get to the end, you will have looked for matches in all 15 column of your table.
The formula in AI1 just strips off the initial comma if there is one.
I have a series which goes something like this
John Blogs;John Bloggs;Jean Bloke;Jordon Bean, etc etc up to 10 names in a cell.
I need a formula to split each full name into a separate cell...I've been working with MID, FIND, etc but can't seem to get past the 3 name before coming unstuck!!!
Wonder if anyone can help!
Thanks
Ben
I would suggest using "text-to-column" function with semi-colon as a delimiter.
If you insist on using formula, this will work for you:
Let's assume you text is in cell A1. Then in B1 type =";"&A1&";".
Input 1 to 9 from cell A2 to I2.
In A3, type in the formula =MID($B$1,FIND(CHAR(1),SUBSTITUTE($B$1,";",CHAR(1),A2))+1,FIND(CHAR(2),SUBSTITUTE($B$1,";",CHAR(2),A2+1))-FIND(CHAR(1),SUBSTITUTE($B$1,";",CHAR(1),A2))-1).
Copy this formula to B3, C3, .. , I3.
Split your work over many columns rather than a single formula.
You are correct to use FIND() to get the offset of the ";".
And to use LEFT() to extract a name, with MID() to extract the remaining string.
Then you either have an empty cell, or you have a cell with up to 9 names in it.
Repeat the process across the sheet to get all your names, plus perhaps some cells containing #VALUE errors.
To display the output without the errors, use something like =IF(ISERR( A1 ), "", A1).
Of course hide all your working once done.