Concatenate and fill but not continuously - excel

I have an excel sheet that I need to concatenate a couple of cells and then add a number. I want something like:
A1
A2
A3
A4
B1
B2
B3
A5
But instead, I get:
A1
A2
A3
A4
B5
B6
B7
A8
Is there a way to achieve what I want?
Thank you

Does this work for you? Added a helper column.

Related

Rolling available Calculation

What I think I am looking for is a rolling calculation, for example:
If A2 = F2:F4 Then subtract B2 from G2 and add C2 with result in D2. This would continue until it reaches the same part again like in rows 3,4,8,and 10. Once a part is repeated rather than looking at the column G I would like it to use the latest value in D.
A3 = F2:F4 subtract B3 from G3 and add C3 with result in D3 (20-5+0-15)
A4 = F2:F4 subtract B4 from D4 and add C4 with result in D4 (15-2+0-13)
A8 = F2:F4 subtract B8 from D8 and add C8 with result in D8 (13-8+7-12)
A10 = F2:F4 subtract B10 from D10 and add C10 with result in D10 (12-2+0-10)
Use VLOOKUP to return the correct start, and SUMIFS with dynamic range to do the subtraction and addition.
=VLOOKUP([#PART],Table3,2,FALSE)-SUMIFS($B$2:B2,$A$2:A2,[#PART])+SUMIFS($C$2:C2,$A$2:A2,[#PART])
Note: to use only structured references we need to introduce the volatile OFFSET:
=VLOOKUP([#PART],Table3,2,FALSE)-
SUMIFS(OFFSET(Table2[[#Headers],[QTY]],1,,ROW()-ROW(Table2[[#Headers],[QTY]])),OFFSET(Table2[[#Headers],[PART]],1,,ROW()-ROW(Table2[[#Headers],[PART]])),[#PART])+
SUMIFS(OFFSET(Table2[[#Headers],[DELIVERED QTY]],1,,ROW()-ROW(Table2[[#Headers],[DELIVERED QTY]])),OFFSET(Table2[[#Headers],[PART]],1,,ROW()-ROW(Table2[[#Headers],[PART]])),[#PART])

Use the text value in the Excel formula

I apologize for typing in English. This is a translator's achievement.
I want to come up with this formula but I can't.
A1 cell value is variable and can be one of these signs (=, <=,> =, <,>).
A3 and A4 cells also have numerical values.
Now the formula I am looking for in cell A2.
= if (A3 & A1 & A4,1,0)
So logical text can be one of the following:
A3 = A4 , A3 < A4 , A3 > A4 , A3 >= A4 , A3 <= A4
Is there a way for this formula?
To do it with formula one must do all the combinations:
=IF(CHOOSE(MATCH(A1,{"=","<=",">=","<",">"},0),A3=A4, A3<=A4,A3>=A4, A3<A4,A3>A4),1,0)
We need an extra step. In A2 enter:
="=if(A3" & A1 & "A4 ,1,0)"
Example:
Sadly A2 is only a string and not a formula, but we can execute it. In a standard module, enter the following User Defined Function:
Function eval(s As String) As Variant
Application.Volatile
eval = Evaluate(s)
End Function
Pick another cell, say B2 and enter:
=eval(A2)
Whenever A1 or A3 or A4 are changed, the string-formula in A2 will change and the value in B2 will be re-calculated.

Split one column by rows to multiple columns in Excel

I am working in Excel 2013, and I have data like the following:
A1
A2
A3
B1
B2
B3
(The As go to A13, Bs go to B13, Cs go to C13, and so on until you get to row 2495.)
How do I divide this long column where the 14th row moves to the next column? See below:
A1 B1 C1 ...and so on
A2 B2 C2
A3 B3 C3
...
A13 B13 C13
B1: =INDEX($A:$A,(COLUMNS($A:A)-1)*13+ROWS($1:1))
Fill right to AA1
Select B1:AA1 and fill down to row 13
The above assumes you are going A-Z. But you must have other characters also in order to get to 2495 rows. Your real data may require some tweaks from what I have presented -- either filling down further; or filling further to the right, or using a different constant then 13
If you want to parse the data into three separate columns then in B1 enter:
=A1
In C1 enter:
=A14
In D1 enter:
=A27
Then copy these three cells downwards:

excel fill series restart from 1 after new value

I have the following in one column, it keeps going down with random letters but always end with 1.
a1
a1
b1
b1
b1
b1
b1
c1
c1
c1
how can i make it fill series but start again from one when ever a new letter.
It should look like this:
a1
a2
b1
b2
b3
b4
b5
c1
c2
c3
You can genereate a new series in the column beside it. Lets assume your data starts in A1. In put 1 in B1 and in B2 place the following:
=IF(left(A1,len(A1)-1)=left(A2,len(A2)-1),B1+1,1)
Copy B2 down.
When you are done, you can copy your information from column B and paste is a values if you do not want the numbers changing again.

Excel sort numbers with letter prefix

I have a column:
a1
a10
a11
a12
a13
a14
a15
a16
a17
a18
a19
a2
a20
a21
a22
a23
a24
a25
a26
a27
a28
a29
a3
a30
a31
a4
a5
a6
a7
a8
a9
But I need to sort it like this:
a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13....
Does anyone know how to do it?
Assuming your data is in column A, put this formula in column B (or wherever is handy) and sort by it:
=LEFT(A1,1) & TEXT(SUBSTITUTE(A1,LEFT(A1,1),""),"00")
This assumes that you have one character in each cell in column A, followed by a number.
I'm not aware of an option that allows you to sort the way you like - however, you could help yourself with a a helper column that extracts the number - and then sort both columns by this column (and delete the helper column afterwards if you wish.
Assuming your text would always be a, you could extract the number with this formula: =VALUE(RIGHT(A1,LEN(A1)-1)).
In case you have different strings, use this formula:
=1*MID(A2,MATCH(TRUE,ISNUMBER(1*MID(A2,ROW($1:$9),1)),0),COUNT(1*MID(A2,ROW($1:$9),1)))
You need to enter it as an array formula, i.e. instead of pressing Enter, press Ctrl-Shift-Enter.
Credits for the latter formula go here.
Copy your column somewhere with a spare column to its immediate right, split that added column Fixed width at the first character with Text to Columns and use the numbers-only column for sorting.

Resources