TRANSPOSE() function wrongly adding semicolon between cell values - excel-formula

In Excel, I'm combining large lists using TRANSPOSE then CONCATENATE. My lists are >400 names and not always organized by column.
When I hit "F9" Excel has started adding a ";" between all of my values instead of "," thereby breaking the function. Has anyone else seen this? Know how to fix this? If I manually replace the semicolon, it works again.
Example data:enter image description here
If the names are vertical/organized by column
=TRANSPOSE(A1:A12)&", "
The functional output is
={"John, ","Tom, ","Mary, ","Jackson, ","Rob, ","Gerry, ","Heidi, ","Sheila, ","Alison, ","Wendy, ","Laura, ","Marion, "}
If the names are horizontal/organized by row
=TRANSPOSE(A1:L1)&", "
The non-functional output is
={"John, ";"Tom, ";"Mary, ";"Jackson, ";"Rob, ";"Gerry, ";"Heidi, ";"Sheila, ";"Alison, ";"Wendy, ";"Laura, ";"Marion, "}

If the names are vertical (A1:A12). Put
A2 =A1&","
A3 =A2&B3
and drag both until L3. A3 is your result.
If the names are horizontal (A1:L1), put
B1 =A1&", "
C1 =B1&C2
and drag both until C12. C1 is your result.
Hope that solves. (:

Related

Excel formula concat text in excel without zero values

I am new to excel formulas.
How to skip the zeros and the show result in image format with the yellow colour columns in the excel formula?
If the results are not always in ascending order (if they are #Solar Mike has already solved it for you with MAX) then perhaps:
=A2&" "&LOOKUP(2,1/(B2:D2<>0),B2:D2)
As per your sample data it seems simple below formula should work.
=A2&" "&MAX(B2:D2)
Or can try-
=A2 & " " & XLOOKUP(1000,B2:D2,B2:D2,,-1,-1)
and if you want actually non zero right cell data (including text data) then use FILTERXML() like-
=A2& " " & FILTERXML("<t><s>"&TEXTJOIN("</s><s>",TRUE,FILTER(B2:D2,B2:D2>0))&"</s></t>","//s[last()]")
Looking at your results however, then this:
Something like:
=if(A2>0,A2&" ","")&if(B2>0,B2&" ","")&if(C2>0,C2&" ","")&if(D2>0,D2&" ","")
will work.
Probably could be made shorter... And should work with all versions of Excel.
Ba

How to create a list of values from cell, separated by certain characters

I have a list that looks something like this
What I want to do is create a formula so in another cell I get the following
'ID1','ID2',ID3','ID4'
It doesn't matter if at the very beginning and at the very end I get extra characters because I can remove those manually, my issue is that in reality this list has hundred of IDs and I can't do this manually.
In next column (assuming data starting in A1):
in B1 = " ' " & A1 & " ' " and drag down (I added spaces to make readable, but you don't want them within the quotes in your actual formuale)
Then in C1 = B1, and in C2 = C1&","&B2, and drag down.

Excel text to rows using formula

I have a concat formula returning me a comma separated list of names in a cell
=concat(A2:A10 & " ,") returning [john, jack, jill] in the cell
Is there a way to add to this formula to expand to
john
jack
jill
in a column like that above?
You can change the separator to be a line break =CONCAT(A2:A10 & CHAR(10)) or =TEXTJOIN(CHAR(10),TRUE,P3:P5)
The target cell needs to be set to Wrap Text for the line breaks to be displayed correctly.
I used Power Editor to convert the cell into rows

Merge data into new cell if other cells match

I have a table in my workbook that pulls information from another sheet. In column A there are names; A1=Tom, A2=Sarah, A3=Steve, etc.. Column B has dates; B1=July26, B2=August08, B3=July26, etc.
There are 10 rows in my table. What I'm trying to do is compress the information down into a single cell C1, and have it as a single line of text. So for this example: "Tom,Steve: July26, Sarah: August08"
Right now I've been building an IF statement to compare, but I was wondering if there was a better way; one that doesn't risk a typo mid way that misses something.
This is what I have (I've started from the bottom (row 10) and building up: =IF(B9<>B10,A9&": "&B9&" "&A10&": "&B10,A9&","&A10&": "&B9)
Any help would be appreciated, thanks
I think that your process of building from the bottom up is the correct way. Otherwise a single formula would be too complicated, and VBA might be necessary.
To build from the bottom up, this is the formula you need at C10. Enter it then copy/paste into C1:C10.
C10:
=A10 & IF(B10=B11, ",", ": " &TEXT(B10, "mmmmdd") & ". ") & C11
p.s. it supposes that your column B contains dates formatted this way. If they are actually text, then replace TEXT(B10, "mmmmdd") with simply B10:
=A10 & IF(B10=B11,",", ": " & B10 & ". ") & C11

Basic Excel: How to show an interval in a cell rather than a single number

I want to make a column that lists a +or- 5%variance of a certain calculation.
For example, in column A and B there are a list of numbers and I want column C to show ColumA/ColumnB + or - 5%.
So if A1 = 10 and B1 = 12 then I want C1 to show ".792 to .875" or something like ".792 - .875" or "(.792,.875)".
In order to make it easy to look at, maybe I want a certain format that would change the colors of the 95% # and the 105% number ...
What would one do in these kind of situation?
You can use CONCATENATE, something like this:
=CONCATENATE(ROUND(A1/B1-(A1/B1*0.05),3)," - ",ROUND(A1/B1+(A1/B1*0.05),3))
As far as I know there is no way to have multiple formats in one cell containing a formula. It might be posible with VBA.
To get what your looking for you could use the text function.
You will have to generate the text with a formula, something like
="(" & text(c1,".000") & " - " & text(d1,".000") & ")"
Where c1 and d1 are the ranges you wish to show.
To get it to format with colour you can use conditional formatting on c1 and d1 to colour the cell where your formula is.
SincereApathy's answer doesn't work for me. Based on his answer, but using in-line concatenation instead of the CONCATENATE function:
=ROUND((A1/B1-0,05);3) & " - " & ROUND((A1/B1+0,05);3)

Resources