Auto increment column value by 3 columns in copying across a row - excel-formula

I have an Excel 2 worksheet workbook - 'Dairy' and 'Production'
Formula in 'Production' E10 is 'Dairy'!I33
I want the Formula in 'Production' E11 to be 'Dairy'!L33 (an increment of 3 columns, but same row.)
I cannot use Alt EIR, because it only increments the cell value (I33) by one column (to J33).
What formula can I use to increase the I33 by 3 columns to L33, then in the next cell/E11 increase the L33 to O33, and so on?
EXAMPLE -
Production cell number E10 E11 E12 E13
Production cell value D!I33 D!L33 D!O33 D!R33
thank you,
Mike

INDEX typically uses less calculation cycles than OFFSET and this benefit increases the more formulas you have.
=INDEX(Dairy!33:33, 1, (COLUMN(A:A)-1)*3+9)
Put that under E10 and drag right (and down if needed).
If E10 is actually the cell you want the formula and you are going to drag it down then use this in E10 and drag down.
=INDEX(Dairy!$33:$33, 1, (ROW(1:1)-1)*3+9)

You can use Offset formula which returns a reference to a range that is a specified number of rows and columns from a cell or range of cells. The reference that is returned can be a single cell or a range of cells. You can specify the number of rows and the number of columns to be returned.
Syntax:
=OFFSET(reference, rows, cols, [height], [width])
Solution:
Cell E10 Formula : =OFFSET(Dairy!I$33,0,0,1,1)
Cell E11 Formula : =OFFSET(Dairy!I$33,0,3,1,1)
Cell E12 Formula : =OFFSET(Dairy!I$33,0,6,1,1)
and so on....
To make it completely dynamic, link the third argument to the current row. For e.g.
Cell E10 Formula : =OFFSET(Dairy!I$33,0,MOD(ROW(A10),10)*3,1,1)

Related

Need help in excel formulas

I have formulas for the top 4 rows formula is as follows row 1) C1= A1+B1 row 2 ) C2=A2+B2 row 3) C3=A3+B3 row 4) C4=C3/C1 and the next row is blank ie C5 post which the same continues 4 rows has formula and the 5th row is blank I have a huge data how to copy the formula below please help
Am struck please someone assist
I have skipped the blanks and copied the first four rows selected the below rows and pasted I need any other alternative either by formula or by copy paste
Cell C1
= IFS(MOD(ROW(),5)=0, "", MOD(ROW(),5)=4, OFFSET(C1, -1, 0)/OFFSET(C1, -3, 0), TRUE, A1+B1)
You can calculate all your data using that formula simply. Just double-click or drag the fill handle of cell C1 down to copy the formula.
The easiest way to do this on a very large scale is to just have ONE and ONLY one formula that applies to all cells, so you are copying it all the way down the sheet one time.
I'd do this by looking at ROW() to get the row number, and more specifically, using MOD(ROW(),5) to get a row index that goes 0-4, with 0 being the blank row.
This formula will look back up to previous rows so you will have to "prime the pump" for the first 3 rows manually:
Cell C1 will be =A1+B1
Cell C2 will be =A2+B2
Cell C3 will be =A3+B3
Cell C4 will be =SWITCH(MOD(ROW(),5),1,A4+B4,2,A4+B4,3,A4+B4,4,C3/C1,0,"")
Then copy this cell, C4, down the entire length of the sheet.
My specific formula assumes there's no headers and the values start in row 1.
If not, you just have to move the formulas to the right SWITCH indexes 0-4.

Excel: Count cells in range if they are equal to cell above

I'm just wanting to have a formula to count the amount of cells from E4:X4 if the number in each cell in that range is equal to the number in the cell directly above it. I was trying doing a COUNTIF with an INDIRECT ADDRESS for the cells above but didn't get anything so I was probably doing it quite wrong.
Just to be very clear for example if in that range cell E4 is 5 and above it (E3) is also 5 then to count it, and not count it if it isn't. Same for every cell down to X4.
Thanks.
You can use Sumproduct for that. In the screenshot, the formula in cell I2 is
=SUMPRODUCT(--(A1:G1=A2:G2))
To count only non-empty cells, you can change the formula to
=SUMPRODUCT(--(A1:G1=A2:G2),--(A2:G2<>""))

How to input min/max values and have Excel generate cells for each number in the range

I have 2 cells A2 and A3, I will input a min value and max value respectively in each cell. Say 100 in A2 and 200 in A3.
I would like Excel to populate cells with values within that range. So Column B would have cells 1-101 filled in with 100,101,103,104,105....200.
Is there any easy way to do this or should I just stick to putting 100 in B1 and dragging it down?
In you first cell:
=IF(ROW(1:1)-1+$A$2<=$A$3,ROW(1:1)-1+$A$2,"")
Then drag/copy the cells down far enough to cover any combination you will have. You can fill the whole column if you want.
Microsoft is working on their Dynamic Arrays, Once released, a simple formula in the first cell of:
=SEQUENCE(A3-A2+1,,A2)
Will autmatically fill down the sequence without the need of dragging the formula down.

Formula to select row cells starting from a certain cell

Is there a way to include in a formula the sum of the values of a row, but starting from a certain cell onto the rest of the row?
Something like =SUM(C5:~)?
A formula's cell range generally has two parts. A5:H5 contains the cells starting at A5 and includes all cells going across row 5 to H5. Similarly, A5:A9 contains the cells starting at A5 and includes all cells going down the column to A9.
You can use the INDEX function to determine the second part of the cell range reference.
'from A5 to the last number or date in row 5
=A5:INDEX(5:5, match(1e99, 5:5))
'from A5 to the last text in row 5
=A5:INDEX(5:5, match("zzz", 5:5))
'from A5 to the last number or date in column A
=A5:INDEX(A:A, match(1e99, A:A))
'from A5 to the last text in column A
=A5:INDEX(A:A, match("zzz", A:A))
To SUM from D5 to the last number in row 5,
=SUM(D5:INDEX(5:5, match(1e99, 5:5)))
This method is preferred when creating dynamic named ranged (with formulas as the Refers to:) over the OFFSET function as INDEX is non-volatile while OFFSET is volatile and will recalculate whenever anything in your workbook changes.
=SUM(C5:XFD5)
Tested and it works. The last column is XFD, so you're summing on everything right of C5.
This would work:
=SUM(5:5)-SUM(A5:B5)
as would
=SUM(C5:XFD5)
as XFD (16384) corresponds to the maximum number of columns.
try this:
=SUM(E3:E)enter image description here
so the result will be 6, as you starter from
certain cell.

Copy the value in cell 1 multiple times the given number in cell 2

I was searching but found no specific answer to my question.
How can I automatically copy values in
"B1" to next cells in same row, times the amount given in "A1".
So if (e.g.) cell A1's value is "4", then copy B1 4 times in next cells, as in C1 to F1.
There is no VBA tag so I'm guessing you want a formula solution.
In cell C1 use this formula:
=IF(COLUMN()-2>$A1,"",$A1)
Then copy it down the column the length of your data, and copy right as far as the maximum number in column A.

Resources