MS Office Forum / Excel / Worksheet Functions / May 2008
vlookup
|
|
Thread rating:  |
TAK - 14 May 2008 16:04 GMT I have a value (M01) in my current worksheet in F3. I want to find that value in another workbook, match on it and return the value in column 7 of that worksheet. I have multiple sheets in the other workbook and I am currently looking at each one individually. The formula I am using is:
=IF(ISERROR(VLOOKUP($F3,'[PAR.xls]E-M 10741003'!$B$17:$P$300,7,FALSE)),0,VLOOKUP($F3,'[PAR.xls]E-M 10741003'!$B$17:$P$300,7,FALSE))
The formula above just looks at workbook “PAR.xls” and worksheet “E-M 10741003” within that workbook. This works just fine one sheet at a time, but when the job number changes, I have to change the worksheet name in my formula. Is there a way I can look at all of the sheets, not just one at a time or pull a variable (10741003) into the formula from another cell (B3) in my current worksheet?
 Signature TAK
Pete_UK - 14 May 2008 17:44 GMT If you wanted to lookup 3 sheets, then the general approach would be:
=IF(ISNA(vlookup_1),IF(ISNA(vlookup_2),IF(ISNA(vlookup_3),"not present",vlookup_3),vlookup_2),vlookup_1)
where vlookup_1 in your case might be:
VLOOKUP($F3,'[PAR.xls]E-M 10741003'!$B$17:$P$300,7,FALSE)
So, you can see that the formula will be quite unwieldly.
To access a sheet name from a cell, you will have to use the INDIRECT function, but this will only work with open workbooks.
Hope this helps.
Pete
> I have a value (M01) in my current worksheet in F3. I want to find that value > in another workbook, match on it and return the value in column 7 of that [quoted text clipped - 14 lines] > -- > TAK TAK - 14 May 2008 19:10 GMT Thanks for the response, but unfortunately I have over 15 sheets in the other workbook. I tried using the indirect function, but I am not that skilled and could not get it to work.
 Signature TAK
> If you wanted to lookup 3 sheets, then the general approach would be: > [quoted text clipped - 31 lines] > > -- > > TAK Pete_UK - 15 May 2008 01:41 GMT If you were to put the sheet name:
E-M 10741003
in cell A1, for example, then your formula would be:
=VLOOKUP($F3,INDIRECT("'[PAR.xls]"&$A$1&"'!$B$17:$P$300"),7,FALSE)
Change the sheet name in A1 to lookup a different sheet with the same formula.
NOTE - the file PAR.xls must be open for INDIRECT to work.
Hope this helps.
Pete
> Thanks for the response, but unfortunately I have over 15 sheets in the other > workbook. I tried using the indirect function, but I am not that skilled and [quoted text clipped - 39 lines] > > - Show quoted text - TAK - 15 May 2008 16:12 GMT Pete,
Thanks a lot - that did it! Now that I see it, it makes sense. Have a great day!
 Signature TAK
> If you were to put the sheet name: > [quoted text clipped - 56 lines] > > > > - Show quoted text - Pete_UK - 15 May 2008 16:31 GMT You're welcome, TAK - thanks for the feedback.
Incidentally, in order to avoid mis-typing the sheet name in A1, you can set this up as a drop-down, so you can just choose from a (pre- defined) list.
Pete
> Pete, > [quoted text clipped - 65 lines] > > - Show quoted text - TB - 20 May 2008 21:52 GMT Pet,
I saw this post and trying to do something similar. I want to match B2 on one worksheet, to 4 other worksheets. I can do it for one which I used
=IF(ISERROR(VLOOKUP(B2,LM_RETENTION_CLAIMS!A$2:A$6500, 1, FALSE)), "not found", "found")
That works, but I need it to work on three other worksheets as well. Is there a way i can add the other to that formula so it searches for the info on all of the worksheets?
Thanks
TB
> If you wanted to lookup 3 sheets, then the general approach would be: > [quoted text clipped - 31 lines] > > -- > > TAK T. Valko - 20 May 2008 22:09 GMT One way:
=IF(SUM(COUNTIF(Sheet1!A2:A6500,B2),COUNTIF(Sheet2!A2:A6500,B2),COUNTIF(Sheet3!A2:A6500,B2),COUNTIF(Sheet4!A2:A6500,B2)),"Found","Not Found")
 Signature Biff Microsoft Excel MVP
> Pet, > [quoted text clipped - 54 lines] >> > -- >> > TAK Pete_UK - 20 May 2008 22:11 GMT As you are not bringing back any data you can use the MATCH function, like this:
=IF(ISNA(MATCH(B2,LM_RETENTION_CLAIMS!A$2:A $6500,0)),IF(ISNA(MATCH(B2,Sheet2!A$2:A $6500,0)),IF(ISNA(MATCH(B2,Sheet3!A$2:A $6500,0)),IF(ISNA(MATCH(B2,Sheet4!A$2:A$6500,0)),"not found","found_4"),"found_3"),"found_2"),found_1")
This is all one formula. I've assumed the same lookup range in all sheets, and used Sheet2, Sheet3 etc for the other sheet names - adjust to suit your set up. I thought you might like to know which sheet the value was found in, so I numbered the return, but you can make this what you want.
The following shows the formula more logically:
=IF(ISNA(MATCH(B2,LM_RETENTION_CLAIMS!A$2:A$6500,0)), IF(ISNA(MATCH(B2,Sheet2!A$2:A$6500,0)), IF(ISNA(MATCH(B2,Sheet3!A$2:A$6500,0)), IF(ISNA(MATCH(B2,Sheet4!A$2:A$6500,0)), "not found", "found_4"), "found_3"), "found_2"), found_1")
You can, of course, use VLOOKUP instead of MATCH if you wish.
Hope this helps.
Pete
> Pet, > [quoted text clipped - 11 lines] > > TB
|
|
|