Google Sheets: Formulas over multiple sheets - google-sheets

Is it possible to grab the contents of a cell from one sheet and display them on another?
I have 4 sheets. And I want the cells of the third sheet to display the first column of the second sheet on the second column.

if you want to get range from another sheet just use:
Replace 'Sheet' and 'A2:C8' with title and range you want to refer
={Sheet!A2:C8}
For multiple sheets
Replace ';' with ',' for horizontal view:
={Sheet!A2:C8;Sheet1!A2:C8;Sheet2!A2:C8}

Add the sheetname exclamation point to your cell reference
e.g. sheet!A:1
Then drag from the first cell down to as many rows as you need.

Google Sheets allows reference between sheets. the syntax is pretty simple. consider a single cell: =<sheetname>!A2 for example. From there, you can drag down with the bottom right corner, and your your column will now be a copy of an arbitrary column in , in this case A

These are the annotations for cells in google sheets
Sheetname!A:1 For Relative Cells
Sheetname!$A:1 For Absolute Columns
Sheetname!A:$1 For Absolute Rows
Sheetname!$A:$1 For Absolute Cells

Yes. For specific ranges you can use IMPORTRANGE.

Is it possible to grab the contents of a cell from one sheet and display them on another?
Yes. It's even possible to get entire columns of data.
In sheet 2 A1,
=ARRAYFORMULA('Sheet1'!A:A)
The single quotes ' can be omitted, if the sheet name doesn't have a space . In other words, if you use Monthly Budget as a sheet name, then single quotes is mandatory.

Related

Google Sheets - How to concatenate values from different rows and columns if the cells meet certain criteria

I am trying to create a formula that concatenates cell values if the ticked box is TRUE Please see attached image click here to see the image
What I am trying to do is to concatenate in one string columns B and C from every row if the checkbox in column A is selected, and have them separated by a ",". You can in cell G2 an example of the final result I am trying to achieve.
You can find the google sheet in this link https://docs.google.com/spreadsheets/d/1hwm4Q89qj3ko2vJ4OASWmgz4VQr_uUaP7E7AmVdl8Ks/edit?usp=sharing
Thanks in advance.
try:
=ArrayFormula(TEXTJOIN(",",1,IF(A4:A,B4:C,)))
You can try this sheet formula first.
=IF(A4="","",IF(A4=TRUE,TEXTJOIN(",",True,B4,C4),""))
This formula has nested IF's just for additional checker to check if the first column has a value and would return blank just for it to be dynamic. You can drag the formula down to adjust the cells.
Sheet sample:

Google Sheets multiple IF(COUNTIF()) possible in same formula?

I have been googling multiple hours now and still cannot find a solution for a Google Sheets problem.
I have two images, the first image is in the cell A1 and the cellname is called "Image1". The second image is in B1 and the cellname is called "Image2". I have two columns of set names, all names in column1 are related to Image1, all names in column2 are related to Image2.
Column1: K1:K4
Column2: L1:L4
I want the name-related images to be displayed next to the names I write down in another column according to if its a name from column1 (Image1 should be displayed next to it) or a name from column2 (Image2 should be displayed next to it).
D4 = First cell where I start writing down names from column1
G4 = First cell where I start writing down names from coulmn2
If I only write down names from column1 I have no problem to display Image1 next to it. Same with names from column2.
I am using those formulas:
=IF(COUNTIF($K$1:$K$4,D4),Image1,"")
=IF(COUNTIF($L$1:$L$4,G4),Image2,"")
The images are displayed correctly to the related names.
Now, if I write and mix down names from both columns I don't know how to automatically display the correct image related to the name in the cell.
Is it possible to combine =IF(COUNTIF)) multiple times?
GoogleSheetsSample
Yes, you can use them together like this in cell J12 on your test sheet:
=IF(COUNTIF($K$1:$K$4,I12),Image1,IF(COUNTIF($L$1:$L$4,I12),Image2,""))
An arrayformula will save you the trouble of dragging down the formula. Add this to cell J12 and delete all content in J13:J1000:
=arrayformula(IF(COUNTIF(K:K,I12:I),Image1,IF(COUNTIF(L:L,I12:I),Image2,"")))
For the arrayformula to work, the criterion for each countif needs to be from the cell where the formula is located (eg, J12 in this example), to wherever you want the criterion to keep working to. I've deliberately left it to :J so it works to the bottom of the sheet.
The countif ranges don't need to be fixed and they can be the entire columns if you wish K:K and L:L. Or you could set a range if you don't want the countif to go past a certain row (eg. K1:K9 and L1:L9).

Sum range with dynamic row on google sheet column

I'm trying to sum a trying column,
I need the row in the range to be dynamic
I have tried
=sum($B$9:CONCAT("B", ROW()))
and then drag it but I'm getting an error,
I also tried with the address and it didn't work
Spreadsheets have a simple way to express this sort of thing: absolute and relative references. Try this in cell C9:
=sum(B$9:B9)
Then drag down the formula cell to extend it to additional rows.

Apply same formula to every cell

I have a sheet with several numbers, which I want to convert to percentage. These are scores imported from a form, where the maximum score is 5.
According to the bellow image, the cell B2, I applied a basic formula =(3/5)*100% to convert three to 60%.
In order to avoid copy and paste the same formula into all cells, is there any formula to find all the cells and apply its value, divide per 5 and multiple per 100%? I thought something similar to Javascript such as (this/5)*100%.
https://docs.google.com/spreadsheets/d/1ZtqJaXy1pHkjk1sywGfSodo0FcOoLlkou79cZBk-jmU/edit?usp=sharing
you could treat it as array and on Sheet2 use:
=ARRAYFORMULA(IF(Sheet1!B2:AA="";;(Sheet1!B2:AA/5)*100%))
demo sheet
I've also looked for a solution to this for some time.
I don't think it's possible as a cell can only hold one value and the moment you try to change that value, it will delete the value.
Your best bet is to create a different table on the same sheet that references the specified values, then copy and paste the results (values only).
Just create a second Sheet, then in cell B2 of Sheet2 use the formula =Sheet1!B2/5*100%.
Then copy the formula to all cells of Sheet2.

How to reference a cell in other sheet which contains a referenced cell not locked to this sheet?

I've searched for hours and couldn't find an answer to the following problem:
I have two sheets, Blue and Red.
I want Blue!A1 to be "exactly" like Red!A1 but I find this problem:
Red!A1 contains "B1+B2", both are Red's cells.
However, when I write Blue!A1 like this: "=Red!A1", the return value is something like "=Red!B1 + Red!B2", and not the "=CurrentSheet!B1 + CurrentSheet!B2"
My problem is that I cannot reference the Blue sheet in the Red one because I want dozens of sheets referencing Red in the same way, so when I change A1 in Red I change all the other sheets' A1 accordingly with their respectives B1s and B2s, not Red's B1 and B2.
I want to have a cell in a sheet which can be referenced by any other cell in any other sheet exactly like it was in the first place.
For instance, if I have a cell which contains =B1+B2 in a sheet, I want to reference it in another sheet in a way that the new =B1+B2 references the current sheet's B1 and B2 cells instead of the former one's.
Can someone help me to solve this problem?
Thank you in advance
Alexandre Trajano
Solution 1
Copy & Paste.
In Google Sheets, copy & paste iterates the formula automatically. If you change sheet, it will change the referenced cells to point to the current sheet; if you change location within the same sheet, it will shift the cell references according to how many columns and rows you shifted.
In contrast, cut & paste will move the formula without iterating the cell references.
Solution 2
If you have a truly large number of sheets you want to create based on a template and don't want to c&p a thousand times, you can use Apps Script.
In particular, you will need
Spreadsheet App to create and access new sheets; and
Functions that manipulate cells here.
You can enter the formula via Apps Script as strings.
For example, say you want cell A1 to have formula B1+C1 in a tab named "Sheet1". You can do the following.
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var tab = sheet.getSheetByName('Sheet1');
sheet.setActiveSheet(tab);
var cell = tab.getRange(1, 1); // The arguments are the row and column indices of A1, respectively.
cell.setValue('=B1+C1');
There are many things you can do here with the basic template. You can generate sheets based on some naming convention. You can generate formula based on the cell position. You can create a script that fills in the formula upon the creation of a tab if its name observes a certain rule. etc etc. And naturally, you can duplicate the formulas from one sheet. You will need getFormula() as opposed to getValue.
Note: you can also call
custom Apps Script function directly in your sheet and write your cells using the output of your custom function. But in your case, using the range functions in Apps Script should be more efficient.

Resources