Excel-kaava: Hae uusin hinta -

Yleinen kaava

=LOOKUP(2,1/(item="hat"),price)

Yhteenveto

Voit etsiä luettelosta tulevan tuotteen viimeisimmän hinnan lajiteltuina siten, että viimeisimmät tuotteet näkyvät viimeisimpinä. Voit käyttää LOOKUP-toimintoon perustuvaa kaavaa. Esimerkkiesityksessä kaava G7: ssä on:

=LOOKUP(2,1/(item=F7),price)

missä kohde on nimetty alue B5: B12, hinta on nimetty alue D5: D12, ja tiedot lajitellaan nousevasti päivämäärän mukaan.

Selitys

LOOKUP-toiminto olettaa tietojen lajittelun ja tekee aina likimääräisen vastaavuuden. Jos hakuarvo on suurempi kuin kaikki hakutaulukon arvot, oletuskäyttäytyminen on "palata" edelliseen arvoon. Tämä kaava hyödyntää tätä käyttäytymistä luomalla taulukon, joka sisältää vain 1: t ja virheet, ja etsimällä sitten tarkoituksella arvoa 2, jota ei koskaan löydy.

Ensinnäkin tämä lauseke arvioidaan:

item=F7

Kun F7 sisältää "sandaalit", tuloksena on joukko TOSI ja EPÄTOSI arvoja, kuten tämä:

(FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE)

Tämä taulukko on annettu jakajaksi 1:

1/(FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE)

Matemaattinen operaatio pakottaa TOSI- ja EPÄTOSI-arvot automaattisesti arvoon 1s ja 0s, joten tuloksena on toinen tällainen taulukko:

(#DIV/0!;1;#DIV/0!;1;#DIV/0!;#DIV/0!;1;#DIV/0!)

palasi suoraan LOOKUP-funktioon hakuvektori-argumenttina.

Huomaa, että taulukossa on vain kaksi ainutlaatuista arvoa: jako nollavirheellä (# DIV / 0!) Ja numero 1.

LOOKUP etsii matriisista arvoa 2 ohittamatta virhearvoja. Ei löydä 2, se putoaa takaisin viimeiseen 1, hakuvektorin kohtaan 7. LOOKUP palauttaa sitten tulosvektorin seitsemännen kohteen (nimetty alue "hinta") arvon 15.

Jos haluat lukea lisää käsityksestä, jonka mukaan etsit tarkoituksellisesti arvoa, joka ei koskaan tule näkyviin, lue BigNumista.

Mielenkiintoisia artikkeleita...