Sunteți pe pagina 1din 16

Functions Plural conditional version of sumif: sumifs: 127 conditions ANDED

Tab Ctrl-a: only 1 time o for more: Alt m f Tab o!ens more conditions

elect 1st cell -" ctrl s#ift and do$n arro$

%&'(C1) *(stands for concatenation+ use for te,t based -ensure s!ell c#. but $#en modify t#is $ill c#an/e so0 $rin/ fully $ill better t#en

Te,t ran/e can be used only once0 number ran/e allo$ed any no of times

Evert#in/ s#ould start and end at same start and end for all: eit#er ro$1column Namin/ t#e ran/es 2.ind ref: relative C#an/e reference of formula: F2 F3 -" absolute *mi,ed in conditional formattin/+ Namin/: After select name s#o$s reference Ctrl s#ift and F2 : tic. to! ro$ and o. 4it Alt and select

Formula name mana/er creatin/ from cell

Ctl F2 Alt m n 5it#in t#e boo. : 6sin/ lable in formula0 if not ctrl-a: !ut criteria in %' Prb: if delete lable0 t#en formula turn to 7ref

Autosum elect ran/e and: CT89 D Nested if: :f*and*ca"&;<0d3"&;<+0'P'='F'+ Can >oin AND and ?8 And:2;;- true lo/ical function *doesn@t return false+ :f $it#in a if *nested if+: &if*:3"&A;0'o'0if*:3"&);0'E'0'B'++

elect entire ro$0 Ctrl s#ift and 2 do$n arro$

Date functions: Todays date-" ctrlCD or today*+:em!ty fn Can c#an/e format stored as number Time also: no$*+ Net$or.days*+ -" only sat and and sun :f $ant to include o$n #oliday: select t#e ran/e-" must be .e!t ready

2<1< fn: Net$or.days=intl*today*+0 date*2<1201101+011+ NE:11 from dro!do$n table

Edate*today0 no of mont#s a#ead in time Eomont#*today*+0no of mont#+ but t#is $ill ta.e t#e last date Date*120<A02F+ !rb: don@t understand aftr 2.0 so force by 2<12 ot#er$ise 1A12 5or.day*today0 no of $or.inday0 #oliday is o!tional+ 5ee.dayG :f 2; calander day: Today*+C2; 2 e,traction func: day mont# year Datedif*startdate0enddate0 ty!e diff in Huotes: d1m1y+ removed from e,cel after A;0 /ives calander days diff Diff of day %d' o!tion can use %I% instead Bives Ive in case days be#ind :n case of i/norin/ t#e year1mot# -" ym*i/nore y and ta.es mont# only+1md*i/nore m and /ic d diff+ Today-date*yyyy0mm0dd+ need to c#an/e t#e format to numberJ Days2F<G :f*f2"/20<0:f*isblan.*/2+0datedif*f20today*+='d'0datedif*f20/20'd'+++ Kall 2 if o!tions nested"

Conditional formattin/: Conditional formattin/-" #i/#li/#t cell-" /reater t#an -"to!1bot or color scales or icons -" mana/e rules

elect $1o #eader seletect ne$ rule 6se formula to determine $#ic# cell to formatted

&LM3&'E' *Mi,ed reference 3 is fi,ed+ Adv" filter by color in autofilter *ctrlCs#iftC9 I a!!ly1remove ?8 Alt AT+ Trans!ose form !aste s!ecial ?r from func: elect ro$s and column and $1o !ressin/ enter0 ty!e t#e eHuation *automatically /oes to 1st+ Trans!ose*+ Ctrl s#ift and enter as array func *so can@t c#an/e t#e value but !aste s!ecial $ill not loc. t#e ran/e: only diff+

Data Nalidation elect accounbtin/ but allo$ al!#abets0 c#an/e only in case of no a!!ear bt nt $it# validation Numbers only: continuos: Data"validation i1! ms/ 0 info1$arn1sto! no te,t validation: so custom &iste,t*select cell+ and*iste,t*e2+0left*e2+&'9'+ K9 is ca! #ere but its case insensitive" uniHue values only by t#e $ay0 #ere it is not case sensitive under formula: &countif*select ran/e and fi, itKF3"0 first cell in ran/e+&1 -it doesn@t $r. on e,istin/ data0 if so0 tem!late is made

ortin/ Custom sort: sort: multilevel sort Ctrl C s#ift C do$n and u! selects total Advance filter *in case autofilter can@t #andle $it# mor t#an 1 occurance " in case usin/ remove du!licate in data tab+ Creation of listJ

8ule1: same s#eet you s#ould #ave criteria Data"advance under sort n filtere" co!y to ne$ location eletct column #eadin/ and value *9to81To! to Eot+ in criteria ran/e Kcan be more t#an one: order of filter is order of condition" Co!y to: can be any cell C#. uniHue rec nly t#is $ill e,tact it to t#is cell ?nly disadv -" rerun it everytime in case of c#an/e as it is a tool nt a function NE: to! do$n is !referred over 9to8= Condtion is ta.en left to ri/#t bt ta.en from to! to botJ E,cel al$ays AND0 no any number but te,t not recommended -#eadace to run a/ain and a/ain as tool0 so better ma. a macro

Protection: 3levels *cell0 s#eet0 boo.0 a!!lication level+ Cell " ri/#t clic."format"!rotection: it !rotected by default 8evie$" !rotect s#eet: unc#. to! 2: /iv !ass$ord ot#er$ise it can to//le $it# button clic. 4ide formula: select entire s#eet: format"!rotection"c#ec. #idden and t#en !rotect elective selection: Allo$ user to c#an/e" -s#ould color fil it for note as a /uide 8em: s#eet !rotection is mandatory after any of t#e above -still can be co!ied so0 8evie$"!rotect $r.bu.: 2 ty!: stru n $in !rotect :f stru-" can@t c#an/e name0 add s#eet0 create co!y or delete it but can add c#art :f $in" can@t even close t#e !articular boo. F12: save e,cel" bottom: tools"

Encry!ted as binary bac. u! in same folder: ,lsb: can o!en t#is $ay if !ass$d 3/t Knly t#ro e,cel" -till t#e !oint0 it $as !ass$ord !rotected $ill be available o0 c#ec. al$ays create bac.u!0 ot#er$ise it $ill over$rite

9ist creation in data validation: 2 met#ods M1: select data validatio!mn" allo$: 9ist M2: need to #ave ran/e available and ready in t#e same s#eet M2: c#an/ed in 2<1<: Created list in 2nd s#eet :n 2<<7: not allo$ to s$itc# s#eet0 so need to name t#e ran/e and in validation &$ee.days

C#arts: Paired0 !areto0 )<*l+-2<*r+: $#en one series over s#ado$s ot#er series 2d Clustered column c#art elect data: any ran/e se!arated $it# 0 elect lar/er as select series c#at ty!e" select line c#art Konly $it# line and column" -ot#er$ise0 bar $ill overla!0 can try scatter and ot#ers but line $ill be best o!tion 8i/#t clic.: select format series and select secondary a,is Can /ive: layout" a,is title C#.: Creatin/ c#art on filtered data

Ban/ c#art *floatin/ bar c#art I tric. c#art+: 2d stac.ed bar c#art elect data" Format data series" remove bar: no fill0 boder color: no line !eedometer c#art T#ermometer c#art 8adar c#art $eibull

vloo.u! vertical loo. u!cola/e date0 not consolidate *brin/in/ data to/et#er from all d location+ across s#eets: !aste t#e column 1st format t#e data to be e,tracted 9oo.u!value: *ref val+ val to be .e!t as ref !t Table array: set of data 3m $#ic# u $ant 2 e,tract final ans1resl0 it s#ould include t#e column t#at contains t#e ref val as t#e 1 st *mandatory rule0 ot#r$is act as dummy+ Column inde, no: it@s a column no *from t#e table selected+ 8an/e loo.u!: e,act matc#*false - usually+1a!ro, matc#*true+ :f mor dn 1: false: FCF :#it but true: can be any bt nt 1 st Column*+-" returns column no: use it as column*b2+-column*b;+C1 under column inde, *len/t#y+ -cant use column name as it@s a number0 cn $rite a func t#at returns a no li.e lable

Disadv: 1=al$ays 9to8 2=multi!le:FCF 2= Don@t /ive false0 c#ances 2 /t data nt lu.in 3 Function: if $it#in ran/e0 it ll ad>ustD not $en beyond

Matc# inde, -" reverse loo.u! :dea: r to l loo.u! *vloo.u!:l2r+: it avoid rearran/ement 9imitance: #ere also FCF if mor dn 1 !resent Combination fn== finds inde, and matc# Can ta. only 1ro$1column *not table0 nt cn /iv #alf column also+ at a time 8eturns only a number: use as inde, Matc# ty!e: < for e,act matc# *-1: finds a value immediately /reater and 1 for imm smaller+ :nde,*+: can /ive a ran/e 2 ver: O ar/uments-" select 2 ar/ Array: if use column in matc# #ere also column 8o$Pnum result of matc# Combinin/ t#e t$o: inde,*Kmana/er col"0 matc#*F20 Kyearly t/t col"0<+

4loo.u!: ro$ $ise $#et#er !articular !roduct occurs 1ce mor 4loo.u!*Kcell"0Ktable"0Kro$ no"0false+ 9oo.u!*Kresl loo.u! val"0Kloo.u! vector"0Kvec": no ctrl0 /iv diff val0 t#at@s $#y0 don@t use itJ

Ma.e table: colour coded0 need not freeQe 1 st col *nt ro$J+

Pivot tables: dynamic re!ort as allo$s you 1st ste!: create a layout 2nd: dum! t#e tab.le :nsert !ivot *$#en $r.in $id 2 bu.s: o!en under same a!!ln: by ctrl-o+ elect table *default 1st blan. ro$(col+0 ne$ s#eet as no1 need bac. data: /ives a layout ?!tions"!ivot table2"o!tions" c#ec. classical !ivot layout *2<<2+: adv can dro! #ere 8o$ table and value 2 fld s#ould be t#ere in !ivot ?!tions"refres# Calculated fld creation ?!tions" formula" calculated fld *only bodmas rule0 1 fld Q mandatory+ Clic. on c#art"desi/n"move c#art"ne$ s#eet -brin/ bac.: select ob>ect c#art 2<1<: slices ?!tion" insert slicer" Adv: 1= $1o touc#in/ table can filter 2= field touc#in/ need nt b a !art of table also $e #ave filter on c#art

MAC8?: a set of automated instruct to be used in re/ular basis 2$ays: code: NEE1vba *visual basic editor: bac. end of e,cel+ ?fc but" e,ecl o!t"!o!ular" c#ec. develo!er tab in ribbon

2<1<: costomise develo!er instead of !o!ularJ *it #as Add ins too+ Develo!er" record macro Name: camel notation Pic. s#ift and !ress no *ot#er$ise it $ill over$rite if e,istD $id s#it nly s!ecial c#ar e,ist+ tore in 2 loc: !ersonal macro $r.bu.: !ersonal=,lb *binary+ in bac.end every #as access Develo!er tab" sto! Default: uses absolute reference Delete" Develo!er"macro" select n delete 8un a macro $it#out s#ortcut: develo!er"macro :f #eader is comin/0 somet#in/ $ron/ $ent in recordin/ Develo!er"visual basic 2 $indo$: !ro>ect $ins0 !ro!erties $in *as it is ob>ect: no need 2 define a cls== >us define ob> 3 a class+ and code $indo$ *blan. I ot#er$ise recoded macro0 none if many+ tored in module: Add to clear

A!!lication $r.bu.s#eets0c#arts#eetsran/es0c#arts0!ivorts0 !ictures0ima/ers0cli!art0 etc *8an/e cellscol0 ro$+ -base #ierarc#y in e,cel :f don@t mention0 it ll assume t#e currently active

:f $e $ant to clear t#e ran/e before filter and t#en

Add: 8an/e*%R;'+=Current8e/ion=Clear -current re/ion $ill clear in and around *use brea. !oint mode by clic.in/ on tab at t#e left side of command+: to see !art$ise run

9ots of macros0 runnin/ is a time con 6se C?NT8?9: 2 ty!e: form and active cntrl Form: s#eet doesn@t .n$0 floatin/ ctrl Develo!er" insert" form contrl"button -" dra/ dro! and assi/n macro to itJ Anot#er: !ut on tool bar: select arro$"more commands" dro! do$n to MAC8? *c#oose command+ C#an/e symbol by clic.in/ M?D:FS -but t#is in t#is bu. To delete button: 8i/#t clic.!res escdelete

ActiveT: :nsert" active button see %embed' T#is .ind of ctrl #as met#od associated $it# t#em -t#is ob> #as !ro!erties clic. on !ro!erties: to be done from NEA nt #ere Ca!tion Q $ot v see0 name Q $ot e,cel see0 can leave t#e name0 ot#er$ise follo$ set of rules Double clic. on button: o!ens vba 5rite AdvFilter in bet$een Clic. on desi/n mode: it $ill no$ allo$ you to clic.

F$ays to do: 1=srtcut 2= Macro run 2= Eutton 3= Menu button ;= Active , *don@t use macro to /enerate !ivot or c#at0 rat#r create t#em 1 st and t#en ma.e macro to use t#emD as t#is $ill ensure it ll no!t create c#art1!ivort $it# same name0 $#ic# Q nt allo$ed

4el! fir NEA: ?b> bro$ser: s#o$s classes alon/ $it# members and /lobals

After filterin/ if $ant to cut and and !aste diff s#eet0 t#en NEA dataty!e: inte/er0 double0 currency0 strin/0 date0 variant0 Eoolean 6se dataty!e: dim *dimension+ Nly var name is case sensitive non oders Dim : as inte/er *in dro! do$n: bo, $it# blue tio! is a data ty!eD inte/er a!!ears in blue+ Dim $s as $or.s#eet *$or.s#eet is in blac. so a class: easiest diff+ 8an/eUUU==Clear 11command 8an/e*%>;@+=Current8e/ion=Cut VCuts t#e !o!ulated cells

et $s& #eet=Add 5s=Paste Kby default A1D if se!ecfy !ase : $s=ran/e*%a3'+=!aste"

CutCo!yMode&False 11namin/ t#e s#eet

5s=Name & s#eet12=ran/e*%>2'+=value Kinside !ro>ect tab: in brac.et is d name $e /iv and $1o brac. is it name" 11namin/: need 2 c#. if e,ist UUU=8an/eUUC6T Dim fla/ as Eoolean F?8 EAC4 5 :N 5?8W 4EET :f*$s=name&s#eet12=8an/e*%R2'+=value t#en Fla/&true Else Fla/&false End if NETT 5 :f fla/ &true t#en 5s=delete et $s & s#eets=add 5s=!aste 5s=name&s#eet12=ran/e*R2'+=value Else et $s & s#eets=add 5s=!aste 5s=name&s#eet12=ran/e*R2'+=value End if -----set $s &s#eetU U==$s=Paste UU== Kif its a!ro!erty cant e,cess $1o a dot"

No$ if $e do it a/ain" it $ill as. for c#. if u $anna delete

1st: ave macros as ,lsm 2nd:macro setin/" set at 2 before s#arin/1 usin/ ot#rs

5ritin/ a func: Macro anot#er name: !rocedure Procedure -"2 ty!es: sub !rocedure and function !rocedure *diff I sub $ill nt retun a val unless told+ Table: Product: !rice1./: Disc Amt: DiscX Product: Yuantity: Amount Code: UUU==end sub Function invoiceamont*!roduct0tab.e0Huantity+ Dim disPHty0disP!erc0!rice0 disPamt Vanyt#in/ after is tal.en as variant

Price&$or.s#eetfunction=vloo.u!*!roduct0table020false+ Vamost all func in $r.s#tfn bt dis!layed as ar/10ar/2 Zar/2[ DisPHty&$ors#eetfunction=vloo.u!*!roduct0table020false+ DisP!erc&$ors#eetfunction=vloo.u!*!roduct0table030false+

:f discPHty"Huantity t#en :nvoiceamount&formatcurrency*Huantity\!rice+ V!rint $it# t#e curreny symbol End if

:f disPHtyK&Huantity t#en DisPamt&Huantity\!rice\disP!erc :nvoiceamount& formatcurrency*Huantiy\!rice-disPamt+ End if End function Krun as a func in e,cel== best !art is as $e ta.en as variant0 $e can #ave ran/e as table" Disadv: can@t use outside $r.bu. *if !ut in !ersonal t#en u cn+ Ks#eet is !rivate $#ereas module is !ublicD so s#eet $ill #ave its o$n fn" Function c#ec.val*cel as ran/e+ as Eoolean :f $or.s#eetfunction=isnumber*cel+&true t#en C#ec.val&true Else C#ec.val&false End function -t#is is a function $#ic# #as a s!ecific return ty!e Creatin/ an Add:n ?!en ne$ $r.bu." inside add module by insert dro! do$n -save it as e,cel addin *=,lam+ 1ce created" ofc but" o!tions" addin"c#ec. myfunction -so $e can use no$ C if mail some1 it $ill /o $id t#at e,cel 2<1<: can create tab" File o!tion" customiQe ribbon" clic. ne$ tab: clic. rename To !ut command" select and Add"" *.ee! on addin till as many u $ant+ -can even !osition t#e table in customiQe ribbon

*desi/n mode+ActiveT: Combo bo,: !ro!erties:9istFill 8an/e 42:43 *can !ass name ran/e+ Cell lin. B2: it $ill !rint in t#e lin.ed cell for t#e value $ritten 5#en t#e $r.bul comes u!: combo bo,es s#ould all /et !ol!ulated #o$G Double clic. on combo bo,: PC#an/e*+ $#at #a!!ens $#en clic.ed Double clic. on: T#is5or.boo.: 2 bo,es*o!tionZ/eneral1$r.bu.l[ and + elect /eneral Private ub 5or.boo.P?!en*+ 5it# #eet17=ComboEo,1 =Add:tem*%:ND'+ =Add:tem*%A6 '+ End $it# End sub Problem: t#ese 2 $ill /et re-added0 everytime s#eet is o!en and $ill /et re!eatition o add s#eet17=combobo,1=clear >ust before $it# clause

Morecontrol: Calender control ML date and time !ic.er t#is comes $it# a combo bo, Klearn #o$ to $rite a class"

S-ar putea să vă placă și