Error Checking in Excel
Thanks Thanks:  0
Likes Likes:  0
Results 1 to 8 of 8

Thread: Vlookup, not working as described.

  1. #1
    New Member
    Join Date
    Apr 2002
    Posts
    17
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Default

    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. #2
    . MrExcel's Avatar
    Join Date
    Feb 2002
    Location
    Merritt Island Florida
    Posts
    865
    Post Thanks / Like
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    Default

    Are you sure it is AD-001 in both places and not AD-OO1 in one place?
    View a collection of recent Excel articles in the Excel Daily News

  3. #3
    Board Regular
    Join Date
    Mar 2002
    Location
    Sydney/Brisbane , Australia
    Posts
    542
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Default

    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. #4
    Board Regular Brian from Maui's Avatar
    Join Date
    Feb 2002
    Posts
    8,450
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Default

    I've tried your scenario and it works for all cases. Your name range (gb_doc) maybe wrong.

  5. #5
    Board Regular
    Join Date
    Feb 2002
    Location
    Ahmedabad Gujarat
    Posts
    303
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Default

    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

    ni****h desai
    http://www.pexcel.com

  6. #6
    New Member
    Join Date
    Apr 2002
    Posts
    17
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Default

    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. #7
    New Member
    Join Date
    Apr 2002
    Posts
    17
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Default

    err i mean i AM using FALSE, therefore i dont need to sort it...


    Ni****h seems to suggest that the list HAS to be sorted.....


  8. #8
    MrExcel MVP Aladin Akyurek's Avatar
    Join Date
    Feb 2002
    Location
    The Hague, NL
    Posts
    83,648
    Post Thanks / Like
    Mentioned
    33 Post(s)
    Tagged
    6 Thread(s)

    Default

    On 2002-04-14 23:31, Moradyn wrote:
    err i mean i AM using FALSE, therefore i dont need to sort it...


    Ni****h seems to suggest that the list HAS to be sorted.....
    =VLOOKUP(A1,GB_Docs,2,0)

    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

Some videos you may like

User Tag List

Like this thread? Share it with others

Like this thread? Share it with others

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •