How to INDEX MATCH from Muliple colums? - google-sheets

This is the image
I want to get a formula so that if any of those codes are given F column, it should fetch the value of the corresponding value from the yellow area to the G column. Can i use vlookup Here? Or INDEX MATCH ? I am beginner sheets user. Please help me here

Try this in cell G1 (make sure you delete everything below):
=arrayformula({"value";iferror(vlookup(F2:F,{split(flatten(B2:D&char(9999)&A2:A),char(9999))},2,0),)})

Related

Array formula is not working with the combination of Vlookup and Indirect-Match?

I am trying to generate an arrayformula for the whole column but it does not work, when I use the same formula cell by cell, it generates correct value. Here is the formula for F1 cell:
=if(Iferror(vlookup($D1, INDIRECT("$"&"A"&MATCH(E1,$B:$B,0)+1&":$B"),2,false),"")=E1,"",Iferror(vlookup($D1, INDIRECT("$"&"A"&MATCH(E1,$B:$B,0)+1&":$B"),2,false),""))
I am trying to convert it into ArrayFormula like this and put it in F1:
=ARRAYFORMULA(if(Iferror(vlookup($D:$D, INDIRECT("$"&"A"&MATCH($E:$E,$B:$B,0)+1&":$B"),2,false),"")=$E:$E,"",Iferror(vlookup($D:$D, INDIRECT("$"&"A"&MATCH($E:$E,$B:$B,0)+1&":$B"),2,false),"")))
But this does not work and returns empty column, here is the sheet if you want to test it, you can find formula in column F:
https://docs.google.com/spreadsheets/d/13XLZvvdzK_mqr4Ous50cIEfernw2XrPJWvVgt1hFxtk/edit?usp=sharing
Please share your knowledge how to go about it as I am trying to learn formulas starting from basic level? Thank you.
when working with more than one condition, you can usually use FILTER for it. In this case, I used MAP to refer to both columns D and E, and used FILTER to narrow to the matches in A column, and then to those values that were further than the row of the MATCH of E value. Then, with INDEX I chose the first value of that resulting range.
=MAP(D:D,E:E,LAMBDA(d,e,IFERROR(IF(d="","",INDEX(FILTER(B:B,A:A=d,ROW(B:B)>MATCH(e,B:B,0)),1)))))
Unclear of the full scope but from your expected result scenario(in Column F) you seem to be pulling off second match(if any). well in that case try:
=BYROW(D:D,LAMBDA(dx,IF(dx="",,IFNA(FILTER(ARRAY_CONSTRAIN(FILTER(B:B,A:A=dx),2,1),{0;1})))))

Find Last Non-zero (+Non-blank) Row Meeting Criteria in Google Sheets

I am trying to get the last non-zero, non-blank value of a row within a column (Column F in my example image) wherein that row ALSO matches a Campaign name (Column D).
Most search results yield an Excel-specific variation of =LOOKUP(1,1/(L:L>0),L:L), but this doesn't work in Google Sheets.
I am trying to solve for Cell F23 = 2374.
I found and modified a formula which returns the last non-zero, non-blank value within a column reliably, but I don't know where to mix the additional filter (basically, D$2:D22 = D23) into the INDEX function.
Here is what I'm working with:
=if(
{{separate_formula_that_fetches_value_from_other_sheet}})=0,
INDEX((FILTER(D$2:F22,NOT(ISBLANK(D$2:F22)))), (ROWS(FILTER(D$2:F22,NOT(ISBLANK(D$2:F22))))),3)
)
Here is the example table:
Thank you for any help!
If you are trying to find inside RANGE B2:F22 which...
value in Column F is not empty and greater than 0, and
value in Column D matches D23,
try this, didn't test it, but it should work I think:
=LAMBDA(FILTER,
INDEX(FILTER,COUNTA(FILTER))
)(FILTER($F$2:$F$22,$F$2:$F$22>0,$D$2:$D$22=$D23))

Index match values from a table

I am trying to use an advanced VLOOKUP (index small match) formula in my table, but somehow can't figure out what's wrong, it only prints one cell.
I want the formula to print (in list) all the cells from column A, that contain time above 2:00 in column J.
Link to the spreadsheet
I have attached both a screenshot and a link to my table, please help me out.
try:
=FILTER(A:A, I:I>0.08333333333, I:I<>"")

Fetch the last filled cell per row in a given range

I would like to have a formula in column B, which fetches the data from the last non-blank cell in the range D:H. I have hard-plugged the data in column B to highlight what the desired formula should give me in the end >> the latest value on the timeline.
I have not figured out how to solve this issue using a formula, which would not require a concatenation of IF clauses.
Try, in B2
=index(D2:2,(MATCH(9^9, D2:2,1)))
If you put this formula in column b, it will grab the farthest value to the right, which I think is what you want to do?
=SUBSTITUTE(right(SUBSTITUTE(TEXTJOIN("?",TRUE,D2:H2),"?",REPT("!",50)),20),"!","")

Google Spreadsheet - Index Match - Match to Horizontal Column Names

I'm struggling to understand Index, Match and I am wondering if perhaps it is not appropriate for what I am trying to do.
I have several columns of pay codes with pay values in them. I want another column that combines all their values with another sheet that contains a list of the codes and descriptions.
I've tried to get index match to work for me, but I think because I am trying to match the horizontal column names that is what is messing me up.
Can anyone help me understand Index Match where I need to match a column of data to a row of column names and then put only the non-blank cells from the range in a special format?
Here is my sheet sample. https://docs.google.com/spreadsheets/d/175HbwmFf2Z_S_5Q-w6k6DOYC2MXenTefxbKy_y57sfA/edit?usp=sharing
Any help is appreciated, thank you :)
You could try (in F2)
=trim(join(,ArrayFormula(if(transpose($A2:$E2)<>"", transpose($A$1:$E$1&" "&VLOOKUP($A$1:$E$1, Pay_Codes!$A$1:$B, 2, 0)&" - "&$A2:$E2&char(10)),))))
and drag down..

Resources