Google Sheets: Join two tables together - google-sheets

Link to sample sheet - https://docs.google.com/spreadsheets/d/1nKQXHwVO8KjsOy5qvjzh-s-YYRUYlAoH-3aXYbwcKsA/edit?usp=sharing
I have a report that's downloaded from the google ads console which looks like this:
I get a report from the client which attributes leads to google ads campaigns like this:
I want to combine both these tables together to make them look like this:
If you look at the data in the first to tables, you'll see that the report the client shares with me has leads attributed to 24th March. This date is not present in the report that I got out of the google ads console. Using a sumifs formula will not capture all the leads that I get from the client's report.
Essentially, to get the data from both tables in the output table, I need to do a full outer join.
I'm not sure how to do that in google sheets. Any help you can give me would be greatly appreciated!

I made a new tab in your sample called MK.Help.
I then put this formula in cell L3:
=ARRAYFORMULA(QUERY({A3:G;{H4:I,IFERROR(ROW(H4:H)/{0,0,0,0}),J4:J}},"select Col1,Col2,SUM(Col3),SUM(Col4),SUM(Col5),SUM(Col6),SUM(Col7) where Col1 is not null group by Col1,Col2 label SUM(Col3)'Impressions',SUM(Col4)'Clicks',SUM(Col5)'Cost',SUM(Col6)'Leads',SUM(Col7)'Offline Leads'"))
That do what you're hoping?

Related

Google Sheets - Grab data from a separate sheet and add it to a master sheet

I have a Google Sheet that has a main master sheet, with a column for users to fill in their Name to show they are "working" on that row, then that row gets populated to their own tab based on a =QUERY(Master!A3:AA,"select * Where L='Name'") for each of the users' tabs, there is 8 total tabs where users are updating information. This is already quite a bit of processing on Googles part, so I am trying to generate a separate Google Sheet that pulls in the information that the users are entering on each of their tabs so the management can monitor that sheet for updates and then both sheets will run a lot faster/smoother.
I have tried using a VLookup with this syntax: =vlookup(A3,importrange("sheetID",{"Name1!$A$3:$N";"Name2!$A$3:$N";"Name3!$A$3:$N";"Name4!$A$3:$N";"Name5!$A$3:$N";"Name6!$A$3:$N";"Name7!$A$3:$N";"Name8!$A$3:$N"}),12,FALSE) which gives me an #N/A Error, cannot find Value '1' in VLOOKUP evaluation.
I have also tried using a =QUERY({importrange("sheetID"x8 with the ranges)}, "Select Col12,Col13,Col14 where Col2 matches '^.\*($" &B3 & ").\*$'")
That only returns headers, I am trying to get the query to basically find the unique key in Column A then spit out what is in Col 12-14, but that doesn't seem to work either. Columns 1-11 are static, but Columns 12-14 are what I am trying to populate for the management, which is the work that the staff is inputting on each of their tabs.
I can get the query working if I keep it on the same worksheet as the one the staff is working on, but then it bogs down the whole sheet so I would like to keep it separate if possible. Any ideas? I can't provide a sample sheet at this time since it has financial info on it, but I can add more details if I know what to look for.
your formula should be:
=VLOOKUP(A3, {
IMPORTRANGE("sheetID1", "Name1!A3:N");
IMPORTRANGE("sheetID2", "Name2!A3:N");
IMPORTRANGE("sheetID3", "Name3!A3:N");
IMPORTRANGE("sheetID4", "Name4!A3:N");
IMPORTRANGE("sheetID5", "Name5!A3:N");
IMPORTRANGE("sheetID6", "Name6!A3:N");
IMPORTRANGE("sheetID7", "Name7!A3:N");
IMPORTRANGE("sheetID8", "Name8!A3:N")}, 12, 0)
keep in mind that every importrange needs to be run as a standalone formula where you connect your sheets by allowing access. only then you can use the above formula

Google Sheets sum multiple columns

I’ve just inherited a google sheet from a client where they’ve put multiple campaign performance data tables next to each other in a single sheet. I need to sum up the metrics into another sheet. The problem is that there are around 107 campaigns currently active and if I start summing them up the regular way with something like =sum(A2,D2,G2,etc) it’ll take me a long time to get it done AND there would be no guarantee of accuracy.
I’ve made some sample data which looks like my client data. Link to sample data: https://docs.google.com/spreadsheets/d/1DtcYbkdHgcOH-IzEaD4UsWT2upujx8qD4AC8LErlM-U/edit?usp=sharing
In the data tab, I have a sample of the campaign data. You can see that there are multiple sections where each section represents a campaign. In the consolidated sheet, I’ve shown the end result that I need to work towards - a daily summary of all campaign data.
I need a solution which will scale up to 107 campaigns whose data is recorded in this one single sheet in a similar format. I appreciate any help that I can get with this project!
You can use the Query formula to get the desired output:
=QUERY(ARRAYFORMULA({Data!B4:F6;Data!H4:L6;Data!N4:R6}), "SELECT Col1, Sum(Col2), Sum(Col3), Sum(Col4) GROUP BY Col1 ")
I have only added 3 tables as example, you can add more as required

How can I concatenate and transpose two ranges of cells in Google Sheets?

I have a Google Form linked to a Google Sheet. It has a number of questions with responses that I need grouped into specific columns. I also need to keep the columns in the order they're in.
I was working with a formula someone helped me with to do one single range:
=ARRAYFORMULA({"Job Responsibilities";IF(A2:A="",,TRIM(TRANSPOSE(QUERY(TRANSPOSE(H2:V),,100))))})
However in the instance I am having problems, I need to group together the answers that are in columns W - AK and also BA - BO into one cell.
I tried something like
=ARRAYFORMULA({"Supporting SAP Stream";IF(B2:B="",,TRIM(TRANSPOSE(QUERY(TRANSPOSE(W2:AK)TRANSPOSE(BA2:BO),,100))))})
or
=ARRAYFORMULA({"Supporting SAP Stream";IF(B2:B="",,TRIM(TRANSPOSE(QUERY(TRANSPOSE(W2:AK, BA2:BO),,100))))})
But that makes an error.
Is there another modification I can make to concatenate and transpose the values in these cells?
Here is a link to a Google Sheet showing most of what I'm referring to. It's from an earlier iteration, so it's not 100% exact with what I said above, but the goal is still the same. In this Sheet, I would like to concatenate what's in Columns U - AG and AU - BF.
Update, based on the data in your sheet:
=ARRAYFORMULA({"Supporting SAP Stream";IF(B2:B="",,TRIM(TRANSPOSE(QUERY({TRANSPOSE(U2:AG);TRANSPOSE(AU2:BG)},,100))))})
Try:
=ARRAYFORMULA({"Supporting SAP Stream";IF(!B2:B="",,TRIM(TRANSPOSE(QUERY({TRANSPOSE(W2:AK); TRANSPOSE(BA2:BO)},,100))))})

Google Sheets: How to Filter Vertically Merged Cells

I've come looking for help regarding this issue. I'm a teacher, and am trying to help my students get all their documents together for university applications. Google Sheets tell me that I'm not able to filter cells containing vertical merges, but I want to filter by the earliest application deadline (column G) so I know which student I have to chase up first, second, third, etc., without losing the rest of the data in the row.
Does anyone know a good way of doing this? I've created a sample of my spreadsheet: here.
Thanks in advance.
Try Insert > New sheet and this formula in cell A1 of the new sheet:
=query('2021'!A1:Z, "where G is not null order by G", 1)
The sorted list is for reference only. You will need to continue to do your editing in the 2021 sheet.
I would split the data between a couple of sheets.
In the first sheet you'd have important data that can be seen at a glance and filtered easily, like student names, universities and deadlines.
In the second sheet (which you can link by student name or id) you can put extra info like necessary documents, urls etc - something like this.
Alternatively keep all the info in one sheet but don't use split columns or rows - it isn't conducive for sorting, filtering and viewing data (and what's the point of data if you can't analyse it?)

Distinguish between two variables in one column

I am working with dynamic data which will populate my Google Sheet from a Form.
Basically we work with two companies at a time who assess different client opportunities. This sheet feeds into Google Data Studio.
In order to avoid manipulating the data in the sheet each time we want to display info in Data Studio, for each client that is assessed I am trying to use a formula to attach a tag in column F. Client assessed with the number 1 for the first assessment and Client assessed with the number 2. I.e: Lloyds1 or Lloyds2.
This would be easily doable if only one person from each company assessed client account but in fact it could be two or three from each company.
In the case of one person from each company i used this:
=IF(ISBLANK($D2),,(D2&COUNTIF($D$2:$D2,D2))) - worked because there would only ever be two entries
I've tried to adapt this to COUNTIFS but it doesn't work.
Hopefully I explained this problem ok and someone can help
Link to sample spreadsheet:
https://docs.google.com/spreadsheets/d/10sqp0zpThdtdRws2p2Dqs0n8IwxwBIpwk-ibH5vofGQ/edit?usp=sharing
So, I couldn't do it all in one formula as the countifs was not working for me as well. So I had to do it in a support table (which you can put in a support tab or something where you can hide it):
The support table I did was the following:
cell A2: formula: =ARRAYFORMULA(if(len(B2:B),B2:B&""&C2:C,))
cell B2: formula =unique(E2:F)
cell D2: formula =ArrayFormula(if(len(B2:B),countifs(B2:B,B2:B,row(B2:B),"<="&row(B2:B)),))
And then in the cell, you want you may have the following:
=ArrayFormula(IF(ISBLANK(E2:E),,(E2:E&vlookup(E2:E&""&F2:F,A2:D,4,false))))
It should look like this:
It is not the neatest solution, but it works and is dynamic

Resources