Google sheets: Arrayformula with importrange - google-sheets

I'm trying to work with combined arrangeformula and importrange formulas. I want that from spreadsheet1:Table1 P4 value would be taken to spreadsheet2 C3 cell: Table2 and only when i add new link to column "L" it will put automatic value at C4. So i want to use arrangeformula so it will work on whole column, but i want to fix that from all the links i add it would take same "P4" value. Possible?

There is no solution. See link1 and link2
All you can is
={IFERROR(IMPORTRANGE($L3;"Lapas1!A2");"");
IFERROR(IMPORTRANGE($L4;"Lapas1!A2");"");
IFERROR(IMPORTRANGE($L5;"Lapas1!A2");"");
IFERROR(IMPORTRANGE($L6;"Lapas1!A2");"")}
as many times as you wish

Related

Copy a NB.SI formula into a Google Sheets sheet

I am turning to you today for help with a problem on Google Sheets.
I receive this data from a Google Sheets form: An answer (0 or 1) to 5 different questions.
I would like to calculate in column A (in green) the scores out of 5 for each row, as soon as a new row is added by the form.
I tried to use the ARRAYFORMULA() function but it does the count for all the cells in the range and not just row by row:
Do you have an idea to have a score out of 5 for each line of question and have it apply to the whole file as soon as a new line is added by the Google Form?
Thanks for your help
If you want to use COUNTIF (English correspondance for NB.SI), modify your formula to:
=ARRAYFORMULA(COUNTIF(IF(B1:F=1,ROW(B1:B)), ROW(B1:B)))
or for your regional settings:
=ARRAYFORMULA(NB.SI(IF(B1:F=1,ROW(B1:B)), ROW(B1:B)))
You can get a row-by-row sum with sumif() like this in cell A3:
=arrayformula( sumif( if(column(B3:F), row(B3:F)), row(B3:F), B3:F) )
This formula uses open-ended range references so it will create results all the way down to the end of the sheet. To limit that, use a range reference like B3:F100 instead.

Indirect formula referencing of formula in Google sheets

I have a a Google sheet which have multiple tabs in them
I use formula to get the consolidated info from the known names of the tabs as shown below
=UNIQUE({Appliances!A2:B;'Base, Trim & Crown'!A2:B;'Bathroom Accessories'!A2:B;'Bathroom plumbing'!A2:B;Cabinetry!A2:B;Carpet!A2:B;Closets!A2:B;'Entry Door'!A2:B;'Exterior and Interior Stone'!A2:B;'Exterior Lighting and Fans'!A2:B;'Exterior Siding'!A2:B;Fireplaces!A2:B;'Garage Doors'!A2:B;Gutter!A2:B;'Interior Door'!A2:B;'Kitchen Plumbing'!A2:B;'Paint Color'!A2:B;'Patio Stone'!A2:B;Roofing!A2:B;Slab!A2:B;Staircase!A2:B;Tile!A2:B;'Timbers, Beams & Ceilings'!A2:B;'Windows & Multislides'!A2:B;'Wood Flooring'!A2:B})
Suppose if I add a new sheet tab, this formula need to be updated again, which is cumbersome for me. So I am thinking is it possible to have a range in MASTER sheet that lists all sheetnames one below the other A2:A6 and synamically generate the sheet formula using indirect referencing?
So if I just add the new tab sheet name in MASTER the formula results are auto updated.
A2:A32 contains the list of sheetnames
=INDIRECT(CONCATENATE("{",TEXTJOIN(";",true,ARRAYFORMULA("'" &A2:A32 &"'!" & "A2:B")),"}"))
Well, first of all, INDIRECT doesn't work with ArrayFormula, sadly (I wish). But secondly, what's so cumbersome about updating the formula you have? Just format it like this:
=UNIQUE({
Appliances!A2:B;
'Base, Trim & Crown'!A2:B;
'Bathroom Accessories'!A2:B;
'Bathroom plumbing'!A2:B;
Cabinetry!A2:B;
Carpet!A2:B;
Closets!A2:B;
'Entry Door'!A2:B;
'Exterior and Interior Stone'!A2:B;
'Exterior Lighting and Fans'!A2:B;
'Exterior Siding'!A2:B;Fireplaces!A2:B;
'Garage Doors'!A2:B;
Gutter!A2:B;'Interior Door'!A2:B;
'Kitchen Plumbing'!A2:B;
'Paint Color'!A2:B;
'Patio Stone'!A2:B;
Roofing!A2:B;
Slab!A2:B;
Staircase!A2:B;
Tile!A2:B;
'Timbers, Beams & Ceilings'!A2:B;
'Windows & Multislides'!A2:B;
'Wood Flooring'!A2:B
})
Just add it where you want on the above list, leaving out the semicolon on the last item. (I'm not sure if you meant double quotes or not, so I left it as is.)
Or, if you really want to generate the sheet names from a list, you can use this, based on your above formula:
=ArrayFormula(TEXTJOIN(
";"&CHAR(10),
1,
"'"&SORT(FILTER(A:A,LEN(A:A)))&"'!A2:B"
))
which sorts in alphabetical order too. This outputs something you can copy+paste into your first formula.

How to Search for text in google spreadsheet

Please I need to write a query to search for a text from one columns in all cells of a column.
For example:
I need to pick every text from column B cells and try to find it in column A cells. if found do something. Can you help me?. This will be used for a thousand of rows.
You could put this in C1 and copy it down:
=iferror(if(match(B1,A:A,0)>0,"Do Something",""))
Here is a link to my test spreadsheet:
https://docs.google.com/spreadsheets/d/1W65pNPqqYA1fmvjQyferqOHzXbSyRIOV2XvF6MdMBmE/edit?usp=sharing

Conditional Matching in Google Sheets

I have two spreadsheets. Each has a column A that has an account number. But each has a different info about that account. The accounts also don't share the same set there maybe some the other doesn't have. What I want to do is check Sheet one column A vs sheet two column A and based on that populate a cell in Sheet 1 with Sheet two column B. Could anybody help me with how I might do this.
My Sheet2 looks like this:
You can use VLOOKUP in Sheet1. This formula would work: =vlookup(A2,Sheet2!A:B,2,0)
You can see it put in the cell C2:
If you don't like the #N/A error you can embrace the formula in IFERROR with the parameter "" which would yield an empty string:
=iferror(vlookup(A2,Sheet2!A:B,2,0),"")

Using a formula to specify sheet in Google Spreadsheets

What I did is pseudocode basically and I just want to specify the sheet using a cell as shown in the picture. What is the proper notation (if there is any)?
(Trying to solve E3 in this example. It should show a number from another sheet, and I just want to make it easy to copy/paste down column E by referencing to the sheets using the strings in column A)
You can use INDIRECT() function to do that, for example :
=INDIRECT(A3 & "!B4")
You may need to wrap sheet name with quotes if it contains special character(s) :
=INDIRECT("'" & A3 & "'!B4")

Resources