![]() |
![]() |
|
|||||||
| Excel Questions All Excel/VBA questions - formulas, macros, pivot tables, general help, etc. Please post to this forum in English only. |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
New Member
Join Date: Apr 2002
Posts: 17
|
I have looked through all the posts with the name Vlookup up, but can't see why my vlookup is failing.
This is the information given by Excel 97 help... -------------------------------------------- VLOOKUP(lookup_value,table_array,col_index_num,range_lookup) Lookup_value is the value to be found in the first column of the array. Lookup_value can be a value, a reference, or a text string. Table_array is the table of information in which data is looked up. Use a reference to a range or a range name, such as Database or List. · If range_lookup is TRUE, the values in the first column of table_array must be placed in ascending order: ..., -2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE; otherwise VLOOKUP may not give the correct value. If range_lookup is FALSE, table_array does not need to be sorted. · You can put the values in ascending order by choosing the Sort command from the Data menu and selecting Ascending. · The values in the first column of table_array can be text, numbers, or logical values. · Uppercase and lowercase text are equivalent. Col_index_num is the column number in table_array from which the matching value must be returned. A col_index_num of 1 returns the value in the first column in table_array; a col_index_num of 2 returns the value in the second column in table_array, and so on. If col_index_num is less than 1, VLOOKUP returns the #VALUE! error value; if col_index_num is greater than the number of columns in table_array, VLOOKUP returns the #REF! error value. Range_lookup is a logical value that specifies whether you want VLOOKUP to find an exact match or an approximate match. If TRUE or omitted, an approximate match is returned. In other words, if an exact match is not found, the next largest value that is less than lookup_value is returned. If FALSE, VLOOKUP will find an exact match. If one is not found, the error value #N/A is returned. Remarks · If VLOOKUP can't find lookup_value, and range_lookup is TRUE, it uses the largest value that is less than or equal to lookup_value. · If lookup_value is smaller than the smallest value in the first column of table_array, VLOOKUP returns the #N/A error value. · If VLOOKUP can't find lookup_value, and range_lookup is FALSE, VLOOKUP returns the #N/A value. -------------------------------------------- I have a lookup table on the second tab of my worksheet, this is not sorted. This area on the second tab is named, and called Gb_Docs My Vlookup, on the 1st page reads :- =VLOOKUP(A1,GB_Docs,2,FALSE) A1 on the first sheet is say AD-001, A2= L2 The GB_Docs data on page 2, looks like this:- AD-001 Cherries AK-001 Strawberries FG-002 Bananas L2 Cocoa L8 Junk The Vlookup, works for the first 3 items in this list, but returns #na for the last 2 items, and yet, according to the excel help, using the FALSE expression on the end, means the list doesn't need to be sorted. Your starter for 10 is worth 10 points. |
|
|
|
|
|
#2 |
|
.
Join Date: Feb 2002
Location: Akron, Ohio USA
Posts: 789
|
Are you sure it is AD-001 in both places and not AD-OO1 in one place?
__________________
Preview my latest book for Free |
|
|
|
|
|
#3 |
|
Board Regular
Join Date: Mar 2002
Location: Sydney/Brisbane , Australia
Posts: 539
|
I may be wrong here.
but i am quite sure that: FALSE means find an exact match only true means find up to this match. so if you have a vlookup searching for value of 6.3 and the values are 1,2,4,6,7,9 it will look up at the value of 7 i.e. they must still be sorted. and formatted similarily. |
|
|
|
|
|
#4 |
|
Board Regular
Join Date: Feb 2002
Posts: 7,743
|
I've tried your scenario and it works for all cases. Your name range (gb_doc) maybe wrong.
|
|
|
|
|
|
#5 |
|
Board Regular
Join Date: Feb 2002
Location: Ahmedabad Gujarat
Posts: 303
|
main disadvantage in normal use of vlookup, hlookup and lookup is that the column of datatable from which we look should be sorted.
My suggestion to you is try to learn index - match, offset, function provided for lookup values.. they are quiet powerful and very flexible. I have given example of this in my file no 24 http://www.pexcel.com/download.htm you can study this file and try to solve your problem. if you have any difficulty you can write back to me on this board or mail me. i will love to solve your problem nishith desai http://www.pexcel.com |
|
|
|
|
|
#6 |
|
New Member
Join Date: Apr 2002
Posts: 17
|
Thanks for the suggestions guys, i will persevere and try a few other things today.
By rights, from what i can see that vlookup should work, im not using FALSE, therefore it looks up an exact match only. (which is what i have) The GB_Docs area on tab 2, does include all the needed information, so i'm not sure whats going on here. |
|
|
|
|
|
#7 |
|
New Member
Join Date: Apr 2002
Posts: 17
|
err i mean i AM using FALSE, therefore i dont need to sort it...
Nishith seems to suggest that the list HAS to be sorted..... |
|
|
|
|
|
#8 | |
|
MrExcel MVP
Join Date: Feb 2002
Location: The Hague
Posts: 50,315
|
Quote:
should simply work (0 is the same as FALSE). Go to the sheet of GB_Docs and apply the following formula in an empty cell: =LEN(the-cell-in-which-the-value-L2-is)=2 If you get FALSE, you have to conclude that there are extraneous spaces around some text values in GB_Docs. If you get true, try: =VLOOKUP(TRIM(A1),GB_Docs,2,0) Aladin |
|
|
|
|
![]() |
| Bookmarks |
| Thread Tools | |
| Display Modes | |
|
|