of 8

• Author

aprah1214
• Category

## Documents

• view

223

0

Embed Size (px)

### Transcript of Excel if Statements LOOKUPS

• 7/21/2019 Excel if Statements LOOKUPS

1/8

Excel IFStatements,LOOKUPS&INDEX/MATCH.Whentochoosewhichone?

ThisarticlewillfocusontheappropriateuseofIFstatements,andalsoshowyouwhenit'sbettertomoveintomorerobustformulas

likeLOOKUP,VLOOKUP,HLOOKUP&INDEX/MATCH.

NOTES:thisarticleiswrittenforExcel2010anditsRibbonInterface. TheexamplesyouseewerecreatedinExcel2010,butsavedasExcel972003.

WorkingexamplesarehostedonMicrosoft's[url=http://cid8cffdec0ce27e813.skydrive.live.com/redir.aspx?resid=8CFFDEC0CE27E813!195]SkyDrive

IFstatements

are

one

of

the

core

formula

models

you

can

use

in

Excel,

and

they

can

be

very

powerful

with

regards

to

their

logic.

Verysimplytheyfollowthismethodology:IF(somethingisTrue,thendosomething,otherwisedosomethingelse).

=IF(A1="Yes",1,2),whichsimplysaysifA1=Yes,thenreturna1,otherwisereturna2.

YoucanalsocombineIFstatementstoevaluatemultiplecriteriabynestingthem,however,manypeopletrytogetIFstatementsto

dotoomuch.PreviousversionsofExcelallowedupto7levelsofnestedIFstatements,whichmeansthatyoucouldevaluateupto7

differentcriteria. Excel2007+allows64levelsofnestedIFstatements,butjustbecauseyoucandosomethingdoesn'tmeanyou

should!

OneofthemostcommonusesofIFstatementsistoreturndatathatmatchesspecificcriteria,orfallswithinarangeofvalues.Here

=IF(A1>=90,"A",IF(A1>=80,"B",IF(A1>=70,"C",IF(A1>=60,"D",IF(A125000,A1*2%,IF(A1>15000,A1*1.5%,IF(A1>5000,A1*1%,0)))

Notethatinbothformulas,thecriterianeedtobeorderedsequentiallyinorderfortheformulatocalculatecorrectly. Sointhefirst

exampleA1>=90getsevaluatedfirst,andifthatconditionistrue,thentheformulaperformsthecalculationassociatedwiththat

condition. Iftheconditionisnttrue,thenitmovesontothesecond,andsoon. Butifyougetyourconditionsoutoforder,thenone

conditioncaninvalidatethenextandrenderyourformula(s)useless. OneoftheinherentweaknesseswithIFstatementsisthat

theyneedtobepreciseandordered.

Whilebothoftheseformulasworkfine,they'reunwieldyandshouldbeavoidedifatallpossible. Why? Primarilybecausethedata

howmuchworkyou'dhavetodoifyouhavealotofformulaslikethecommissionexample,andyouhavetochangethecriteria.

Ideally,you'llgetintothehabitofonlyusingIFstatementsforTextcomparisonsliketheearlierexample. Yes/No/Maybeor

findyourselfwithsituationslikethisthenbyallmeansuseIFstatements,otherwiseit'stimetomoveuptomorerobustalternatives

startingwithLOOKUP.

OneoftheprimaryreasonstomoveawayfromIFstatementsformultiplecriteriaissothatyoucanuse"tablebased"reference

data. Thisgivesyoutheabilitytohaveyourdatapointsonaworksheet,wherethevaluescanbeeasilychanged,asopposedto

hardcodedin

aformula,

where

changing

the

values

can

be

achallenge.

Many

workbooks

have

broken

because

of

numerous

IF

statementsthatsomeonedidntupdate. Inthecommissionexampleabove,whatwouldhappenifyouneededtochangethe2%

with64conditions! Andthatsifyoucanevenfindtheformulainthefirstplace! Tablebaseddependenciesaremucheasierto

changeonthefly,whichcanmeanalotespeciallyifyouredealingwithcomplexmodelsandtestingmultiplecriteria.

ThefirstformulainthefamilyofreferentialformulasisLOOKUP(theyrecalledreferentialformulasbecausetheycanreturna

referencetoavalue,oravalueinarangeofvalues). LOOKUPhasplentyofuses,butitsalsothemostfragileandleastflexiblein

theLookupfamily.

• 7/21/2019 Excel if Statements LOOKUPS

2/8

ALOOKUPformulaevaluatesavalue(eitherhardcodedorinacell)thenfindsamatchforitinatablethatliststhevaluestobe

lookedup,andthevaluestoreturn. IntheseexamplesImusingLOOKUPtoreturnavariablerangefromalistofvalues. LOOKUPis

governedbythefollowingsyntax:

=LOOKUP(Valueyouwanttolookup,rangewhereyouwanttoreturntherightmostvalue).

NOTE:LOOKUPformulascanlookupahardcodedvalue,ortheycanlookupavaluefromacell.

=VLOOKUP(900,A2:B23)&LOOKUP(A5,A2:B23)doexactlythesamething,butthelatterismuchmoreflexiblesinceyoudonthavetochangethe900

valuewheneveryouwanttochangethelookupvalue. Youshouldalwaystrytousecellreferencesinformulasasopposedtohardcodedvalues.

Sointheexampleabove,=LOOKUP(A5,A2:B23) willlookinrangeA2:A23forthevalueclosesttowhatwasenteredincellA5,and

returnthecorrespondingvaluefromcolumnB. Inthiscase,lookingfor\$900resultsina2%resultbymatching\$750,whichisthe

theresultwouldhavebeen3%. NotethattheLOOKUPformularequiresyourdatatobesortedinAscendingorder,otherwiseits

notgoingtoprovideyouwithconsistentorcorrectresults. AquicknoteonLOOKUPanditscounterpartVLOOKUPisthattheycan

onlylooktotherightofthelookupvalue;theycantgototheleft. ForthatyouneedtocombineINDEX/MATCH,whichwillbe

coveredlater.

• 7/21/2019 Excel if Statements LOOKUPS

3/8

VLOOKUPThisisthebigbrothertotherelativelylimitedLOOKUP,andgivesyoumoreflexibilitywithregardstowhatdatayoucan

returnandwhere. VLOOKUPfollowsthissyntax:

=VLOOKUP(Valueyouwanttolookup,rangewhereyouwanttolookupthevalue,numberofcolumnstotherightofthe

foundvalue,ExactMatchorApproximateMatchIndicatedwith0/FALSEor1/TRUE).

SowhereLOOKUPisgoingtoreturnavaluefromtherightmostcolumnintherangethatyouspecify,VLOOKUPletsyoulookupa

multicolumnrange,andchoosewhichcolumnfromwhichtoreturnavalue. VLOOKUPisveryoftenusedinfinancescenarioswith

12Monthperiodsbecauseyoucaneasilychoosewhichmonthtoreturn.

Notethefirsttwoformulasusestaticcolumnreferences(2&3),whichtelltheformulatoreturnvaluesfromthesecondandthird

columnsrespectively:

=VLOOKUP(\$A8,\$A\$2:\$M\$4,2,FALSE)

=VLOOKUP(\$A8,\$A\$2:\$M\$4,3,FALSE)

Thisisallwellandgood,andformanymodelslikethisoneitsok,butitcanbetimeconsumingtohavetogointoeachformulaand

=VLOOKUP(\$A8,\$A\$2:\$M\$4,COLUMN(),FALSE)

SointhecaseofMarch,itsthe4th

columntotheright,andCOLUMN()returnsa4,whichfeedsthecorrectnumbertotherestofthe

• 7/21/2019 Excel if Statements LOOKUPS

4/8

accordingly,knowingthatNameiscolumn2,Departmentiscolumn5,Earningscolumn6,andRegioncolumn4. Oryoucan

themforyou.

TheformulasinB5:E5are(theredtextindicateswheretheformulasaredifferent):

=VLOOKUP(\$A5,\$A\$9:\$F\$48,MATCH(B4,\$A\$8:\$F\$8,0),FALSE)

=VLOOKUP(\$A5,\$A\$9:\$F\$48,MATCH(C4,\$A\$8:\$F\$8,0),FALSE)

• 7/21/2019 Excel if Statements LOOKUPS

5/8

=VLOOKUP(\$A5,\$A\$9:\$F\$48,MATCH(D4,\$A\$8:\$F\$8,0),FALSE)

=VLOOKUP(\$A5,\$A\$9:\$F\$48,MATCH( E4,\$A\$8:\$F\$8,0),FALSE)

ThisisverysimilartousingtheCOLUMN()functioninthepreviousexample,exceptthistimethecolumnsarentinorder,sowe

ofthedataseriestotheend,soNameis2,Departmentis5,andsoon.

MATCHsyntax

is

as

follows:

=MATCH(Valueorcellyouwanttofind,Rangetolookin,0=Onlyfindanexactmatch).

NOTE:Ifyouleavethe0outorputa1,theformulawillfindtheclosestapproximatematch.

NextintheLOOKUPfamilyoffunctionsisHLOOKUP. WhereVLOOKUPisaverticallookup,lookingfromlefttorightinarange,

HLOOKUPisahorizontallookup,whichgoesfromtopdowninarange.

HLOOKUPssyntaxisverysimilartoVLOOKUP:

=HLOOKUP(Valueyouwanttolookup,Rangeyouwanttolookin,numberofrowsdowntoreturnavalue,TRUE/FALSE)

NOTE:Hereagain,1/TRUEwillreturnanapproximatematch,while0/FALSEwillreturnanexactmatch.

WheretheformulasinC5:E5are:

=HLOOKUP(\$B5,\$A\$7:\$F\$16,MATCH(C4,\$A\$7:\$A\$16,0),FALSE)

=HLOOKUP(\$B5,\$A\$7:\$F\$16,MATCH(D4,\$A\$7:\$A\$16,0),FALSE)

=HLOOKUP(\$B5,\$A\$7:\$F\$16,MATCH(E4,\$A\$7:\$A\$16,0),FALSE)

SoforC5,ImlookingforthevalueinB5(Qtr3)inA7:F16,andMATCHisreturningthe4th

rowdownforGrossProfit. Withoutthe

MATCHformulaitwouldbe:

=HLOOKUP(\$B5,\$A\$7:\$F\$16,4,FALSE)

• 7/21/2019 Excel if Statements LOOKUPS

6/8

Finally,weremovingontowhatisprobablythemostpowerfuloflookupcombinations,whichiswhenyouuseINDEX&MATCH

lookuptotheleft,whenLOOKUPsonlygototheright? INDEX/MATCHisthesolution,andonceyougetthehangofit,youllbe

surprisedhoweasyitis.

YouknowthatMATCHreturnsareferenceforavaluefoundinatablebygivingyouthevaluespositioninthetable. INDEXreturns

aROW&COLUMNreferenceinarangebasedonwhatrow&columnyoutellittolookin,so:

=INDEX(A1:B10,1,2)

WouldreturnthevalueincellB1,whereINDEXssyntaxis:

=INDEX(Rangeyouwanttolookin,#ofrowstolookdownfromthetopoftherange,#ofcolumnstolooktotherightof

therange).

thefollowingexampleshowshow:

Note:aswithLOOKUPsyoucanreturnamatchingvalueinthesamecolumnasthelookupvalue,butthatsgenerallypointlessunlessyourejusttrying

toseeifavalueactuallyexistsinatable.

• 7/21/2019 Excel if Statements LOOKUPS

7/8

• 7/21/2019 Excel if Statements LOOKUPS

8/8

Inthiscase,wereusingtheEmployeeNametoreturntheothervaluesinthelist. SomearetotherightofEmployeeNameand

someareontheleft. Thevariousformulasareasfollows:

EmployeeID#: =INDEX(\$A\$12:\$F\$51,MATCH(\$B\$4,\$B\$12:\$B\$51,0),MATCH( \$A5,\$A\$11:\$F\$11,0))

SSN: =INDEX(\$A\$12:\$F\$51,MATCH(\$B\$4, \$B\$12:\$B\$51,0),MATCH(\$A6,\$A\$11:\$F\$11,0))

Region: =INDEX(\$A\$12:\$F\$51,MATCH(\$B\$4, \$B\$12:\$B\$51,0),MATCH(\$A7,\$A\$11:\$F\$11,0))

Department:

=INDEX(\$A\$12:\$F\$51,MATCH(\$B\$4,\$B\$12:\$B\$51,0),MATCH(\$A8,\$A\$11:\$F\$11,0))

Earnings: =INDEX(\$A\$12:\$F\$51,MATCH(\$B\$4, \$B\$12:\$B\$51,0),MATCH(\$A9,\$A\$11:\$F\$11,0))

SotheINDEXformulasaysLookintherangeA12:F51andfirstfindtherownumberthatholdstheemployeenameinB12:B51,then

twovalues. SointhisexampleforSandyStewart,forEmployeeID#,Iwantthe4th

rowinthefirstcolumn,whichistotheleftofthe

namecolumnwerelookingin. Sothatshowyoucanlookuptotheleft.

Nowyoumightbethinkingthatsabithardtofathomallatonce,andfranklyitcanbe,buttheresatricktobuildingcomplex

formulaslike

this:

you

do

them

one

step

at

atime.

Youll

see

the

detail

of

how

Igot

here

in

the

sample

workbook,

but

Ill

walk

you

throughitjustincase.

First,sinceIknowIllbeusingEmployeenameastheprimarydriverfortherestoftheformula,Istarttherebymatchingasample

nameintheNamecolumn. Inthiscase,SandyStewartisrow4,whichIfindwithaMATCHformula:

=MATCH(\$B\$4,\$B\$12:\$B\$51,0) SofindSandysnameincolumnBandgivemeanexactmatch.

=INDEX(\$A\$12:\$F\$51,4,1)

WhichgivesmeE033,andthatsthefourthrowinthefirstcolumn.

=INDEX(\$A\$12:\$F\$51,MATCH(\$B\$4,\$B\$12:\$B\$51,0) ,1)

NextIneedtofindthe1forEmployeeID#,whichIcandowithanotherMATCHformula:

=MATCH(\$A5,\$A\$11:\$F\$11,0)

Finally,Ireplacethe1withmynewMATCHformula:

=INDEX(\$A\$12:\$F\$51,MATCH(\$B\$4,\$B\$12:\$B\$51,0), MATCH(\$A5,\$A\$11:\$F\$11,0) )