Vlookup using two strings - excel

I am using the Vlookup to pull data, but the data table row that I want data from may be using a different text string, I was hoping someone can help me out with the correct syntax to use (I can't get it to work) - this is what I have so far:
=IFERROR(VLOOKUP("String 1"&"String 2",'excelbook'!$A$2:$Y$75,B$407,FALSE),0)
Would totally appreciate your help, thanks!

If you are looking for the row which contains String 1 OR String 2 in the first column, you can use the following formula:
=IFERROR( VLOOKUP("String 1",'excelbook'!$A$2:$Y$75,B$407,FALSE), IFERROR(VLOOKUP("String 2",'excelbook'!$A$2:$Y$75,B$407,FALSE),0) )

Related

lookup with multiple conditions and for rows

Hello sages from StackOverflow,
I'm in search of a formula that can relate 3 diferent conditions, I tried using some IF statemets with the TEXTJOIN formula but I find myself lost in the way,
I got a data base just like this (image below), just a much bigger one, I want to search for a key like MCAA01 and obtain the doc's that have in front of it a "NO" all in one cell, like if you use the formula TEXTJOIN("/",...
My problem is that I cannot find a way to relate the whole column of the doc's with the key,
I tried something like TEXTJOIN("/",TRUE,IF(2ndIMAGE!A2=1stIMAGE!B1,IF(B2="no",1stIMAGE!A2,""),""))
This does give a result but it's just 1 thing, not whole answer
please sages of StackOverflow, you're my only hope. Thank you!
You need FILTER() then TEXTJOIN().
=TEXTJOIN("/",TRUE,FILTER($A$2:$A$4,FILTER($B$2:$H$4,$B$1:$H$1=$B8)="No",""))
If your version of excel supports LAMBDA() function then you can try below formula and you do not need to drag the formula to each cell. It will spill results automatically.
=BYROW(B8:B14,LAMBDA(a,TEXTJOIN("/",TRUE,FILTER(A2:A4,FILTER(B2:H4,B1:H1=a)="No",""))))

Matching values in two tables with multiple conditions

I have 2 Tables in Excel from SQL that I need to match.
Table 1:
Table 2
I would need to look up in Table 2 for date in column B where category is Relevant and return it into Table 1 where in Table 1 category is first visit.
I have tried all different formulas and it doesn't work.
Combination of INDEX() and MATCH() generally does not work.For example:
=INDEX(Table2B:B,MATCH(MAX(IF(Visitors number="AAAA",Order_Date)),Order_Date,0))
I get error.
The data set can be messy and too big, so I can not predefine that I am searching for second or third value.
Large with multiple criteria does not work either. I just get 0 or error. For example:
=LARGE(IF((Table2A2=Table2B:B)*(Table2B2>=Table1A:A);Table2C:C);1)
neither does SUMPRODUCT():
=SumProduct(LARGE((Table2A:A=Table1B2)*(Table2B2>=Table1A2*(Table2C:C);1))
Any kind advice of solution?
Thankful in advance.
Use the following ARRAY FORMULA:
=IF(C2="First Visit",INDEX(Table2!A:C,MATCH(A2&B2,Table2!B:B&Table2!A:A,0),3))
To make it work confirm it with CTRL+SHIFT+ENTER instead of ENTER to get the brackets {}:
{=IF(C2="First Visit",INDEX(Table2!A:C,MATCH(A2&B2,Table2!B:B&Table2!A:A,0),3))}

Adding based on text string in a cell in a table

So I have a table with description lines like this: EFT VISA RF#509723083734 04/07 ENDICIA POSTAGE (EMS) 650-321-2640.
What I'd like to be able to do is add up all the amounts with descriptions containing "Endicia".
I tried =VLOOKUP(SEARCH("endicia",D9,0)="true",D2:F12,3) but that didn't work.
I tried using SumIf instead, with similar lack of success.
Any advice would be much appreciated
IF helpful, the description is in column D and the amount is in column E.
If you can add an additional column, you can add one in that only counts the number if the keyword ("ENDICIA") is found in the cell (otherwise return 0).
=IFERROR(IF(FIND("ENDICIA",D1),E1,0),0)
From there you just need to sum the column where you put this formula.
Please try:
=SUMIF(D:D,"*ENDICIA*",E:E)

Excel index match formula with large if paramaters

Im wondering if someone can help insert an OR option into the below formula
=INDEX(B2:B211,MATCH(LARGE(IF(C2:C211=HomeTeam,B2:B211,""),1),B2:B211,0))
Ive tried the below but unfortunately this brings back an incorrect result
=INDEX(B2:B211,MATCH(LARGE(IF(OR(C2:C211=HomeTeam,D2:D211=HomeTeam),B2:B211,""),1),B2:B211,0))
Any help is appreciated
Short answer is to use + rather than OR - the OR function returns a single value not an array as required here, so it doesn't work as expected in array formulas
Try like this
=INDEX(B2:B211,MATCH(LARGE(IF((C2:C211=HomeTeam)+(D2:D211=HomeTeam),B2:B211),1),B2:B211,0))
I'm assuming that HomeTeam is a named range (hence no quotes) - is that a single value?
As you are returning the value itself here you don't really need INDEX and MATCH in any case, you can use just
=LARGE(IF((C2:C211=HomeTeam)+(D2:D211=HomeTeam),B2:B211),1)

How can I find the spreadsheet cell reference of MAX() in a range?

With a column range of A1:A20 I have found the largest number with =MAX(A1:A20). How can I find the reference (e.g. A5) of the MAX() result?
I'm specifically using Google Spreadsheets but hope this is simple enough to be standard across excel and Google Spreadsheets.
=MATCH(MAX(A1:A120),A1:A120,0)
The problem is if you get more than one match: it will only give you the first one.
Either :
=ADDRESS(MATCH(MAX($A:$A),$A:$A,0),1)
if you know it's going to be in column A (1)
Or:
=CELL("address",INDEX($A:$A,MATCH(MAX($A:$A),$A:$A,0)))
And yes, it only gives you the first match
You can use something on the lines of the following
=MATCH(MAX(E7:E9),E7:E9)
This will give you the offset from the formula to the biggest number. If you use this in conjunction with ADDRESS you could get the actual cell. However, using offset should probably help you get there if you want to do something on that cell, or another number in the same row as that cell
As of now, there is a QUERY formula that can help with this situation
=ARRAYFORMULA(query({ROW(A2:A), A2:A},
"SELECT MAX(Col1)
WHERE Col2 IS NOT NULL
ORDER BY Col2 DESC"))
ROW(A2:A) represents the row number of each row which you can use the result with ADDRESS to create a reference to a cell.

Resources