Përmirësimi i funksionit VLOOKUP

Përmbajtje

Si të paketoni siç duhet një parashutë?

Përfitoni. Botimi 2, i rishikuar.

Le të themi se kemi tabelën e mëposhtme të porosive:

Përmirësimi i funksionit VLOOKUP

Duhet të dimë, për shembull, sa ishte shuma e urdhrit të tretë të Ivanovit ose kur Petrov e ekzekutoi marrëveshjen e tij të dytë. Funksioni i integruar VLOOKUP mund të kërkojë vetëm paraqitjen e parë të mbiemrit në tabelë dhe nuk do të na ndihmojë. Pyetje si "Kush ishte menaxheri i porosisë me numër 10256?" gjithashtu do të mbetet pa përgjigje, tk. VLOOKUP-i i integruar nuk është në gjendje të kthejë vlerat nga kolonat në të majtë të kërkimit.

Të dyja këto probleme zgjidhen me një goditje - le të shkruajmë funksionin tonë që do të kërkojë jo vetëm të parën, por, në rastin e përgjithshëm, për ndodhjen e N-të. Për më tepër, do të jetë në gjendje të kërkojë dhe të prodhojë rezultate në çdo kolonë. Le ta quajmë, le të themi, VLOOKUP2. 

Hapni Visual Basic Editor duke shtypur ALT+F11 ose duke zgjedhur nga menyja Shërbimi – Makro – Redaktori i Visual Basic (Mjetet - Makro - Redaktori i Visual Basic), futni një modul të ri (meny Insert – Moduli) dhe kopjoni tekstin e këtij funksioni atje:

Funksioni VLOOKUP2 (Tabela si variant, SearchColumnNum për aq kohë sa, SearchValue as Variant, _ N Për aq kohë sa, RezultatiColumnNum për sa kohë) Dim i për aq kohë sa, iNumëroni për aq kohë Zgjidhni llojin e rastitName(Tabela) Rasti "Range" Për i = 1 në Table.Rashte .Count If Table.Cells(i, SearchColumnNum) = SearchValue Pastaj iCount = iCount + 1 End If If iCount = N Pastaj VLOOKUP2 = Table.Cells(i, ResultColumnNum) Dil për fund nëse Next i Rasti "Variant()" Për i = 1 Në UBound(Tabela) Nëse Tabela (i, SearchColumnNum) = SearchValue Pastaj iCount = iCount + 1 Nëse iCount = N Pastaj VLOOKUP2 = Tabela(i, RezultatiColumnNum) Dil për fund nëse Tjetër i Fund Zgjidh Funksionin Fund  

Mbyllni redaktorin e Visual Basic dhe kthehuni në Excel.

Tani përmes Fut – Funksioni (Fut - Funksioni) në kategori Perdorues i percaktuar (Perdorues i percaktuar) ju mund të gjeni funksionin tonë VLOOKUP2 dhe ta përdorni atë. Sintaksa e funksionit është si më poshtë:

=VLOOKUP2(tabela; numri_e_kolonave_ku_kërkojmë; vlera_kërkimore; N; numri_e_kolonave_nga_te_merr_vlerën)

Tani kufizimet e funksionit standard nuk janë pengesë për ne:

Përmirësimi i funksionit VLOOKUP

PS Falënderime të veçanta për The_Prist për përmirësimin e funksionit në mënyrë që të mund të kërkojë në libra të mbyllur.

  • Gjetja dhe zëvendësimi i të dhënave nga një tabelë në tjetrën duke përdorur funksionin VLOOKUP
  • "Lajta VLOOKUP" duke përdorur funksionet INDEX dhe MATCH

 

Lini një Përgjigju