Hvordan pakke en fallskjerm riktig?
Fordel. Utgave 2, revidert.
La oss si at vi har følgende rekkefølgetabell:
Vi trenger for eksempel å vite hvor mye Ivanovs tredje ordre var, eller når Petrov gjennomførte sin andre avtale. Den innebygde VLOOKUP-funksjonen kan bare søke etter den første forekomsten av etternavnet i tabellen og vil ikke hjelpe oss. Spørsmål som "Hvem var leder for ordrenummer 10256?" vil også forbli ubesvart, tk. den innebygde VLOOKUP er ikke i stand til å returnere verdier fra kolonner til venstre for søket.
Begge disse problemene løses med ett slag – la oss skrive vår egen funksjon som vil se ikke bare etter den første, men i det generelle tilfellet etter den N-te forekomsten. Dessuten vil den kunne søke og produsere resultater i alle kolonner. La oss kalle det for eksempel VLOOKUP2.
Åpne Visual Basic Editor ved å trykke ALT+F11 eller ved å velge fra menyen Tjeneste – Makro – Visual Basic Editor (Verktøy – Makro – Visual Basic Editor), sett inn en ny modul (meny Sett inn – modul) og kopier teksten til denne funksjonen dit:
Funksjon VLOOKUP2(Tabell som variant, søkkolonnenummer så lang, søkeverdi som variant, _ N så lang, resultatkolonnenummer så lang) Dim i så lang, iTell så lang Velg Sakstypenavn(Tabell) Sak "Område" For i = 1 til tabell.rader .Count If Table.Cells(i, SearchColumnNum) = SearchValue Then iCount = iCount + 1 End If If iCount = N Then VLOOKUP2 = Table.Cells(i, ResultColumnNum) Exit For End If Next i Case "Variant()" For i = 1 Å UBound(Tabell) If Table(i, SearchColumnNum) = SearchValue Then iCount = iCount + 1 If iCount = N Then VLOOKUP2 = Tabell(i, ResultColumnNum) Exit For End If Next i End Velg Avslutt funksjon
Lukk Visual Basic Editor og gå tilbake til Excel.
Nå gjennom Sett inn – Funksjon (Sett inn — funksjon) i kategori Brukerdefinert (Brukerdefinert) du kan finne vår VLOOKUP2-funksjon og bruke den. Funksjonssyntaksen er som følger:
=VLOOKUP2(tabell; antall_kolonne_der_vi ser etter; oppslagsverdi; N; antall_kolonne_fra_til_hent_verdi)
Nå er ikke begrensningene til standardfunksjonen en hindring for oss:
PS Spesiell takk til The_Prist for å forbedre funksjonen slik at den kan søke i lukkede bøker.
- Finne og erstatte data fra en tabell til en annen ved å bruke VLOOKUP-funksjonen
- "Left VLOOKUP" ved hjelp av INDEX- og MATCH-funksjonene