ImportRange Not Working Properly - Google Sheets - google-sheets

I am trying to import data for range A1:J from the sheet named "BODY COVER STOCK" using ImportRange function the first Column shows NA and Column H,I,J shows blank under headings. Can anyone help me out in finding where I am going wrong with this.
Data SpreadSheet link - https://docs.google.com/spreadsheets/d/1HzSslzdKFtbxEdPQPX5Ox0Cq2NNaqRViYX3ookQ4I1w/edit#gid=0
Target SpreadSheet Link -
https://docs.google.com/spreadsheets/d/18zkwzlPi1PREKW8EG71NGGokOULKRMqAdEck-u3YvHA/edit#gid=0
Thanks in advance.
Formulae I am using -
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/1HzSslzdKFtbxEdPQPX5Ox0Cq2NNaqRViYX3ookQ4I1w/edit#gid=0","BODY COVER STOCK!A1:J")
Data Sheet Image -
Target Sheet Image -

could ba a result of excessive usage of dependency...
if you have editing access to Data SpreadSheet try adding an intermediate (new) sheet with this in A1:
={BODY COVER STOCK!A1:J}
and then import that new sheet with IMPORTRANGE
=IMPORTRANGE("1HzSslzdKFtbxEdPQPX5Ox0Cq2NNaqRViYX3ookQ4I1w", "new sheet!A1:J")

Related

Conditional Formatting & Importrange using 2 spreadsheets

I am requiring specific cells of a Google spreadsheet to be conditionally formatted based on information in a different spreadsheet.
The information is input into column J of a spreadsheet titled 'Haulage' and in a worksheet with the same name. I then require any cell in the range AE15:AH101 in a spreadsheet titled 'EMU Database' and in a worksheet titled '350' to be highlighted in a colour should the information in this cell match the information input into column J of the 'Haulage' spreadsheet/worksheet
ie '271' is in cell AE15 of the worksheet '350' (in 'EMU Database' spreadsheet) and when I input the same value into cell J3 of the worksheet 'Haulage' (in the 'Haulage' spreadsheet), AE15 is highlighted in the chosen colour.
I have tried using the following formula in the conditional formatting custom formula:
=A15=IMPORTRANGE("1AGMJxw5D5TNFI19dvpPCT0Jl6QNu5rRX1bcLqHYJ0-w", "Haulage!J3:J")
But not been able to make it work unfortunately.
For reference, both of the spreadsheets have been linked together and access has been granted between the 2 spreadsheets
Progress report:
I have been playing around with the importrange options in making this conditional formatting work and I have managed to get it to work by importing the data into the same spreadsheet and then using a formula between worksheets as detailed below:
Data from "Haulage" spreadsheet and "Haulage" worksheet within this spreadsheet is transferred to "EMU Database", into a worksheet titled "Sheet5" using the standard importrange function. In the cells I require the custom formula to work I have then used the following custom formula:
=match(AE15,indirect("Sheet5!A1:A"),)
This offers a solution to my problem and works as I require it, however I would still like to find a solution to avoid having to transfer the data from one spreadsheet to another before the formula works. I have tried to amend the above formula in a number of ways to incorporate an IMPORTRANGE but without success. My most recent failing is below:
=match(AE15,indirect,importrange("1AGMJxw5D5TNFI19dvpPCT0Jl6QNu5rRX1bcLqHYJ0-w", "Haulage!J3:J"),)
If anyone has any ideas on how to make the importrange work on this match formula it would be appreciated as it keeps things tidier for me than having extra worksheets with duplicate data from another spreadsheet
Follow up information for #player0
Links to the test versions of the relevant spreadsheets are below:
Haulage SS = https://docs.google.com/spreadsheets/d/1elDxSOLSG-6U-jC6E5fgcKeJDNf9Kcu7GRGvK5p6fr4/edit?usp=sharing
EMU Database SS = https://docs.google.com/spreadsheets/d/1poWzun1TvIhdlrHQyM_tSvJzEHFDpvZz7O-Ta0mvAR8/edit?usp=sharing
Within the "Haulage" spreadsheet, only the 'Haulage' worksheet is of interest - please disregard the other worksheet.
Within the "EMU Database" spreadsheet you will find my current conditional formatting in cell range AE15:AO71 of worksheet '390'. This formatting is linked to the worksheet titled 'Sheet5' which contains the data that I have used the importrange formula (see cell A1 of this worksheet) to pull from cells J3:J of the Haulage spreadsheet.
Basically, what I require of the conditional formatting is for any data in cell range AE15:AO71 of the '390' worksheet which matches data entered in cell range J3:J of the "Haulage" spreadsheet to be highlighted with a coloured box - but I want this to happen without the need for the extra worksheet with the imported data in
try:
=MATCH(A1, FILTER(
IMPORTRANGE("1elDxSOLSG-6U-jC6E5fgcKeJDNf9Kcu7GRGvK5p6fr4", "Haulage!J3:J"),
IMPORTRANGE("1elDxSOLSG-6U-jC6E5fgcKeJDNf9Kcu7GRGvK5p6fr4", "Haulage!J3:J")<>""), 0)

Index Match on 2 separate google sheets

Can you please help me with the index match formula with Google sheets on 2 different workbooks? I know the formula on a regular excel sheet but it just won't do the same with google sheets.
I tried the same formula with the regular excel sheet but it just won't work.
try:
=IMPORTRANGE("1VYCPRlno-upguZFmf-dgVG8pXxkXXTx-OWt_VBv4d5c", "Sheet1A:Z")
note: chenge sheet name if needed
note2: first you will see ref error. hover your cursor over it and a button will popup. click on it to authorize the connection/link between your two spreadsheets

Copy Row(s) To Outside Sheet Based On Data Validation

I am new to Google Sheet scripts and attempting to put together something for my business for project management purposes.
On edit, I'm looking to move a row to a new sheet outside the current workbook when a specific name is put in the cell T.
For Example:
if T says "John" - send the entire row to John's Google Sheet by ID
if T says "Amy" - send the entire row Amy's Google Sheet by ID
etc.
You can find an example of the sheet below.
Any and all help is appreciated.
sample spreadsheet
basically, this is the scenario: each of you (you, Amy and John) has own spreadsheet. you as "work assigner" have a master sheet with ID: 11n8TUEiuLLtbyd6ot5imX0zoAOLforHEBnefnHpoZhs (from the example you provided in your question) and all your data are in the sheet called Sheet1 dispersed across the range of cells: A1:AA (also from the example you provided in your question)...
now go to John's spreadsheet and paste this into cell A1:
=QUERY(IMPORTRANGE("11n8TUEiuLLtbyd6ot5imX0zoAOLforHEBnefnHpoZhs", "Sheet1!A1:AA"),
"select * where Col20='John'", 1)
next, go to Amy's spreadsheet and paste this into cell A1:
=QUERY(IMPORTRANGE("11n8TUEiuLLtbyd6ot5imX0zoAOLforHEBnefnHpoZhs", "Sheet1!A1:AA"),
"select * where Col20='Amy'", 1)
note: your spreadsheet can't be private. set permissions to: anyone with link can edit/view

2 Google Sheets Workbooks linked via importrage - how to add new row in one workbook and not affect other

I have 2 google workbooks. One is a rate sheet and the other is a vendor list with pricing.
I have the vendor list with pricing workbook linked to the rate sheet workbook via importrage command. This works great and everything updates as it should until you add a new line or remove a line to the rate sheet workbook. At this point the vendor workbook does not update the reference and just still points at the same lines it was originally, now displaying the incorrect data.
How can I dynamically have the vendor list workbook notice the addition or removal of lines in the rate sheet workbook and update the importrange formula?
Can this be done?
Any help is greatly appreciated.
EDIT: I have prepared 2 sample workbooks. They are Test sheet 1 - Rates and Test Sheet 2 Lanes
I have all of our rates in the first sheet. In the second we would have vendor lanes. This sheet consists of multie tabs all with an individual lane that is linked to 1 row in the rates sheet.
In the lanes sheet I have linked the two together via importrange in cell A8. Now this works and links properly, that is until you insert a new line in the rates sheet above the one the lane is linked to and then it doesn't update but shows what the new line information is.
Is there a way to have the lanes sheet dynamically update to the next line when a new line is inserted in the rates sheet?
two sheets links are as follows:
Rates
Lanes
Solution 1 - if you need to check only one condition
To achieve desired result you have to have something like an ID for every rate. For sake of this answer (based on your example sheets) I assume that this could be an Origin City. In Test Sheet 2 I have added new sheet - SheetTest where:
First step
I am looking for the row number where desire City reside in Rates sheet (in example - its Mcclellan city). The code for that is simple:
MATCH(A2,IMPORTRANGE("https://docs.google.com/spreadsheets/d/1JD45y-0-37Kh2KsHnRAMuB0quPtMVuLKuT1qjnNcm1Q/edit","Rates!B:B"),0).
This gives me -> 10
Second step
I use this result to dynamically generate final range - "Rates!A10:X10". The final result in A8 cell is (to make it clearer, I change an address of a sheet to -othersheeturl- :
=IMPORTRANGE(
"-othersheeturl-",
"Rates!A"&
MATCH(A2,IMPORTRANGE(-othersheeturl-","Rates!B:B"),0)
&":X"&
MATCH(A2,IMPORTRANGE("-othersheeturl-","Rates!B:B"),0)
)
Working example
Warning
I see that in your original sheet you use "take" Origin City from Rates sheet, so I remove this dependency in A2 to make it an ID. I hope this solves your problem.
Solution 2 - if you need to check many conditions
An approach is the same, but tools are different. Main goal is to find a row number that meets criteria - "From City" and "To City". Then this row number will be used to concatenate desire range.
First step - some cleaning
To better manage complex formulas its a good idea to divide them into smaller pieces - like in "ordinary" programing. So, we have:
From City in A5
New Albany
To City in B5
Calgary
Rate sheet (external sheet) url in B1:
1JD45y-0-37Kh2KsHnRAMuB0quPtMVuLKuT1qjnNcm1Q
You don't have to put whole URL, only this part is needed
Formula that counts row number that we are looking for in B2
=QUERY(
{IMPORTRANGE(B1,"A1:B"),
ArrayFormula(row(INDIRECT("A1:A"&ROWS(IMPORTRANGE(B1,"A1:B")))))},
"select Col3 where Col1='"&B5&"' and Col2='"&A5&"'
limit 1")
Above code:
Build an array from Rate sheet (external) - columns A1:B and virtual index that represents rows numbers
Then, show only column nr 3 (index) where Col1 matches our "To City" and Col2 matches "From City"
At the end is a limit to only one result (in case that there are more then one maches)
Desire range in B3
="Rates!A"&B2&":X"&B2
Final formula that renders desire data from external sheet in A11
=IMPORTRANGE(B1,B3)
Working example
Final thoughts
You can either hide rows 1-3 or you can pack all above formulas into one. Its up to you. I prefer the first approach.
This solution gives you freedom with as many conditions as you want
More info would be helpful.
A couple ideas:
Using named ranges instead of a static reference. For example, if you create a named range in the rate sheet called MY_DATA that references A2!C600, you can include "MY_DATA" in your importrange in the vendor sheet. Note that you'd still need to update MY_DATA every time you add a row.
If you're importing the entire sheet, perhaps omitting the end row would work (e.g. A2!C instead of A2!C600) - note that this means you need to use filter or query in the Vendor sheet to eliminate the blank rows.

Fetch Row of Value From Other Spreadsheet Google Sheets

I would like to access data from one Google Spreadsheet on another using strictly formulas.
Currently, I am able to import data using the =IMPORTRANGE(), but need to take this a couple steps further.
The data that I have looks like this:
Spreadsheet 1: Each sheet is for a different day, and has people and the number of fruits they pick from a farm (this is example data). However, the people are not necessarily organized exactly the same way on each day.
Spreadsheet 2: Each sheet is organized by person. Row A has the day (which will be used to lookup from the other spreadsheet), and a function exists in the second spreadsheet to find the persons name (=sheetName()).
What I have so far is [for Spreadsheet 2]:
=IMPORTRANGE(Master!A1, A2 & "!B2")
Where Master!A1 refers to the link of the other spreadsheet, A2 refers to the Day1. However, the part I am looking to replace is the 2 in the B2 to find the row of the person's name in the sheet Day1 from the first spreadsheet.
I feel like I have to do something like this:
=IMPORTRANGE(Master!A1, A2 & "!B" & MATCH(IMPORTRANGE(Master!A1,A2 & "!B1:B100"),sheetName(),0))
, but this gives me the error that it "Did not find value 'Apples' in match evaluation"
Here is the example folder with the two spreadsheets.
https://drive.google.com/drive/folders/0B8lJN2vmKeTBV1JYR2ZoZlVfQUU
All help is appreciated!
I can't find the sample data that you attached but here's what you need to do.
1. Link of the other spreadsheet
2. Name of the sheet to import from
3. =importrange(link,sheet!A:D) [for the sake of an example]
4. =query(importrange(link, sheet!A:D),"select * where Col1 = 'Person's_Name' ",1)
Share a sheet if you are not able to put it together on your data. Cheers!!

Resources