Beruflich Dokumente
Kultur Dokumente
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
VLOOKUP is a powerful and much-used Excel function. If youre not familiar, it finds a
lookup value in a table and returns the corresponding value of another column. This
is great for looking up information by reference. In the example image above, Name
is the lookup value,and it returns the matching Salary. If you are a power Excel
user,you are likely very familiar with this function. If not, heres how it works:
=VLOOKUP(Lookup_value, Table_array, Col_index_num, Range_lookup))
Lookup_value The value you want to find in the lookup value column
Lookup_value The table range containing columns for both the lookup and
return values
Col_index_num The index number for the column containing the return
values
Range_lookup The type of match: Nearest Less Than (TRUE), or Exact (FALSE)
[optional]
VLOOKUP, though powerful and useful,is not without its limitations.In fact, it can be
dangerous because of some unexpected effects and behaviors. If you use VLOOKUP,
please read on to learn about these issues. This equally applies to VLOOKUPs sister
function HLOOKUP (which does horizontal lookups instead of vertical lookups) and
another similar function,LOOKUP.I have provided asafer and more flexible
alternative lookup method, which I use virtually everywhere in place of VLOOKUP.
http://thinketg.com/saygoodbyetovlookupandhellotoindexmatch/
1/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
2/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
Sufficiently scared? Checking your spreadsheets for issues now?? The answer to
these problems and limitations is the INDEX-MATCH lookup method. This methods
uses two functions together to provide a more safe and flexible lookup feature.
Heres how each function works, independently:
INDEX returnsthe value atthe intersection of a row and column in a given range.
Formula: =INDEX(Array, Row_num, Column_num)
Array The range of cells
Row_num The row to return data from
Column_num The column to return the data from [optional]
MATCHreturns a position of an item in an array that matches a value.
Formula: =MATCH(Lookup_value, Lookup_array, Match_type)
Lookup_value The value you want to find in the lookup value array
Lookup_array The range containing lookupvalues
Match_type Exact (0), Nearest Less Than (-1), or Nearest Greater Than (1)
Social Stream
all
[optional]
Combining the two functions, you are able to effectively beat the limitations and
dangers of VLOOKUP. You can build a lookup that allows you to specify the lookup
column and return value column completely independently, and also control of the
nature of the approximate match, if not exact. The arrays are ranges and you can
specific Column_num in place of Row_num, which mean you are not limited to using
columns only; this can be used in place of HLOOKUP. It still has the approximate
Steven
PrecisionTraining
default, and carries the same sort warnings
Bealesmatch featureas nearestless thanby@mabii_training
@Stevenbeales
FreePractice
as VLOOKUP. Heres how the combined function works:
Rapid
Test74343
PrototypeSite
Managing
=INDEX(Return_value_range, MATCH(Lookup_value,
Lookup_value_range, Match_type))
Customization
Projectswith
inMicrosoft
Microsoft
that holds the return values
SharePoint| Return_value_range The rangeProject2013
eImagine
http://t.co/g5YT7Iaxks
Technology Lookup_value The value you want to find in the lookup value array
Group
Lookup_value_range The rangeemeryville,
containing lookup values
http://t.co/mJvIvwANZq
JoelRussell
ca Tweeted2
Than (-1), or Nearest Less Than (1)
days+6
@JoelOfETG Match_type Exact (0), Nearest Greater
@everysundays
hrsago
Thanks
index(match())
Tweeted1
@Flat12Bierwerks
day+12
and Enjoy, and use in good health!
vlookup()
hrsago
@HeroesFndtn
!!!!
foragreat
http://t.co/yiWgO3Faep
StopOne
#PIFFparty.
Upping
#beatcancer
Everyone.
WeAllHate
Tweeted6
It.
days+4
JoelRussell
Ifyoure
Tweeted2
hrsago
http://thinketg.com/saygoodbyetovlookupandhellotoindexmatch/
3/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
Ifyoure
hrsago
readingthis,
youprobably
know
someone[]
Tweeted2
@JoelOfETG
weeksago
Preppedand
readyforfirst
ride.jdrf_ride
2016rider
https://t.co/uuPHV81Kor
eImagine
Technology
Group
112 Comments
Kiz on July 4, 2013 at 10:18 am
DUDE! This saved my sanity! Thanks so much.
4/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
Nikolay,
Yes, it is still limited. I believe you can use wildcards by appending
asterisks (e.g., *&[VALUE]&*) on both sides of your lookup value.
Give that a try, maybe it will help expand the scope to what you need.
Best of luck!
Thanks,
Ben
http://thinketg.com/saygoodbyetovlookupandhellotoindexmatch/
5/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
6/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
Joseph
http://thinketg.com/saygoodbyetovlookupandhellotoindexmatch/
7/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
8/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
9/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
10/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
can find ALL laborers in column A1 and have the correlating hours
summed in B1. Carpenters A2 and Their total Hours B2 and so on.
Im ok with having a hidden list populate and I then sum and tidy up
in a nice neat table later. I just cannot find a way to do if *this cell*
says lbr at all, display hours from *this cell* if not, dont display I
can drag and sum later.
Better yet! Since every lbr, for example, shares the row with the
hours Im concerned with, if I could search and sum EVERY lbrs
corresponding hours into 1 cell that would be excellent. By the end of
this project Im going to have 20 working classes and over 50 workers
and Ill need daily sums of each one.
Any direction would be appreciated!
Steven
http://thinketg.com/saygoodbyetovlookupandhellotoindexmatch/
11/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
SUMIF is definitely the way to go! Thank you, the use of wildcards and
SUMIF has made this so much more simple. Happy new year!
http://thinketg.com/saygoodbyetovlookupandhellotoindexmatch/
12/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
Please help
13/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
14/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
part number. So 0 would be the top assembly, all the 1s would report
to that assembly, and 2s report to the previous 1, etc.
Level Part# Parent#
0 Assembly1
1 Sub-Assy1 Assembly1
2 Part A Sub-Assy1
2 Part B Sub-Assy1
1 Sub-Assy2 Assembly1
2 Part A Sub-Assy2
2 Part C Sub-Assy2
The Parent# column above shows what I want the function to
return. So starting in C3 (by Sub-assy1) I added
=INDEX($B$2:B3, MATCH(A3-1, $A$2:A2, 0))
and filled that down so the search range expands for each
subsequent row. The problem is the function returns a value from
the first match it finds. What Im trying to do is find the closest
previous row that is one digit less than the current one (in column A).
For example, the very last row is at level 2, so the parent is going to
be the previous level 1 (Sub-assy2). This function returns the first
level 1 it finds and therefore puts the value Sub-Assy1 in the parent
column instead.
Is there a way to have it search backwards starting at the bottom of
the range? I tried reversing the order of the range and that didnt
make a difference. Or is there a better function or combination I
should be using instead? I could create a row number column to use
to find the smallest difference between the current one and all the
rows with a match if theres a way to do that.
Thanks for your help!
15/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
http://support.microsoft.com/kb/324986
16/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
17/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
David
18/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
up-a-value-in-a-list-and-return-multiple-corresponding-valuesHA001226038.aspx?redir=0#Return%20multiple%20corresponding
19/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
20/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
http://thinketg.com/saygoodbyetovlookupandhellotoindexmatch/
21/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
http://thinketg.com/saygoodbyetovlookupandhellotoindexmatch/
22/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
http://thinketg.com/saygoodbyetovlookupandhellotoindexmatch/
23/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
24/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
25/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
for some of the value its ok but for others its giving me #n/a, i.e.
match function gives #n/a, Need your kind assistance ,
26/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
find the nearest greater/less than value. Does that work in your
situation?
27/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
Im using two different sheets, one with all the data of the square
footage pricing, and the other as a type of reporting worksheet.
Data Sheet is where the prices are, and Concrete is what Im
working on. I have ranges of SF, and an associated price for that
range.
Column S is the price, Column Q is the high end of the range (so -1
returns the value equal to or less than the high-end range)
Input into Concrete!D15 is this formula:
=INDEX(Data Lists!$S17:$S57,MATCH(A15,Data Lists!$Q17:$Q57,-1))
Its not bringing back the right data, and if you go above 500 on the
reference cell, it gives an #NA error. Grrrr! This shouldnt be that
complicated!
28/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
Are your columns sorted? One of the limitations of this is that they
must be sorted appropriately for the formula to work with the match
type you are using. Incorrect sorting might result in a #N/A being
returned.
29/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
30/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
http://thinketg.com/saygoodbyetovlookupandhellotoindexmatch/
31/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
32/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
http://thinketg.com/saygoodbyetovlookupandhellotoindexmatch/
33/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
34/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
35/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
*6 0
*10 1
Your help would be greatly appreciated!
Trackbacks/Pingbacks
http://thinketg.com/saygoodbyetovlookupandhellotoindexmatch/
36/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
Trackbacks/Pingbacks
1. Maybe I am looking at this the wrong way? - [] Match_type)), but it doesn't seem
to work the way the author says it would. You can find it at
2. How To Return Multiple Match Values in Excel Using INDEX-MATCH or VLOOKUP |
eImagine Technology Group - [] or HLOOKUP is a popular method for doing this
quickly and easily. (Or, perhaps you read about my improved
3. Extended VLOOKUP function for Excel | eImagine Technology Group - [] of my
favorite co-workers, Ben Klopfer, wrote a post back in October 2012 that has been
one of our
4. Say Goodbye to VLOOKUP, and Hello to INDEX-MATCH | eImagine Technology
Group | Matt's Blarg - [] Say Goodbye to VLOOKUP, and Hello to INDEX-MATCH |
eImagine Technology Group. []
5. VBA | Custom VLOOKUP Function | AnaLog | Data Analytics Log - []
http://thinketg.com/say-goodbye-to-vlookup-and-hello-to-index-match []
Categories
.NET
Business
Career
Community
Dynamics CRM
eImagine
Marketing
Microsoft
Mobile Development & Apps
News & Awards
Project Management
SharePoint
SQL
Web
Authors
http://thinketg.com/saygoodbyetovlookupandhellotoindexmatch/
37/38
10/4/2015
SayGoodbyetoVLOOKUP,andHellotoINDEXMATCH|eImagineTechnologyGroup
Andrew Corrington
Benjamin Fox
Benjamin Horsman
Ben Klopfer
Britney Earwood
eImagine CRM Team
eImagine Dev Team
eImagine PM Team
eImagine SharePoint Team
eImagine Team
Emily Lefebvre
James Krauss
Joel Russell
Jordan Sanders
Laura Bennett
Laura Hansen
Mark Davidson
Matt Ray
Michael Matusiewicz
Ryan Bond
Scott Crane
Wally Cabigas
8925 North Meridian St., Suite 115, Indianapolis, IN 46260 | 317-577-9958 |
info@thinketg.com
Copyright 2015 eImagine Technology Group.
http://thinketg.com/saygoodbyetovlookupandhellotoindexmatch/
38/38