Käytä dynaamisten alueiden nimiä Excelissä joustaviin pudotusvalikkoihin

Excel -laskentataulukot sisältävät usein avattavia soluvalikkoja tietojen syöttämisen yksinkertaistamiseksi ja/tai standardoimiseksi. Nämä avattavat valikot luodaan tietojen vahvistusominaisuuden avulla sallittujen merkintöjen luettelon määrittämiseksi.

Jos haluat luoda yksinkertaisen avattavan luettelon, valitse solu, johon tiedot syötetään, napsauta sitten Tietojen vahvistus(Data Validation) ( Tiedot(Data) - välilehdellä), valitse Tietojen vahvistus(Data Validation) , valitse Luettelo(List) ( Salli(Allow) -kohdassa :) ja syötä sitten luettelon kohteet (eroteltuna pilkuilla). ) Lähde(Source) : -kentässä (katso kuva 1).

Tämän tyyppisessä peruspudotusvalikossa sallittujen merkintöjen luettelo on määritetty itse tietojen validoinnissa. siksi, jotta käyttäjä voi tehdä muutoksia luetteloon, hänen on avattava ja muokattava tietojen vahvistus. Tämä voi kuitenkin olla vaikeaa kokemattomille käyttäjille tai tapauksissa, joissa vaihtoehtojen luettelo on pitkä.

Toinen vaihtoehto on sijoittaa luettelo nimetylle alueelle laskentataulukossa(named range within the spreadsheet) ja määrittää sitten alueen nimi (edellä yhtäsuuruusmerkki) tietojen vahvistuksen Lähde : -kentässä (kuten (Source)kuvassa 2(Figure 2) ).

Tämä toinen tapa helpottaa luettelon valintojen muokkaamista, mutta kohteiden lisääminen tai poistaminen voi olla ongelmallista. Koska nimetty alue ( esimerkissämme FruitChoices ) viittaa kiinteään solualueeseen ($H$3:$H$10, kuten kuvassa), jos soluihin (FruitChoices)H11 tai alle lisätään vaihtoehtoja , ne eivät näy avattavassa valikossa. (koska nämä solut eivät kuulu FruitChoices- valikoimaan).

Samoin jos esimerkiksi päärynät(Pears) ja mansikat(Strawberries) poistetaan, ne eivät enää näy avattavassa valikossa, vaan avattavassa valikossa on kaksi "tyhjää" vaihtoehtoa, koska avattava valikko viittaa edelleen koko FruitChoices-valikoimaan, mukaan lukien tyhjät solut H9 ja H10 .

Näistä syistä, kun käytetään normaalia nimettyä aluetta pudotusvalikon luettelolähteenä, itse nimettyä aluetta on muokattava siten, että se sisältää enemmän tai vähemmän soluja, jos merkintöjä lisätään tai poistetaan luettelosta.

Ratkaisu tähän ongelmaan on käyttää dynaamisen(dynamic) alueen nimeä pudotusvalikon vaihtoehtojen lähteenä. Dynaamisen alueen nimi laajenee (tai supistuu) automaattisesti vastaamaan täsmälleen tietolohkon kokoa, kun merkintöjä lisätään tai poistetaan. Voit tehdä tämän määrittämään nimetyn alueen käyttämällä kaavaa(formula) , eikä kiinteää soluosoitealuetta.

Dynaamisen(Dynamic Range) alueen määrittäminen Excelissä(Excel)

Normaali (staattinen) alueen nimi viittaa tiettyyn solualueeseen ($H$3:$H$10 esimerkissämme, katso alla):

Mutta dynaaminen alue määritellään kaavalla (katso alla, otettu erillisestä laskentataulukosta, jossa käytetään dynaamisten alueiden nimiä):

Ennen kuin aloitamme, varmista, että lataat Excel-esimerkkitiedostomme  (lajittelumakrot on poistettu käytöstä).

Tarkastellaan tätä kaavaa yksityiskohtaisesti. Hedelmien valinnat ovat solulohkossa suoraan otsikon ( FRUITS ) alapuolella. Tälle otsikolle on myös annettu nimi: FruitsHeading :

Koko Fruits(Fruits) - valintojen dynaamisen alueen määrittämiseen käytetty kaava on:

=OFFSET(FruitsHeading,1,0,IFERROR(MATCH(TRUE,INDEX(ISBLANK(OFFSET(FruitsHeading,1,0,20,1)),0,0),0)-1,20),1)

FruitsHeading viittaa otsikkoon, joka on yhden rivin luettelon ensimmäisen kohdan yläpuolella. Numero 20 (käytetään kaavassa kahdesti) on luettelon enimmäiskoko (rivien lukumäärä) (tätä voidaan säätää halutulla tavalla).

Huomaa, että tässä esimerkissä luettelossa on vain 8 merkintää, mutta niiden alla on myös tyhjiä soluja, joihin voidaan lisätä lisämerkintöjä. Numero 20 viittaa koko lohkoon, johon voidaan syöttää, ei todellista merkintöjen määrää.

Jaetaan nyt kaava osiin (värikoodataan jokainen kappale), jotta ymmärrämme, miten se toimii:

=OFFSET(FruitsHeading,1,0,IFERROR(MATCH(TRUE,INDEX(ISBLANK(OFFSET(FruitsHeading,1,0,20,1)),0,0),0)-1,20),1)

"Sisin" pala on OFFSET(FruitsHeading,1,0,20,1) . Tämä viittaa 20 solun lohkoon ( FruitsHeading -solun alapuolella), johon voidaan syöttää valintoja. Tämä OFFSET -toiminto sanoo periaatteessa: Aloita FruitsHeading -solusta, mene alas 1 rivi ja yli 0 saraketta ja valitse sitten alue, joka on 20 riviä pitkä ja 1 sarakkeen leveä. Tämä antaa meille 20-rivisen lohkon, johon hedelmät(Fruits) - valinnat syötetään.

Kaavan seuraava osa on ISBLANK - funktio:

=OFFSET(FruitsHeading,1,0,IFERROR(MATCH(TRUE,INDEX(ISBLANK(the above),0,0),0)-1,20),1)

Tässä OFFSET - toiminto (selvitetty yllä) on korvattu "edellä" (jotta on helpompi lukea). Mutta ISTYHJÄ(ISBLANK) -toiminto toimii 20-rivisellä solualueella, jonka OFFSET - toiminto määrittää.

ISTYHJÄ(ISBLANK) luo sitten joukon 20 TRUE- ja FALSE -arvoa, jotka osoittavat, onko jokainen (FALSE)OFFSET -funktion viittaama yksittäinen solu 20 rivin alueella tyhjä (tyhjä) vai ei. Tässä esimerkissä joukon 8 ensimmäistä arvoa ovat EPÄTOSI(FALSE) , koska ensimmäiset 8 solua eivät ole tyhjiä ja viimeiset 12 arvoa ovat TOSI(TRUE) .

Kaavan seuraava osa on INDEX - funktio:

=OFFSET(FruitsHeading,1,0,IFERROR(MATCH(TRUE,INDEX(the above,0,0),0)-1,20),1)

Jälleen "edellä" viittaa yllä kuvattuihin ISBLANK- ja OFFSET - toimintoihin. INDEKSI -funktio palauttaa taulukon, joka sisältää 20 TRUE / FALSE arvoa, jotka on luotu ISTYHJÄ - (INDEX)funktiolla(ISBLANK) .

INDEXia(INDEX) käytetään tavallisesti valitsemaan tietty arvo (tai arvoalue) tietolohkosta määrittämällä tietty rivi ja sarake (tässä lohkossa). Mutta rivin ja sarakkeen syötteiden asettaminen nollaan (kuten tässä tehdään) , INDEX palauttaa taulukon, joka sisältää koko tietolohkon.

Kaavan seuraava osa on MATCH - funktio:

=OFFSET(FruitsHeading,1,0,IFERROR(MATCH(TRUE,the above,0)-1,20),1)

MATCH - funktio palauttaa ensimmäisen TRUE - arvon sijainnin INDEX - funktion palauttamassa taulukossa. Koska luettelon 8 ensimmäistä kohtaa eivät ole tyhjiä, taulukon ensimmäiset 8 arvoa ovat FALSE ja yhdeksäs arvo on TRUE (koska alueen 9. rivi on tyhjä).

Joten MATCH - funktio palauttaa arvon 9 . Tässä tapauksessa haluamme kuitenkin todella tietää kuinka monta merkintää luettelossa on, joten kaava vähentää 1 MATCH - arvosta (joka antaa viimeisen merkinnän sijainnin). Joten lopulta MATCH ( TOSI(TRUE) ,edellä oleva,0)-1 palauttaa arvon 8 .

Kaavan seuraava osa on IFERROR - funktio:

=OFFSET(FruitsHeading,1,0,IFERROR(the above,20),1)

IFERROR - funktio(IFERROR) palauttaa vaihtoehtoisen arvon, jos ensimmäinen määritetty arvo aiheuttaa virheen. Tämä toiminto on mukana, koska jos koko solulohko (kaikki 20 riviä) on täytetty merkinnöillä, MATCH - funktio palauttaa virheen.

Tämä johtuu siitä, että käskemme MATCH(MATCH) - funktiota etsimään ensimmäistä TRUE -arvoa ( (TRUE)ISBLANK -funktion arvojen joukosta ), mutta jos MITÄÄN(NONE) soluista EI ole tyhjä, koko matriisi täytetään EPÄTOSI(FALSE) arvoilla. Jos MATCH ei löydä kohdearvoa ( TRUE ) etsimästään taulukosta, se palauttaa virheen.

Joten jos koko luettelo on täynnä (ja siksi MATCH palauttaa virheen), IFERROR - funktio palauttaa sen sijaan arvon 20 (tietäen, että luettelossa on oltava 20 merkintää).

Lopuksi OFFSET(FruitsHeading,1,0,yllä oleva,1)(OFFSET(FruitsHeading,1,0,the above,1)) palauttaa etsimämme alueen: Aloita FruitsHeading -solusta, mene alas 1 rivi ja yli 0 saraketta ja valitse sitten alue, joka on kuinka monta riviä pitkä tahansa. luettelossa on merkintöjä (ja 1 sarakkeen levyinen). Joten koko kaava yhdessä palauttaa alueen, joka sisältää vain todelliset merkinnät (ensimmäiseen tyhjään soluun asti).

Kun käytät tätä kaavaa määrittääksesi alueen, joka on avattavan valikon lähde, voit vapaasti muokata luetteloa (lisäät tai poistat merkintöjä, kunhan loput merkinnät alkavat yläsolusta ja ovat vierekkäisiä) ja pudotusvalikko heijastaa aina nykyistä luettelo (katso kuva 6(Figure 6) ).

Tässä käytetty esimerkkitiedosto (dynaamiset luettelot) on mukana ja on ladattavissa tältä verkkosivustolta. Makrot eivät kuitenkaan toimi, koska WordPress ei pidä Excel -kirjoista, joissa on makroja.

Vaihtoehtona listalohkon rivien määrän määrittämiselle listalohkolle voidaan antaa oma alueen nimi, jota voidaan sitten käyttää muokatussa kaavassa. Esimerkkitiedostossa toinen luettelo ( Nimet(Names) ) käyttää tätä menetelmää. Tässä koko luettelolohkolle ("NAMES" -otsikon alla, 40 riviä esimerkkitiedostossa) on määritetty alueen nimi NameBlock . Vaihtoehtoinen kaava nimiluettelon(NamesList) määrittämiseksi on sitten:

=OFFSET(NamesHeading,1,0,IFERROR(MATCH(TRUE,INDEX(ISBLANK(NamesBlock),0,0),0)-1,ROWS(NamesBlock)),1)

jossa NamesBlock korvaa OFFSET ( FruitsHeading,1,0,20,1 ) ja ROWS (NamesBlock) korvaa 20 (rivien lukumäärä) aikaisemmassa kaavassa.

Joten kokeile dynaamisten alueiden nimiä avattavassa luettelossa, jota voidaan muokata helposti (mukaan lukien muut kokemattomat käyttäjät). Ja huomaa, että vaikka tämä artikkeli on keskittynyt avattaviin luetteloihin, dynaamisten alueiden nimiä voidaan käyttää missä tahansa, jossa haluat viitata alueeseen tai luetteloon, jonka koko voi vaihdella. Nauttia!



About the author

Hei! Nimeni on ja olen laitteistohakkeri. Minulla on yli 10 vuoden kokemus tietokoneiden korjaamisesta ja muokkaamisesta. Voin korjata melkein mitä tahansa kannettavista tietokoneista tabletteihin ja älytelevisioihin. Taitojeni avulla pystyn auttamaan asiakkaita ratkaisemaan ongelmansa nopeasti ja tehokkaasti. Blogini on omistettu auttamaan ihmisiä korjaamaan tietokoneita ja laitteitaan oikeilla työkaluilla. Ja Facebook-sivullani jaan vinkkejä, temppuja ja oivalluksia kaikesta tietokoneeseen liittyvästä!



Related posts