Calculating imported range of cells - google-sheets

I want to import ranges of cells in a row to another tab in Google Sheets, where I divide these rows into columns (68 rows at a time, with to blank rows in between).
I'm importing Sheet2!A2:A69 from Sheet2 to Sheet1!C4:C71 via =ARRAYFORMULA(Sheet2!A2:A69). I then want to import the next 68 rows (with two blanks in between) at Sheet2!A72:A139 to Sheet1!D4:D71. And then continue that up until column Z or so.
How can I change my formula to calculate which cells I want to import without having to manually write them in for each column in Sheet1?

You could try using the OFFSET function combined with the COLUMN function.
Put this formula in C4 and copy it across as far as needed.
=ARRAYFORMULA(OFFSET(Sheet2!$A$2,69*(COLUMN()-3),,68))

Related

How to sum numbers within text in google sheets?

Im looking to sum the numbers within a cell of text, into another cell.
Example of Excel
Try
=sum(split(join("|",REGEXEXTRACT(A1,REGEXREPLACE(A1,"([0-9]+)","($1)"))),"|"))
Clear Col C entirely (including the header "TOTAL"). Then place the following formula in cell C1:
=ArrayFormula({"TOTAL"; MMULT(ARRAY_CONSTRAIN(SPLIT(REGEXREPLACE(A2:A,"[^\d]+","~")&REPT("~0",25),"~"),COUNTA(A2:A),25),SEQUENCE(25,1,1,0))})
You can change the header text within the formula itself if you like.
This one formula will produce the header and all results for all rows in Col C.
How It Works
REGEXREPLACE replaces any groupings of anything other than digits with a single tilde (~). To this new string, REPT adds a repeated string of 25 instances of ~0.
SPLIT then splits this at every tilde, which sends each number (and zero appended by REPT into its own column. Some rows at this point will have more columns than others, because you have a different numbers of listed items in each of your A2:A cells.
ARRAY_CONSTRAIN constrains the results into a regular grid with as many rows as there are non-null entries in A2:A and 25 columns. Based on your data samples, this should be more columns than you'd ever have listed items per cell in A2:A. Those REPT zeros will fill in all columns after your last actual value in A2:A.
MMULT can now act on the constrained grid, along with SEQUENCE to do row-by-row addition.

Google Sheets: how to sum a dynamic range across columns using a variable to determine range length

I'm trying to write a formula in Google Sheets that will enable me to sum a range of values across columns, where I can manipulate the number of cells to be summed across the column with a variable. For example:
if my variable is 5, then I want to sum(D3:H3);
and if my variable is 9, then I want to sum(D3:L3)
Furthermore, I want a formula that I can drag across columns so that the range it's summing moves relative to the cell the formula is in. In the example above with the variable=5:
the formula in cell A3 would be sum(D3:H3);
and the formula in cell B3 would be sum(E3:I3)
etc.
I created a sample spreadsheet here for more context.
Thanks for reading!
I've added a sheet ("Erik Help"). See formula in B5:P5.
Here is the B5 formula (which was then dragged across to P5):
=ArrayFormula(SUM(FILTER($B$1:$1,COLUMN($B$1:$1)>(COLUMN()-$B$4),COLUMN($B$1:$1)<=COLUMN())))
There may be an array approach. But since you have such limited data, this is just as effective with less time investment required to develop the solution.
In plain English, the formula reads "Sum the numbers from B1:1 where the column is greater than X rows back and no greater than the current column" (where X is the value set in B4).
paste in column B and drag to the right:
=IF(COLUMN()-1<$B1, "-", SUM(INDIRECT(
ADDRESS(3, COLUMN()-($B1-1))&":"&
ADDRESS(3, COLUMN()))))

How to apply a formula to cells in a given range?

I have a sheet that is the result of a query and can return an arbitrary number of result rows (the number of columns is fixed).
I am calculating the range that corresponds to the result set. This is working well. I use it to copy the result set into my sheet.
Now that I have the results copied to my sheet I want to add a column with a formula that works against the cells in the row. How to do this? The issue is that the number of rows is not fixed, how to have the formula apply to the rows that happen to be there.
Here is a sample sheet:
Result Set is the output of the query
Report is the sheet I made with a copy of the result set
Link to Sheet
Column C is what I am trying to populate, the number of rows for Columns A and B will update each time I open the sheet.
Another way:
=arrayformula(if(A13:A<>"",A13:A&"="&B13:B,""))

How do I organize formulas to work with columns in google sheets

Hi so I'm trying to make a spreadsheet in Google Sheets that takes two numbers and subtracts them and then does it in the next row .
So example the formula in C1 would be "subtract(A1, B1)" in the first row. But then in the next row I would like it to change to "subtract(A2, B2)" and output in C2.
(Without having to go in each C cell and change the formula of course)
So how do I do that and also how do I apply a formula to multiple cells of a row (C1,C2,C3,C4,C5, etc....)
Just put =MINUS(A1,B1) into C1 and then copy it and paste it in the remain rows of column C and the spreadsheet automatically adjusts the row numbers for you.
#Cooper's Answer above is perfect. I'm just giving a alternative here using array formulas, because it's easy.
Put this in D2
=ARRAYFORMULA(MINUS ( B2:B, MULTIPLY( 2.5, QUOTIENT(C2:C,15))))

Google Sheet Dynamic Sum

I am using google sheets to make a spread sheet and do some simple math, I figured how to do the summing but the problem is that I have about 180 rows of data and want to avoid, if possible, the need to make a formula for every single pair of data. Here is the simple code that I have:
=SUM(AG4:AG5)
So I am writing this code in this case in AH4 and is always the same relative placement to the values I want to add. I want the sum of the two numbers one column to the left and the current row and a row under that. Is there any way to make it so that the same formula can be used over and over instead of typing each one out. Maybe some way to make the formula look one column to the left take that number and add it to the cell one column to the left and one row down?
Thanks for any help you can provide.
You can use the ARRAYFORMULA function to apply a formula to multiple rows. It does not like some functions, though, and SUM() is one of them. So we need to use a different method to add the numbers. In this case, we just use AG4 + AG5. To apply the formula to all the rows in the spreadsheet we do a little more. Here is the formula, which would be placed in cell AG3 provided that is where the formula should start adding items.
=ARRAYFORMULA( IF( ISBLANK( AG3:AG),, AG2:AG + AG3:AG))
The IF ISBLANK AG3:AG) causes the formula to be applied to every row from row 3 to the last row in the sheet. ISBLANK will return FALSE on any row we want to work on so we provide nothing to teh TRUE portion of the IF statement. Note that I did not put "" in for the TRUE portion as that actually places a value in the row and can cause problems with other formulas. Since we are placing this in cell AG3 the addition will increment adding the row above to the current row.
EDIT from Comments
Placing this in cell AH2 will get you what you want:
=ARRAYFORMULA( IF( ISBLANK( AG2:AG),, IF(iseven( ROW(AG2:AG)),AG2:AG + AG3:AG,)))
Taking it a step farther, placing this in cell AH1 will label the header row for you and keep the formula out of the data rows. This has the advantage of allowing rows to be inserted above row 2.
=ARRAYFORMULA( IF(ROW(AH1:AH) = 1, "Total", IF( ISBLANK( AG1:AG),, IF(iseven( ROW(AG1:AG)),AG1:AG + AG2:AG,))))
The explanation is similar to above, only minor changes were made.
NOTE: The rest of column AH (below the formula) should not have any other manually entered data, so you will have to delete your formulas.

Resources