VLOOKUP funkcijas uzlabošana

Saturs

Kā pareizi iepakot izpletni?

Ieguvums. 2. izdevums, pārskatīts.

Pieņemsim, ka mums ir šāda pasūtījumu tabula:

VLOOKUP funkcijas uzlabošana

Mums jāzina, piemēram, kāda bija Ivanova trešā pasūtījuma summa vai kad Petrovs izpildīja savu otro darījumu. Iebūvētā funkcija VLOOKUP tabulā var meklēt tikai pirmo uzvārda gadījumu un mums nepalīdzēs. Jautājumi, piemēram, "Kas bija pasūtījuma Nr. 10256 vadītājs?" arī paliks neatbildēts, tk. iebūvētais VLOOKUP nevar atgriezt vērtības no kolonnām pa kreisi no meklēšanas.

Abas šīs problēmas tiek atrisinātas vienā rāvienā – uzrakstīsim savu funkciju, kas meklēs ne tikai pirmo, bet, vispārīgi, N-to gadījumu. Turklāt tā varēs meklēt un radīt rezultātus jebkurā kolonnā. Sauksim to, teiksim, VLOOKUP2. 

Atveriet Visual Basic redaktoru, nospiežot ALT+F11 vai atlasot no izvēlnes Pakalpojums — makro — Visual Basic redaktors (Rīki — Makro — Visual Basic redaktors), ievietojiet jaunu moduli (izvēlne Ievietot - modulis) un nokopējiet tur šīs funkcijas tekstu:

Funkcija VLOOKUP2 (Tabula kā variants, SearchColumnNum As Long, SearchValue as Variant, _ N As Long, ResultColumnNum As Long) Dim i As Long, iCount As Long Atlasiet gadījuma tipuNosaukums(Tabula) Lieta "diapazons" For i = 1 līdz tabulai.Rows .Count If Table.Cells(i, SearchColumnNum) = SearchValue then iCount = iCount + 1 End If If iCount = N Tad VLOOKUP2 = Table.Cells(i, ResultColumnNum) Iziet For End If Next i Gadījums "Variant()" For i = 1 uz UBound(tabula) Ja tabula(i, SearchColumnNum) = SearchValue then iCount = iCount + 1 Ja iCount = N Tad VLOOKUP2 = Table(i, ResultColumnNum) Iziet uz beigām, ja nākamais i beigas Izvēlieties beigu funkciju  

Aizveriet Visual Basic redaktoru un atgriezieties programmā Excel.

Tagad cauri Ievietot - funkcija (Ievietot — funkcija) kategorijā Lietotājs definēts (Lietotājs definēts) Jūs varat atrast mūsu funkciju VLOOKUP2 un izmantot to. Funkcijas sintakse ir šāda:

=VLOOKUP2(tabula; kolonnas_skaits, kur_mēs meklējam; uzmeklēšanas_vērtība; N; kolonnas_skaits_no_līdz_iegūšanas_vērtībai)

Tagad standarta funkcijas ierobežojumi mums nav šķērslis:

VLOOKUP funkcijas uzlabošana

PS Īpašs paldies The_Prist par funkcijas uzlabošanu, lai tā varētu meklēt slēgtās grāmatās.

  • Datu atrašana un aizstāšana no vienas tabulas uz citu, izmantojot funkciju VLOOKUP
  • “Pa kreisi VLOOKUP”, izmantojot funkcijas INDEX un MATCH

 

Atstāj atbildi