Google Sheet Formula - Vlookup multiple tab - google-sheets

I am trying to lookup for data in multiple tabs (so far I have 20 sheets). I just want to import the status information when someone selected the dropdown. I used the formula below
=ARRAYFORMULA(VLOOKUP(D5:D,{EVENTS!A1:E4,CURRICULUM!A1:E2,DATA!A1:E2,'STUDENT EXPERIENCE'!A1:E2,Alderink!A1:E2,Bishop!A1:E2,'Bishop, Booker'!A1:E2,Booker!A1:E2,'Booker, Events'!A1:E2,'Booker, Davis'!A1:E2,'Booker, Coughlin'!A1:E6,'Booker, Giles'!A1:E2,'Booker, Cramer'!A1:E2,Coughlin!A1:E3,'Coughlin, Shepard'!A1:E2,'Daley, Booker'!A1:E2,Dutkiewicz!A1:E2,'Dutkiewicz, HR'!A1:E2,'Epstein, Booker, Coughlin'!A1:E2,'Fortier, Giles'!A1:E2,'Giles, HR'!A1:E2,Gunn!A1:E2,Lawrence!A1:E6,'Lawrence, Gely'!A1:E2,Lowe!A1:E2,'Lowe, Enge'!A1:E2,Niedzielski!A1:E3,'A. Miller'!A1:E3,'A. Miller, Lawrence'!A1:E2,'A. Miller, Events'!A1:E2,'M. Miller'!A1:E2,Montanino!A1:E3,Shelton!A1:E2,Shull!A1:E2,Sneath!A1:E5,'Sneath, Coughlin, Booker'!A1:E2,Stahley!A1:E2,Stevenson!A1:E2,Veneklase!A1:E2,Wiggins!A1:E2}3,1))
It seems it gives me an error. I am just trying to avoid copy and paste when multiple contributors inputting information. Created different sheets for each contributor and I want the data to be populated in summary tab when they input information in another tab.

Related

How can I read the content of a cell in Google Sheets and use it to set values in other cells?

In Google Sheets, I am working on a calculations form with several columns so multiple users can use it concurrently.
The layout is 1 column for the number data and the next is for setting varying weights to apply for each entry. That's all working.
What I'm looking to do is setup a pull-down menu with the various data columns listed where a user can select the column they were working in and hit the clear button to clear their entries.
I also want to setup a pull-down menu with the various weight columns listed where a user can select the column they customized weighting in and reset it.
I have created scripts to manually do this but I want to be able to substitute the selected column rather than have 26 different scripts and buttons.
Here are the manual scripts that address the data column Z and the weight column AA:
function resetFormCDataColumn() {
SpreadsheetApp.getActiveSheet().getRange('z1:z4').setValue('');
SpreadsheetApp.getActiveSheet().getRange('z8:z9').setValue('');
SpreadsheetApp.getActiveSheet().getRange('z12:z13').setValue('');
SpreadsheetApp.getActiveSheet().getRange('z16:z17').setValue('');
SpreadsheetApp.getActiveSheet().getRange('z20:z21').setValue('');
SpreadsheetApp.getActiveSheet().getRange('z24:z25').setValue('');
SpreadsheetApp.getActiveSheet().getRange('z29:z30').setValue('');
SpreadsheetApp.getActiveSheet().getRange('z36:z37').setValue('');
SpreadsheetApp.getActiveSheet().getRange('z40:z41').setValue('');
SpreadsheetApp.getActiveSheet().getRange('z45:z48').setValue('');
}
function resetFormCWeights() {
SpreadsheetApp.getActiveSheet().getRange('AA3').setValue('1');
SpreadsheetApp.getActiveSheet().getRange('AA6').setValue('1');
SpreadsheetApp.getActiveSheet().getRange('AA7').setValue('1');
SpreadsheetApp.getActiveSheet().getRange('AA8').setValue('1');
SpreadsheetApp.getActiveSheet().getRange('AA11').setValue('1');
SpreadsheetApp.getActiveSheet().getRange('AA12').setValue('1');
SpreadsheetApp.getActiveSheet().getRange('AA15').setValue('1');
SpreadsheetApp.getActiveSheet().getRange('AA16').setValue('1');
SpreadsheetApp.getActiveSheet().getRange('AA19').setValue('1');
SpreadsheetApp.getActiveSheet().getRange('AA20').setValue('1');
SpreadsheetApp.getActiveSheet().getRange('AA23').setValue('1');
SpreadsheetApp.getActiveSheet().getRange('AA24').setValue('1');
SpreadsheetApp.getActiveSheet().getRange('AA27').setValue('1');
SpreadsheetApp.getActiveSheet().getRange('AA29').setValue('1');
SpreadsheetApp.getActiveSheet().getRange('AA32').setValue('1');
SpreadsheetApp.getActiveSheet().getRange('AA33').setValue('1');
SpreadsheetApp.getActiveSheet().getRange('AA35').setValue('1');
SpreadsheetApp.getActiveSheet().getRange('AA36').setValue('1');
SpreadsheetApp.getActiveSheet().getRange('AA39').setValue('1');
SpreadsheetApp.getActiveSheet().getRange('AA40').setValue('1');
SpreadsheetApp.getActiveSheet().getRange('AA43').setValue('1');
}
I want to replace the z ad aa entries based on the select pull-down option when they click the button (see image for example).
How do I do this?
Example Image

How to import information from sheets in another Document based on two values? Google Sheets

I have 2 documents:
Document 1 contains a list with so called Set-names, displayed as "Set". And within each "Set" there is name that can be found that corresponds to the number within that set.
Document 2 contains all the Set-names with each their own numbers and Name. Each Set-name has it's own Sheet, and there is a lot of them.
I want to fill in just the Set-name "Set" and Set-number "Set#", to automatically display the name corresponding to these two values. The question is however, how do I do that?
Document 1: Collection
Shared document link: Click here (File > Make copy)
Document 2: All Set-names
Shared document link: Click here (File > Make copy)
In this example above I would like to output "Dark Raichu" within Document 1 at Q74:T74 and at Q75:T75. Is this even possible to make? INDIRECT might help as well so I don't have to manually edit each Set-name. Any idea/suggestion/solution is much appreciated!
EDIT
(following OP's explanations)
First of all I have to say that you should AVOID making such radical changes to the original question, since it completely throws readers off balance.
Having said that there is a completely different approach that should be followed.
In your Document 2: All Set-names
Step 1
Go to your Wizards Black Star Promos tab.
Using a formula like =ArrayFormula(A4:A59&"/555")
change the Set # from 1,2,3...59 to 1/555,2/555,3/555...59/555
(555 can be any unique number that does NOT conflict with the other sets)
Step 2
Create a new tab. Name this tab AllSets
Step 3
Use this formula in cell A2
={FILTER('Base Set'!A5:C,'Base Set'!A5:A<>"");
FILTER(Fossil!A5:C,Fossil!A5:A<>"");
FILTER('Base Set 2'!A5:C,'Base Set 2'!A5:A<>"");
FILTER('Wizards Black Star Promos'!A5:C,'Wizards Black Star Promos'!A5:A<>"");
FILTER(Jungle!A5:C,Jungle!A5:A<>"")}
Using this pattern complete the formula for the rest of your tabs. You will end up with a 3 columns list of all your sets in one place.
In your Document 1: Collection
Step 4
Go to your Collection tab.
In cell Q2 (where column Q is exactly before your Name column R) use the following formula.
(As before, complete the formula for the rest of your tabs)
=INDEX(IFERROR(N2:N&(SWITCH(H2:H,
"Base Set","/96",
"Jungle","/64",
"Wizards Black Star Promos","/555",
"Fossil","/62"))))
This way you will bring the complete Set # back.
This will be our helper column which can be hidden and will be only used in the next formula.
Step 5
In the same Collection tab and in cell R2 place this formula
=ArrayFormula(IFERROR(
VLOOKUP(Q2:Q,IMPORTRANGE("1n8iWAl7ZQhsue6Opefvh_9yDwMk06PvqUdQoVuEJw00","AllSets!A2:C"),{2,3},0)))
The above final formula will give you everything.
The Card name, the Type as well as the Link and the Image of the card.
If you do not want the Type just change this part of the formula {2,3} to just 2.
Step 6
Enjoy :)
Additional functions used:
FILTER
INDEX
SWITCH
Original answer
(For the question as originally posted )
You can use a combination formula like
=ArrayFormula(IFERROR(
VLOOKUP(V2:V,{REGEXEXTRACT(Sheet1!R2:R,"\d+")*1,Sheet1!S2:S},2,0)))
(do adjust ranges and locale syntax to meet your needs)
Functions used:
ArrayFormula
IFERROR
VLOOKUP
REGEXEXTRACT
You can easily import a range from one Spreadsheet to another using IMPORTRANGE. IN your case described as you wanted to import the range A5:A (i.e all cells in column A minus the first 5 cells in the column) of the sheet Team Rocket of the Spreadsheet Document 2 into Document 1 cell Q73 you would need to use this function in cell Q73:
=IMPORTRANGE("YOUR DOCUMENT 2 SPREADSHEET URL","Team Rocket!A5:A")
Note that when you first use this function it might ask you to grant access between these Spreadsheeets to let one get the data from the other

Google sheets - select multiple columns for data validation

I'm new on google spreadsheets, and I'm having this little problem:
I want to create a project manager with an external spreadsheet just for customer-info. In my "main-hub" sheet, I have created a dropdown menu on B11 which copys the customer names from the extrenal sheet. That works fine.
Now the problem I am trying to solve: I want to keep the drop-down menu on B11, i dont want to add any new drop down menus. Whenever I select an item from the menu on B11, additional information about the customer should be inserted into different cells in different columns. Example:
| __________ B11 __________ | __________ J11 __________ | __________ K11 __________ |
Selected Name dynamicly inserted data 1 dynamicly inserted data 2
Please keep in mind, I really don't want to add any new drop down menu, I want to keep only this one for the names of the customers.
What you're looking for is "VLOOKUP". This is a Formula where you can define a specific range and select the part you want to display. I've edited your spreadsheet.
=IFERROR(VLOOKUP(A2;'Customers static'!$A$2:$C$5;2;FALSE);"")
IFERROR Value, [value if error]
VLOOKUP Search key, area, index, is sorted
Seeing that you have not solved your answer. I have created a new sheet in your spreadsheet showing you a possible answer.
Possible solution
Basically you can have a dynamically expandable sheet with the use of ARRAYFORMULA.
Which is kind of basically repeat this operation for the whole range. In this case you just would need to put one formula for each column:
=ARRAYFORMULA(IFERROR(VLOOKUP(A:A;'Customers static'!A2:D;2;FALSE)))
Look how instead of using a single value for VLOOKUP you are using the whole range and ARRAYFORMULA will handle that. Therefore you just need to write the formula at the top of each column, changing the index for every single column in the original data.
You can take a look in the Raserhin's help on the sheet you have provided.

Google Docs: create drop down list using data from another spreadsheet

I need to populate a drop down list in a cell (let's say cell B2) of Spreadsheet A (using data validation) on basis of data located in Spreadsheet B (range - C3:C15).
How do I do that? Googled this for several hours - no luck.
Thank you.
Getting the items from another workbook, as opposed to another sheet in the same workbook is similar. It's a two-step process. First, you need to import the data you want to use for the validation items into the workbook where you want to make use of it, then connect it up as described in #uselink126's answer.
An example: Workbook 2 contains a list of fruit names in no particular order. The list has been assigned a named range Fruits for readability, but this isn't necessary. Workbook 1, Sheet 1 has a column of cells where we want to populate a drop-down with the items from Workbook 2.
Step 1 - Importing the data
Add another sheet to Workbook 1 and insert the following formula into cell A1:
=ImportRange("<key>","Sheet1!Fruits")
where <key> is the unique ID Google docs assigned when you created the spreadsheet. In the example, the items are sorted into alphabetical order as part of the import, and to do this you would enter instead:
=Sort (ImportRange("<key>","Sheet1!Fruits"), 1, true)
The 1, signifies column 1 is what to sort by, true means sort ascending. The cells in column 1 should populate with the sorted fruits.
Step 2 - Point the data validation to the imported list
On Workbook 1, Sheet 1, Select the cells you want to have the fruits as their drop-down data source.
- Right-click the selection and click on Data Validation from the menu. Set Criteria to List from a range and enter Sheet2!A1:A20
That's it. The drop-down chevrons should appear in those cells and when clicked the list of fruits should appear.
Note that this is "live" - adding an item of fruit to Workbook 2's list will also magically add it sorted in the drop-down list.
The format to access cells from another spreadsheet in Google Sheets is:
SheetName!CellAddress
For example, let's say you have a Google Sheet that contains 2 spreadsheets named: Sheet1 and Sheet2 (The names are listed on the tabs at bottom left hand side of each sheet).
In Sheet1 if you wanted to access cell B2 in Sheet2, you reference it by inputting: Sheet2!B2
In Sheet2 if you wanted to access cells C3:C15 in Sheet1 , you reference those cells by inputting: Sheet1!C3:C15
To specifically add cells from another sheet to a dropdown:
1) Select the cell you want the dropdown in
2) Right click on the cell and select Data Validation
3) In the dialog box, click the grid image in the Criteria input box
4) This will bring up the "What Data?" dialog box
5) Click on the tab for the sheet you want to access
6) Hold down shift and click on the cells you want to select (you will see the cell addresses show up in the input box in the "What Data?" dialog)
7) Click OK and you are set. The data will update if you make changes in the source sheet.
More info: https://support.google.com/docs/answer/186103?hl=en
Similar to rossmcm's answer but with a few tweaks because his answer didn't work for me:
=IMPORTRANGE(spreadsheet_url; range_string)
Where spreadsheet_url is The full URL of the spreadsheet from where data will be imported, and range_string a string, of the format "[sheet_name!]range" (e.g. "Sheet1!A2:B6" or "A2:B6") specifying the range to import.
Example:
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/1EwEn_2dSbgAlR7jJ7UT_MyE3h1-Biq3qoovfIGUnVlo/edit#gid=0", "Sheet1!A1:A7")
More info from Google DOCS Help!

Attempting to Query only data from cells that are not blank

I have a google spreadsheet with 2 sheets. The first sheet contains data that has been input by a form. Each form response will input data for the following "Timestamp", "Zone", "NPC", "Faction", "Amount", "Faction2", "Amount2", "Faction3", "Amount3", "Faction4", "Amount4", "Faction5", "Amount5".
Row 1 contains the above category names for each response input. The way the form works unfortunately is that each response is put into it's own column based on what Zone is chosen at the beginning as each Zone has different possible responses for the category. So the data is spread out from Columns C to Columns HC. Each row will only have one response per category name, but the category names are repeated and spread out.
I have been using the following query in Sheet2 to pull the information from whichever "Zone" that is selected from the E1 dropdown in the sheet.
=if(len(E1)=0,"Please Select a Zone in E1",query('Form Responses'!A2:IS,"Select * Where B = """&E1&""" "))
The problem is that it returns the entire Row for the Selected zone so the following information doesn't line up. Is there any way for me to return only the information from the Rows that have data in the cell. This would then line up the data into the correct Column for Sheet2
Below is a link to the Form with some sample data in it, the Cobalt Scar selection lines up as the responses are in the corresponding columns in the data sheet, but Crystal Caverns and Western Wastes do not. You can change selected zone to view the results in Sheet2 E1.
Also the sheet is a copy and can be edited by the public.
https://docs.google.com/spreadsheet/ccc?key=0AqEFpZnTydP-dFNNOV9sRzNRSldDUXRJX1pqSFZRYkE&usp=sharing
I haven't found an elegant solution to this type of problem, but that doesn't mean it's not solvable.
The solution I created on your sheets is easily manageable (only have to update the sheet with the area / column table), but it does take up a little more memory.
How it works:
The ArrangedData tab is the first 2 columns from Form Responses, then the "appropriate" columns (based on the selection made on sheet2; it picks the columns from a lookup on sheet5).
Then ArrangedData is filtered (based on the selection on sheet2 again) into sheet2.
Let me know if you have any questions about it.

Resources