I'm trying to dynamically reference data from multiple sheets into multiple cells on one sheet. I'm constantly creating new sheets within the same workbook. I'd like to be able to set it up to where I can easily auto-populate the cells with the data from a new sheet instead of having to rewrite the formula with the new sheet's name.
I'm currently using ='sheetname'!B1 to reference the data from multiple sheets. The problem is when I click and drag the cell to reference a different sheet it changes to ='sheetname'!B2. I've set up the A column with the names of the sheets and tried to figure out a way to reference those as the sheet names but was unsuccessful. Here is a link to a google sheet that shows the problem I'm having:
https://docs.google.com/spreadsheets/d/1lVPemberRSKDcHc3ogz4XE_PTgSAO9IYXx5RCmVQ9C8/edit?usp=sharing
I want the cell B2 in "Totals" to reference A2 as the sheet name and then I want to be able to click and drag so that B3 references A3 as the cell name but doesn't change the cell that it is pulling data from on each of the different sheets.
I actually figured it out. You have to use =INDIRECT("'"&A2&"'!B12"). Way more simple than I thought it was going to be...
Related
In google sheets, is it possible to enter a formula in a cell, using the data from the same cell?
Not directly. But you can have a duplicate sheet, with the duplicated sheets referencing the other one with the proper formula for any change you want.
For example you want an updated 'view' sheet (B)for some other user that also change some value based on the data you have on your sheet (A) but you dont want them messing with your Sheet (A).
The solution is to create a sheet B that references sheet A , for example by using IMPORTRANGE if you want to just show information, or the a formula that involves referencing data from your sheet A.
The answer is really simple : no. Because of a really simple algorithm :
1 - Target cell formula's parameter and go to step 2
2 - If a targeted cell changed go to step 3 else finish the treatment
3 - Evaluate the formula, display the value into the cell and finish the treatment
I have a Google Sheet that is filled from a Google Form, and I need to apply functions in some columns of each row that is not been filled (inserted).
When the user fills the form the data goes to the sheet but the functions shifted to the next row by itself, but I want to apply the function in the same row.
You just need to use arrayformula so in N2 you would enter:
=IF(ISNUMBER(J2:J),J2:J+M2:M,)
This causes the formula to run itself down the sheet only once there is a value in the cells your trying to add. This way it doesnt prevent new entries from being added
I have made a simple formula, based on cells in the same row, to indicate to the user that they have entered enough information - and it works as needed .
=IF(AND(ISTEXT(B20),ISNUMBER(C20),ISNUMBER(E20),ISTEXT(F20)),"Ok",IF(AND(ISBLANK(B20),ISBLANK(C20),ISBLANK(D20),ISBLANK(E20),ISBLANK(F20)),"","MORE INFO"))
However, when I click the built in "add more rows" button at the bottom of the sheet the formula is not present in the new cell - but any dropdown menu or validation I've used in the cells not containing the formula are present in the respective added cells of the new row. Any Ideas why just the formula is missing ? Thanks.
Thanks to GimelG at Google Docs Forum..........
When you add additional rows, Sheets assumes you want to continue the same dataset and, therefore, applies the existing formatting as well as Data Validation. It does not, however, copy formulas automatically as that would be adding actual new data to your sheet.
You can use an ArrayFormula version of your formula to populate the entire column, which it would continue to do as you'll add more rows of data. Assuming your data starts at row 2 (below the header), try this:
=arrayformula(if(istext(B2:B)*n(C2:C)*n(E2:E)*istext(F2:F),"Ok",if(len(B2:B)+len(C2:C)+len(D2:D)+len(E2:E)+len(F2:F),"MORE INFO",)))
I'm trying to reference the data from another sheet, but I'd like to be able to dynamically specify the Sheet name via a cell within this sheet.
Let's say cell A1 has the text "Sheet 1"
Instead of having my formula say:
=TRANSPOSE('Sheet 1'!F2:F121)
I need to find a way to insert the data from cell A1:
=TRANSPOSE('reference text from A1'!F2:F121)
Is there a way of doing this? I'm working in Google Sheets.
Does this formula work as you want:
=TRANSPOSE(INDIRECT(A1&"!F2:F121"))
I'm attempting to get Google Sheets to function like a Database, where sheets can "talk" back and forth to one another. Basically, a column on one sheet can auto-populate another column on a different sheet, and vice versa. HOWEVER, the other criterion is that the columns aren't necessarily in the same location on each sheet. In addition, there are many individual cells that merely have to talk back and forth to another, so it can't just be whole columns sharing information back and forth.
It's a little hard to explain, so I've attached the Sheet in question:
https://docs.google.com/spreadsheets/d/12MFlAqZGQsW6wxwSUyNaYJoFD3_Kt5uK7g88Tj_fAms/edit?usp=sharing
Dummy information has been entered into the columns on each sheet to show where the information should be flowing.
There are quite a few picklists in the Sheet, and those would still have to be able to function.
There is another discussion which touches upon this process:
https://productforums.google.com/forum/#!msg/docs/OrObv5ZAmIs/-eNw5g5TGjUJ
The issues with the above solution is that I don't need the other sheets to be hidden, and I have four sheets, most likely seven when the Sheet is completely finished.
It's a complicated Sheet that has to be as user-friendly as possible.
I do this most often with the importrange function. If you need to reorder columns in the second sheet you can specify a single column as you range and place it in any column you need in the new sheet. Using multiple import range formulas in successive columns you can then reorder your data set. This approach is dynamic so any time your original data changes, the associated sheet updates as well.
If you only want to update the second sheet at certain times or on command you can do this with a script and a time trigger or a button object placed somewhere on the first sheet that is associated with the script. The script would read the data from the originating sheet and the write it back to the second sheet in any order you wish.