Excel-kaava: Nopeampi VLOOKUP 2 VLOOKUPS: lla -

Sisällysluettelo

Yleinen kaava

=IF(VLOOKUP(id,data,1,TRUE)=id, VLOOKUP(id,data,col,TRUE), NA())

Yhteenveto

Suurilla tietojoukoilla tarkan haun VLOOKUP voi olla tuskallisen hidasta, mutta voit saada VLOOKUPin vaalentumaan nopeasti käyttämällä kahta VLOOKUPS-ohjelmaa, kuten alla selitetään.

Huomautuksia:

  1. Jos sinulla on pienempi joukko tietoja, tämä lähestymistapa on ylivoimainen. Käytä sitä vain suurten tietojoukkojen kanssa, kun nopeus todella laskee.
  2. Sinun on lajiteltava tiedot hakuarvon mukaan, jotta tämä temppu toimisi.
  3. Tässä esimerkissä käytetään nimettyjä alueita. Jos et halua käyttää nimettyjä alueita, käytä sen sijaan absoluuttisia viitteitä.

Tarkan ottelun VLOOKUP on hidas

Kun käytät VLOOKUPia "tarkan haun tilassa" suurella tietojoukolla, se voi todella hidastaa laskentataulukkoa. Esimerkiksi 50 000 tai 100 000 tietueella laskeminen voi viedä minuutteja.

Tarkka haku asetetaan antamalla FALSE tai nolla neljänneksi argumentiksi:

=VLOOKUP(val,data,col,FALSE)

Syy siihen, että VLOOKUP on tässä tilassa hidas, johtuu siitä, että sen on tarkistettava kaikki tietueiden tietueet, kunnes vastaavuus löytyy. Tätä kutsutaan joskus lineaariseksi hauksi.

Arvioitu ottelu VLOOKUP on erittäin nopea

Likimääräisessä ottelutilassa VLOOKUP on erittäin nopea. Jos haluat käyttää likimääräisen vastaavuuden VLOOKUPia, sinun on lajiteltava tiedot ensimmäisen sarakkeen (hakusarakkeen) mukaan ja määritettävä sitten TOSI 4. argumentille:

=VLOOKUP(val,data,col,TRUE)

(VLOOKUP on oletusarvoisesti tosi, mikä on pelottava oletus, mutta se on toinen tarina).

Hyvin suurilla tietojoukoilla muuttaminen likimääräiseksi vastaavaksi VLOOKUP voi tarkoittaa dramaattista nopeuden kasvua.

Joten, ei hölmö, eikö? Lajittele vain tiedot, käytä likimääräistä hakua, ja olet valmis.

Ei niin nopeasti (heh).

VLOOKUP: n ongelma "likimääräisen vastaavuuden" tilassa on seuraava: VLOOKUP ei näytä virhettä, jos hakuarvoa ei ole. Mikä pahempaa, tulos voi näyttää täysin normaalilta, vaikka se onkin täysin väärä (katso esimerkkejä). Ei jotain, mitä haluat selittää pomollesi.

Ratkaisu on käyttää VLOOKUPia kahdesti, molemmat kertaa likimääräisessä ottelutilassa:

=IF(VLOOKUP(id,data,1,TRUE)=id, VLOOKUP(id,data,col,TRUE), NA())

Selitys

VLOOKUPin ensimmäinen esiintymä etsii yksinkertaisesti hakuarvoa ( tämän esimerkin tunnus ):

=IF(VLOOKUP(id,data,1,TRUE)=id

ja palauttaa arvon TOSI vain, kun hakuarvo löytyy. Siinä tapauksessa
kaava suorittaa VLOOKUPin uudelleen likimääräisessä vastaavuustilassa saadakseen arvon taulukosta:

VLOOKUP(id,data,col,TRUE)

Haun arvon puuttumisesta ei ole vaaraa, koska kaavan ensimmäinen osa on jo tarkistettu varmistaaksesi, että se on olemassa.

Jos hakuarvoa ei löydy, IF-funktion "arvo jos EPÄTOSI" -osa suoritetaan ja voit palauttaa haluamasi arvon. Tässä esimerkissä käytämme NA () - palautamme # N / A -virheen, mutta voit myös palauttaa viestin, kuten "puuttuu" tai "ei löydy".

Muista: Sinun on lajiteltava tiedot hakuarvon mukaan, jotta tämä temppu toimisi.

Hyvät linkit

Miksi 2 VLOOKUPSia ovat parempia kuin 1 VLOOKUP (Charles Williams)

Mielenkiintoisia artikkeleita...