Excel-kaava: Sijoitusarvot kuukausittain -

Sisällysluettelo

Yhteenveto

Numeroluettelon mukaan luokiteltujen nimien luettelon näyttämiseksi voit käyttää TEXT-funktion avulla kaavasarjaa, joka perustuu LARGE, INDEX, MATCH. Esitetyssä esimerkissä kaava G5: ssä on:

=LARGE(IF(TEXT(date,"mmmm")=G$4,amount),$F5)

Ja G10: n kaava on:

=INDEX(client,MATCH(1,(amount=G5)*(TEXT(date,"mmmm")=G$9),0))

missä asiakas (B5: B17) päivämäärä (C5: C17) ja summa (C5: C17) on nimetty alueiksi.

Huomaa: nämä ovat matriisikaavoja ja ne on syötettävä näppäimillä + + shift + enter paitsi Excel 365: ssä.

Selitys

Tämä esimerkki on jaettu selkeyden vuoksi kahteen osaan: (1) kaava, jolla määritetään kolmen kuukauden parhaat kolme määrää, ja (2) kaava, jolla haetaan asiakkaan nimi kullekin kolmelle parhaimmalle summalle.

Huomaa, että lähdetiedoissa ei ole todellista sijoitusta. Sen sijaan käytämme LARGE-toimintoa työskennellessäsi suoraan summien kanssa. Toinen lähestymistapa olisi lisätä sijoitus lähdetietoihin RANK-toiminnolla ja käyttää sijoitusarvoa asiakkaiden nimien hakemiseen.

Osa 1: Hae 3 parasta summaa kuukaudessa

Voit hakea kolmen viikon 3 parasta summaa kaavalla G5 seuraavasti:

=LARGE(IF(TEXT(date,"mmmm")=G$4,amount),$F5)

Huomaa: tämä on matriisikaava, ja se on syötettävä näppäimillä + + shift + enter paitsi Excel 365: ssä.

Työskentely sisältä ulos, me ensin käyttää tekstitoiminto saada kuukausien nimiä jokaiselle päivämäärä nimetty alue päivämäärä :

TEXT(date,"mmmm") // get month names

Mukautettu lukumuoto "mmmm" palauttaa merkkijonon, kuten "huhtikuu", "toukokuu", "kesäkuu" jokaiselle nimetyn alueen päivämäärän nimelle . Tuloksena on joukko tällaisia ​​kuukausien nimiä:

("April";"April";"April";"April";"May";"May";"May";"May";"May";"June";"June";"June";"June")

TEXT-funktio toimittaa tämän taulukon IF-funktiolle, joka on määritetty suodattamaan päivämäärät tietyllä kuukaudella testaamalla kuukauden nimeä G4: n arvoon nähden (sekaviite, joten kaava voidaan kopioida alaspäin).

IF(TEXT(date,"mmmm")=G$4,amount) // filter on month

Vain huhtikuussa elossa olevat määrät selviävät ja menevät läpi IF: n kautta; kaikki muut arvot ovat EPÄTOSI:

(10500;15200;18500;12500;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)

Lopuksi LARGE-funktio käyttää F5: n arvoa (myös sekaviittausta) palauttamaan jäljellä olevan "suurimman" arvon. Solussa G5 LARGE palauttaa 18500, "1." suurimman arvon. Kun kaava kopioidaan alaspäin ja taulukon yli, LARGE-funktio palauttaa kolmen ensimmäisen kuukauden kolme parasta summaa.

Nyt kun tiedämme kolmen kuukauden parhaat kolme arvoa, voimme käyttää näitä tietoja "avaimen" tavoin hakemaan kunkin asiakkaan nimen.

Osa 2: Hae asiakkaiden nimet

Huomaa: Tämä on esimerkki INDEXin ja MATCHin käytöstä useilla ehdoilla. Jos tämä käsite on sinulle uusi, tässä on perusesimerkki.

G5: I7: n kolmeen ensimmäiseen arvoon liittyvän nimen hakemiseksi käytämme INDEX ja MATCH:

=INDEX(client,MATCH(1,(amount=G5)*(TEXT(date,"mmmm")=G$9),0))

Huomaa: tämä on matriisikaava, ja se on syötettävä näppäimillä + + shift + enter paitsi Excel 365: ssä.

Työskentely sisältä ulospäin MATCH-toiminto on määritetty käyttämään loogista logiikkaa seuraavasti:

MATCH(1,(amount=G5)*(TEXT(date,"mmmm")=G$9),0)

Hakuarvo on 1, ja hakutaulukko muodostetaan tällä lausekkeella:

(amount=G5)*(TEXT(date,"mmmm")=G$9)

Hakutaulukon luova lauseke käyttää Boolen logiikkaa "suodattamaan" määrät, jotka ovat (1) ei huhtikuussa ja (2) eivät G5: n arvoa (18 500). Tuloksena on taulukko 1s ja 0s kuten tämä:

(0;0;1;0;0;0;0;0;0;0;0;0;0)

Kun hakuarvo on 1 ja nolla hakutyypille (tarkan haun pakottamiseksi), MATCH palauttaa 3 suoraan INDEX-funktiolle:

=INDEX(client,3) // returns "Janus"

INDEX palauttaa nimetyn alueen asiakkaan kolmannen arvon "Janus".

Kun kaava kopioidaan alaspäin ja taulukon poikki, se palauttaa kolme parasta asiakasta kullakin kolmella kuukaudella.

Mielenkiintoisia artikkeleita...