Check this spreadsheet: https://docs.google.com/spreadsheets/d/1aGUe_2vGkmvRZr91RjLJUP-7nD8xj-CognW9TAhPOkY/edit#gid=0
In Cell A1 the vlookup fails. There are no weird encoding or characters in the spreadsheet. In fact, check the history of the spreadsheet and you'll see it's created from scratch.
What is going on here?
If you delete the contents of cell A3 you'll see that the vlookup works again.
Thanks for any help. I'm really frustrated over this. I realize I'm doing something wrong, but can't figure out what.
Shor answer
There is no bug.
Explanation
When the fourth argument, is_sorted, is omitted, TRUE is assigned by default so vlookup expects that the range is sorted.
The following formula works:
=vlookup("AED",A3:A6,1,0)
Reference
https://support.google.com/docs/answer/3093318?hl=en
Related
I have a large Google Sheets spreadsheet that has individual sheets for financial statements of activity for multiple years. I want to reference particular columns of those in other sheets, and I've successfully figured out how to do that with an HLOOKUP function. However, because I want to do this for multiple years, I'd like that HLOOKUP function to pick up the name of the sheet to reference from its column header. Right now, I'm hard-coding it like this—you can see the HLOOKUP range refers to cells in the "2021 Overall" sheet. The hard-coded approach works but makes adding a new year tedious. Ideally, the HLOOKUP formula would read the contents of its column header cell to determine which year it is.
As best I can tell, the solution is to use INDIRECT, but I can't figure out any way to build the formulate with INDIRECT and not get an error. For instance, this seemed like it should work. As you can see, I have 2021 in cell D4, and my INDIRECT statement is referencing that and building the rest of the range.
I've also tried using INDIRECT with an explicit CONCATENATE, with no more success.
Any ideas for how to look up that D4 cell and slide it into the HLOOKUP range?
Thank you!
Try to remove the "'"& before D4 and the ' after the Overall.
Your formula should look like this:
=IFERROR(HLOOKUP($A$2,INDIRECT(F4 &" Overall!$A$5:$X$150", Utility!$A10, FALSE)))
With Nikko's nudges in the right direction, I eventually figured out the right format. This allows the formula to work in multiple sheets and to be filled right (for more years) and down (for more classes).
=IFERROR(HLOOKUP($A$2,INDIRECT("'"D$4&" Overall'!$A$5:$X$150"), Utility!$A3, FALSE))
Note that if you try to replicate this, you may need to type the formula out from scratch—I had a problem where pasting it in didn't work. Once I'd retyped it and Google Sheets acknowledged it, it worked from then on in the spreadsheet, even when pasted from sheet to sheet.
I have the following formula in cell D2 in a Google Spreadsheet:
=IF(ISBLANK(B2),"",B2-C2)
How do I apply that formula to the whole column D with ArrayFormula? Because ArrayFormula is the best solution, right?
Thanks
Enclose the formula in the google sheets Arrayformula() function. Then change the reference from B2 to B2:B500 (or leave blank for open ended reference). Same for the second reference.
So =ARRAYFORMULA(IF(B2:B="","",B2:B-C2:C)) should work. Note that I changed ISBLANK to X="" since the arrayformula is bound to find values in the entire array so it won't return blank.
--
Whether this is the best way I don't know. The benefit is that this grows with the dataset and avoids errors when you haven't filled the formula far enough down. However it can sometimes slow sheets down (I've heard but not experienced anything severe myself). If you're experiencing slow sheets I recommend Ben Collin's blog on the topic.
Whithout closed ended references
=mmult( arrayformula(1*(ROW(A2:A)<TRANSPOSE(ROW(A2:A)+1))*(ROW(A2:A)>=TRANSPOSE(ROW(A2:A))) -1*(ROW(A2:A)>TRANSPOSE(ROW(A2:A)))*(ROW(A2:A)<=TRANSPOSE(ROW(A2:A)+1)) ) , A2:A)
Fomula that works:
Fomula that doesn't work:
Hi guys, I encounter a problem.
I use the Inventory template from sheetgo.
I copy the fomula that works and paste it on another sheet.
Unfortunately, it got an error with the arrayfomula.
I have spent a long time investigating all possibilities but still can't solve them.
Is any expert able to help in this matter?
error says it all... in order to expand the results of arrayformula you need to clear range C2:C so that arrayformula could roll out. also, it looks like your formula is wrong but hard to tell for certain because you did not include a copy of your sheet nor formula
I've got a problem in Google Spreadsheets:
I don't know why, but for Google there is a problem to use the SUMIFS formula.
When I try to use the SUMIFS formula for different criteria, for the same column, the output is always zero 0.
I tried aleady other things, but anyways it doesn't work.
Here are my examples:
Example 1
=SUMMIFS('Sheet1'!G1:G100;'Sheet1'!C1:C100;"Criteria1";'Sheet1!C1:C100;"Criteria2";'Sheet1'!D1:D100;"Criteria3")
Example 2
=SUMMIFS('Sheet1'!G1:G100;'Sheet1'!C1:C100;{"Criteria1" ;"Criteria2"};'Sheet1'!D1:D100;"Criteria3")
Example 3
=SUMMIFS('Sheet1'!G1:G100;'Sheet1'!C1:C100;"*Criteria1"&"Criteria2";Sheet1'!D1:D100;"Criteria3")
Non of these work. I dont know what I should do. Anyone has an idea?
Thanks in Advance
This behavior is probably correct. SUMIF criteria are connected AND not OR. This means all criteria need to be true.
So if you have two criteria on the same column it is very likely that only one of them can be true at the same time. Eg. column C can not be "Car" and "Book" at the same time. Therefore it is never count into the sum and always results 0.
To OR connect criteria have a look here: SUMIFS with OR.
this formula works:
=SUM(ARRAYFORMULA(SUMIF('Sheet1'!G1:G100;'Sheet1'!C1:C100 & 'Sheet1'!C1:C100 ;{"Criteria1";"Criteria2"} ; 'Sheet1'!D1:D100;"Criteria3")))
Anyways the bad thing is, that this formula cant disting date criterias.
Example1:
=SUMIFS(G2:G100;D2:D100;">=01.06.2011";F2:F100;"<=30.07.2011")
Does work, but this example 2 doesnt work:
Example 2:
=SUM(ARRAYFORMULA(SUMIF(D2:D100 & F2:F100;">=01.06.2011"&"<=30.07.2011";G2:G100)))
I Dont know why it doesnt work, has anybody a solution for this ?
Thanks in advance.
In Google spreadsheets, how do I find the sum of two ranges referenced from different spreadsheets
I want to use something like
=(IMPORTRANGE("keyofsheet1","A1:A100")+ IMPORTRANGE("keyofsheet2","A1:A100"))
and get the sum
Apparently, the above doesn't work. Any help would be appreciated :).
I have found an answer:
Arrayformula is what I was looking for. It basically applies the formula treating the range as a range, instead of as a single element. I still donot totally understand why this works. would be really happy if someone could explain this
I just used
ARRAYFORMULA((IMPORTRANGE("keyofsheet1","A1:A100")+IMPORTRANGE("keyofsheet2","A1:A100")))
and suddenly everything works as it should.
Shouldn't the + operator be conscious of the input type it is getting and automatically respond by returning the appropriate type? why do I need to explicitly specify that this is an array formula
I ran into a similar issue yesterday. Solution was:
=SUM(IMPORTRANGE("keyofsheet1","SheetName!A1:A100")) + SUM(IMPORTRANGE("keyofsheet2","SheetName!A1:A100"))
No need to use ARRAYFORMULA()
2 important notes.
You will probably see a #REF! error in your cell with a red color in the corner. You'll need to hover over it and allow access to the spreadsheets that you're referencing.
If any of the original data in the spreadsheet ranges you're referencing in A1:A100 contain errors such as
#NULL!
#DIV/0!
#VALUE!
#REF!
#NAME?
#NUM!
#N/A
then your formula must be modified to include SUMIF() as follows
=SUMIF(IMPORTRANGE("keyofsheet1","SheetName!A1:A100"), ">0") + SUMIF(IMPORTRANGE("keyofsheet2","SheetName!A1:A100"), ">0")
This ensures that it's only adding anumbers and not error codes.