Google Sheets Add Formula Automatically After New Row - google-sheets

I'm using Zapier to automatically send data to a google sheet and I'm looking for a solution that allows me to automatically add the formula I want in a column when a new row is added.
For example: In column K I'm using this formula:
=VLOOKUP(J2,'List of Employees'!A:B,2,false)
This VLOOKUP function is working properly but only if I double click and expand the formula.
How I can automate this and pass the formula to the next new row created by Zapier?

Clear column K and then enter in K2
=ARRAYFORMULA(IF(LEN(J2:J), VLOOKUP(J2:J,'List of Employees'!A:B,2,false),))
This formula should not be dragged down as it processes all contents of column J and create an output in column K.
I hope that helps?

Related

Linked sheets shift formula values in Google Sheets

I have 2 sheets in Google Sheets that are linked.
Sheet1 is the 'root source'.(Sheet1 is a Google Form sheet that automatically updates with new responses).
Sheet2 uses the formula "=Sheet1!C2" to transfer values from Sheet1 to a specific column (in Sheet2).
The formula in Sheet2 is expanded/copied so that "=Sheet1!C2" is followed by "=Sheet1!C3", "=Sheet1!C4", and so on.
The problem: Every time a new entry in Sheet1 is created (i.e. a new response is created), Sheet2 does not get a new entry (but it should since I have defined it using the mentioned formulas). When inspecting the formula, I see that cell in the formula (like C3, C4, ...) gets shifted upwards by 1.
Therefore, the cell (still in Sheet2) that was defined with the formula "=Sheet1!C3" is automatically changed to "=Sheet1!C4".
How can I prevent this automatic upwards shifting of the formula when a new response/entry is created in Sheet1 (so that it automatically arrives in Sheet2 as well)?
Thank you!
use arrayformula in row 1 in your Sheet2:
=ARRAYFORMULA({"header"; Sheet1!C2:C})

Trouble with a single cell formula being converted to a full column formula

I have a Google Sheet that has a Google Form populating the results of many games that a friend and I play. I have created a new column and added a formula to the top cell in that column and just copied it down the column:
=JOIN(" / ",(FILTER(MyDecks!B$2:B,MyDecks!A$2:A=B5)),(FILTER(HisDecks!B$2:B,HisDecks!A$2:A=C5)))
MyDecks column A is a list of deck names.
MyDecks column B is an attribute of each deck, which is the desired return value.
B5 and C5 are both within columns of the Sheet tab where the formula exists.
The output when using the formula above is something like "M / P", for example.
This formula however, currently has to be copied and pasted, or just extended down to the new cells any time I add another entry with the Google Form.
I would like this formula to be altered so that it will function the same as it does currently, but have it reside within the column head itself so that new entries will just accept and render the formula automatically for the new entries that I create.
I have tried:
=ArrayFormula(IF(ROW(D:D)=4,"Matchup",IF(ISBLANK(C:C),"",JOIN(" / ",(FILTER(MyDecks!B$2:B,MyDecks!A$2:A=B$5:B)),(FILTER(HisDecks!B$2:B,HisDecks!A$2:A=C$5:C))))))
and many other iterations of the same idea, to no avail. I am a novice and am hoping that there is an easy solution to my issue.
use:
={"Matchup"; ARRAYFORMULA(IFNA(
VLOOKUP(B5:B, JoeDecks!A2:B, 2, 0)&" / "&
VLOOKUP(C5:C, BryanDecks!A2:B, 2, 0)))}

Google sheet formula that finds row name and returns column headers based on marked cells

I'm trying to return the column headers for a row that is marked with an x. The row is selected from a name in the left column. I'm stuck here.
I can illustrate what I want to do by showing these images:
Start table
The result I want is this:
Outputs of the possibilities for the first sheet
I have put more information in my Example Sheet.
Link to editable example sheet
This formula should create a table (with a single formula) with the months in one column and the headers in the second column.
=ArrayFormula({A4:A15\ substitute(transpose(query(transpose(if(B4:G15="x";B3:G3&char(10);));;rows(A4:A15)));" ";)})
If you'd want to 'lookup' the months you manually type in you can wrap the above in a vlookup. Example:
=ArrayFormula(if(len(L4:L); vlookup(L4:L; {A4:A15\ substitute(transpose(query(transpose(if(B4:G15="x";B3:G3&char(10);));;rows(A4:A15)));" ";)}; 2; 0);))
You can check out both formulas in the copy of the sheet I've made in the spreadsheet you shared.

Referencing a cell into a formula

This question pertains to Google Sheets. In column F of one "List" tab of my sheet, I have the name of all the other tabs in my sheet. All the other tabs contain information specific to one single topic. Im trying to get all of column N in "List" to pull up cell G2 of each sheet. So far, ive been using this:
='(sheet name)'!G2 ;in the N column, changing (sheet name) manually and individually
But I'd rather have the content of the F fill the (sheet name) part of the formula. Any way to do so?
With sheet names in column F, in N1 enter:
=INDIRECT("'" & F1 & "'!G2")
and copy down. Please note the single quotes in the formula.
This should work for both Excel and Google Sheets.

Take values from column and put into a row

In google docs I am tryignt to take the values from a column in one sheet and use them as column headings in another sheet without duplicates.
Thus if sheet1 has
a
a
b
f
g
g
Sheet 2 should have it as
a b f g
In Excel I would just use VBA code, how do I do it in a google sheets?
I know the command to get it into a column, but not into a row
=unique(sort('Acumen Lead Tracker'!X3:X64,1,true))
Thanks
Try in Cell A1 of the second sheet:
=transpose(unique(Sheet1!A:A))
where Sheet1 is the sheet where the values you want to use as headers are found in col A.

Resources