EXCEL VLOOKUP/MATCH/VARIABLE - excel-2010

Good Evening and thanks in advance for taking the time to read and help.
I have a 3 column excel file which I am trying to populate the 3rd column with a return value found next to the row its found in.
so for example I want to look at column MANAGERSFULLNAME for value
Cheryl Rommelfanger and find the match in column FULLNAME. Once the match is found I want to populate MANAGERSX2FULLNAME but not with the value found in FULLNAME but with the value next to in column MANAGERSFULLNAME
So for this example we look in MANAGERSFULLNAME for Cheryl Rommelfanger and find the match in FULLNAME Cheryl Rommelfanger then populate MANAGERSX2FULLNAME with
William Dearth
FULLNAME MANAGERSFULLNAME MANAGERSX2FULLNAME
Dena Peters Cheryl Rommelfanger
Kyle Marsh Melissa Hall
Cheryl Rommelfanger William Dearth
ive tried a few things and can only get a count not the value next to it.
=MATCH($E2&$F2,INDEX($B2:B4000&$C2:C4000,),)
=IF(ISERROR(MATCH(E2,F2,$B$2:B$4000,$C$2:C$4000,0)),"",E2)
=IF(ISERROR(MATCH(L2,$K$2:K$4000,0)),"",L20)
any help would be greatly appreciated.

So I apologize but I am having a bit of trouble understanding your columns, but the general idea is clear.
Your attempts are really close. You want to use index(match) as opposed to match(index). The link below describes how to do this.
Index match formula
If I'm understanding you correctly it sounds like you're trying to find and list the bosses boss so-to-speak to display a hierarchy of sorts. I'm using just columns A, B, and C (C being the managerx2fullname) this formula should work fine:
=index(B$2:B$4000,match(B2,A$2:A$4000,0))
You will of course need to change the columns to fit your needs. Don't include a dollar sign in B2 because you want this to increment as you drag the formula down the column. The link below shows a screen shot from my test. In it we see that in row 2 John is Adams boss, who in turn is Joe's boss. I think that's what you're shooting for here.
Screen shot

Related

Match of an id value and extracing a string in Google Sheets

following problem:
I have a column with wrong Ids
Now I want to watch those wrong Ids with another sheet where I have same Ids and the correct link I want to match with those Ids:
So what I same up with is the following ->
=IFERROR(VLOOKUP(A2,'extract base'"B:F),"")"))
But obviously doesn't work haha. So basically very easy -> if the Id from Sheet 1 matches with the Id from Sheet two put in the second column (in my example custom_label) the value of sheet two column 2
Any help is appreciated, thank you so much!
Your current VLOOKUP formula is not structured correctly at all, and your sheet reference 'extract base'"B:F is also not written correctly. Have you read the basic documentation on VLOOKUP usage and syntax?
Delete B2:B entirely.
Then place the following in B2:
=ArrayFormula(IF(A2:A="",,IFERROR(VLOOKUP(A2:A,'extract base'!B:F,5,FALSE))))
This formula should provide results, if any, for all rows (assuming that your second sheet is, in fact, called exactly extract base).

Return most recent results with multiple criteria

I would like to find the most recent three results (front top to bottom) in a Google Sheet where column L is "Signed" and the result (column T) is not 0 or blank.
I have the below so far which gives me the first result but not filtered by column L and not excluding 0 or blank cells.
=ARRAYFORMULA(IFERROR(INDEX('Print List'!T$2:T,SMALL(IF("Alex"='Print List'!A$2:A,ROW(A$2:A)-1),1))))
(edit: or rather than ignoring 0 or blanks - column F must be "Sold" so could also filter by that.)
I need to display the results for 1st, 2nd and 3rd in separate columns so will replace the 1 at the end of the above with appropriate number.
Hope I have explained myself ok and any help received will be greatly appreciated.
You might try this off to the side somewhere, or on a different tab, where I assume your tab name is Sheet1:
=TRANSPOSE(QUERY('Print List'!A:T,"select T where T>0 and L='Signed' limit 3"))
After a bit more digging I have got it to work! Thanks Matt for pointing me in the right direction.
=IFERROR(INDEX(ARRAY_CONSTRAIN(QUERY('Print List'!A:T,"select T where A='"&$A2&"' and T>0 and L='Signed'",0), 1, 1), 1),"")
EDIT: Improved again using Matt's edited suggestion:
=IFERROR(TRANSPOSE(QUERY('Print List'!A:T,"select T where A='"&$A2&"' and F='Sold' and L='Signed' limit 3","")),"")
Thank you.

How can I split cell values and compare the results with those of another cell?

I have already asked a similar question in another thread which was wonderfully answered by someone. However, it seems like that even if it did help, it was not 100% ok for all my GSheets and different projects. So I have been able to get more useful data from my source and I think that I would be able to have a bulletproof solution if I am able to find the good formula...
So my data looks like that:
Column A has a list separated by semicolons. Copy paste looks like that "Potato ; Banana ; Apple".
Column B has a list of IDs, which are linked to the data in column A. So Potato is ID 1871, Banana is ID 1890 and Apple is ID 1840. Copy paste of date is: "1871 ; 1890 ; 1840"
Column C should output formula with the value "Banana", because his ID is the highest of all (1890 > 1871 > 1840).
I have tried a lot of different things. Overall I tried to SPLIT the values with " ; " and create one array where I would try to sort them from the column or row where the IDs would be. I wasn't sure how to merge both results...
I tried to study the ARRAYFORMULA() function to see if it would help. gSheets is very nice to work with, but I come from a world of PHP where I would write 7 lines of code to achieve my goals, where here I need to do only 1 line of code and it is a challenge for me.
Any help is appreciated to find the formula in cell C1 that would get the value from A1 that has the highest ID in B1.
=ARRAYFORMULA(HLOOKUP(MAX(TRIM(SPLIT(B1, ";"))*1),
{TRIM(SPLIT(B1, ";"))*1; TRIM(SPLIT(A1, ";"))}, 2, 0))

Compare two lists, then add missing data to the bottom of one list?

I have been searching and searching and I've tried a dozen different things, and the array formula that added 50,000 rows to my sheet (I didn't even know that was possible...) and crashed my browser was the final straw. So I'm asking for help...
Basically, I have a static list of names in sheet1(Grades) that are sorted alphabetically. I have an importrange in sheet2(Data) with another list of names, not sorted alphabetically (And it cannot be sorted alphabetically.) Something like this:
Grades:
Bill
Charlie
Fred
George
Percy
Ron
and
Data:
Ron
Bill
Fred
Percy
Harry
Hermione
Molly
Arthur
What I need is to imput a formula in the cell below the last name on sheet1(Grades) that checks all of the names above that cell, compares them to the names on sheet2(Data), and returns the first name that's missing. For example:
Grades:
Bill
Charlie
Fred
George
Percy
Ron
(Formula Here) = Harry
(Formula Here) = Hermione
Etc.
The New names should always be at the bottom of the Data list, if that help any.
Here's a link to a copy of the spreadsheet.
Hope I got the permissions correct... Most of it was protected, but I think it should be open for edits now. Any help would be much appreciated. I really didn't think I was trying to do something that difficult, lol.
So I take it you want basically the difference between two lists. I've put this formula in the cell below the last entry in column B in Grades, hope this is what you want:
=filter(Data!A1:A40, iserror(match(Data!A1:A40, B5:B45, 0)))

Add data to row if it meets criteria, else ignore

I have raw data in my spreadsheet that comes from a Google Form that looks like the following:
(Cost) (Source) (Frivolous) (Medium) (Comments)
A B C D E
1 15.94 McDonalds Yes Credit was hungry
2 98.32 School No Check Paid for textbooks
3 843.00 Hospital No Check Surgery
4 0 asdff Yes N/A Ignore this one woops
5
6 23.99 Dentist No Credit Check up
I want this data to always be copied to a different sheet, but ONLY the data that matches a condition. That condition in this case is if Frivolous is No, meaning I only want on this separate page to track valid important spending.
My second page I want them to look like the following:
(Cost) (Source) (Frivolous) (Medium) (Comments)
A B C D E
1 98.32 School No Check Paid for textbooks
2 843.00 Hospital No Check Surgery
3 23.99 Dentist No Credit Check up
Notice how empty entries are ignored and also entries with Yes under Frivolous are ignored as well.
How would I achieve this? I have absolutely no idea how that would work since I've only been able to achieve this through filter which will not work for this.
I would like to say a few words in defense of Google Spreadsheets and show some great functions that will work, but they are not supported by [excel].
Query
First you may use simple query:
=QUERY(sheet1!A:E,"select * where C = 'No'")
This single short formula will give the desired result, there's no need to fill right and down.
Filter
Actually you may use filter too. This function seems to work too:
=FILTER(sheet1!A:E,sheet1!C:C="No")
Please, read more info about this functions:
Filter
Query and full Query Language Reference
You'll find many exciting things that could be done in Google spreadsheets.
Actually, I was having some trouble with [google-sheets] ArrayFormula function so I used an old-school formula with SMALL and INDEX function in its array form. In A2,
=iferror(index(Sheet13!A$1:A$99, small(index(row($1:$99)+(Sheet13!$C$1:$C$99<>"no")*1E+99, 0, 0), row(1:1))), "")
Fill both right and down.
So you were in fact correct that this could be solved in [excel] with an identical solution as [google-spreadsheet]. However, there are superior methods in newer [exce] (2010+) using the AGGREGATE function that [google-spreadsheet] does not support and I'm sure that [google-sheets] has more elegant functions that I am not recalling right this moment.
Look to Sheet13 and Sheet14 here for the working sample.

Resources