Offset-funktion käyttö Excelissä

  • Jaa Tämä
Hugh West

Tänään haluaisin esitellä teille Excelin OFFSET-funktio 3 todellisen esimerkin avulla.

Aluksi kuvaan kaavan syntaksin ja sitten kerron, miten OFFSET-funktiota voidaan käyttää tosielämän ongelmien ratkaisemiseen.

Johdanto

OFFSET-funktio voi palauttaa viittauksen soluun (kutsutaan sitä kohdesoluksi) tai alueeseen (kohdealue), joka on tietyn rivien ja sarakkeiden määrän päässä toisesta solusta (viitesolu) tai alueesta (viitealue).

Alla olevassa kuvassa kuvataan, miten OFFSET-funktiota käytetään palauttamaan viittaus soluun (vasen osa) tai alueeseen (oikea osa).

Se antaa sinulle intuitiivisen käsityksen siitä, mikä on kohdesolu ja mikä on viitesolu.

Vihreällä korostettu solu on kohdesolu, kun taas keltaisella korostetut solut koostuvat kohdealueesta.

Sinisellä korostetut solut ovat viitesoluja.

Kuva 1

Mitä OFFSET tarkoittaa Excelissä (syntaksi)?

Tässä on Offset-funktion syntaksi: OFFSET (reference, rows, cols, [height], [width])

Viite Tarvitaan. Viite on solu tai solualue, josta siirto alkaa. Huomaa, että solujen on oltava vierekkäisiä, jos määrität solualueen.
Rivit Vaadittu . rivien lukumäärä, ylös tai alas, viitesolu tai viitealueen vasen yläsolu. Rivit voi olla joko positiivinen tai negatiivinen. Katso kuvan 1 vasenta osaa, kohdesolu on B2, jos muutan funktion muotoon OFFSET (C3, -1, -1). B2 on yhden rivin ylempänä kuin C3.
Cols Tarvitaan. Viitesolun vasemman- tai oikeanpuoleisten sarakkeiden lukumäärä tai viitealueen vasemmanpuoleinen yläsolu. Kuten kohdassa Rivit argumentti, arvot Cols voi myös olla sekä positiivinen että negatiivinen. Miten voimme kirjoittaa OFFSET-funktion, jos asetamme B4:n viitesoluksi ja C3:n kohdesoluksi? Vastaus on OFFSET (B4, -1, 1). Tässä näet, että Cols on positiivinen ja C3 on yhden sarakkeen verran B4:n oikealla puolella.
Korkeus Valinnainen. Käytä Height-argumenttia vain, jos kohde on alue. Se kertoo, kuinka monta riviä kohdealue sisältää. Heightin on oltava positiivinen luku. Kuvan 1 oikeasta osasta näet, että kohdealueella on kaksi riviä. Siksi asetamme Heightin arvoksi tässä tapauksessa 2.
Leveys Valinnainen. Käytä Width-argumenttia vain, jos kohde on alue (ks. kuvan 1 oikeanpuoleinen osa). Se ilmoittaa, kuinka monta saraketta kohdealue sisältää. Leveyden on oltava positiivinen luku.

Näytän nyt, miten OFFSET-funktiota käytetään tosielämän ongelmien ratkaisemiseen.

Tapaus 1: Oikealta vasemmalle haku yhdistämällä OFFSET- ja MATCH-funktiot

On hyvin tiedossa, että voit tehdä vasemmalta oikealle suuntautuvan haun vain VLOOKUP-toiminnolla.

Etsittävä arvo on sijoitettava taulukkomäärityksen ensimmäiseen sarakkeeseen.

Sinun on siirrettävä koko taulukkoväliä yhden sarakkeen verran oikealle, jos haluat lisätä uuden hakuarvon, tai sinun on muutettava tietorakennetta, jos haluat käyttää toista saraketta hakuarvona.

Mutta yhdistämällä OFFSET yhdessä Match-toiminnon kanssa VLOOKUP-toiminnon rajoitus voidaan poistaa.

Mikä on MATCH-funktio ja miten voimme yhdistää OFFSET-funktion ja Match-funktion hakua varten?

Match-funktio etsii määritettyä kohdetta solualueelta ja palauttaa sitten kyseisen kohteen suhteellisen sijainnin alueella.

Otetaan esimerkkinä kuvion 2.1 alue B3:B8 (jossa esitetään eri maiden tulot eri vuosina).

Kaava "=MATCH ("USA", B3:B8, 0)" antaa tulokseksi seuraavat tiedot 1 koska USA on alueen ensimmäinen kohde (katso solut B10 ja C10).

Toisen alueen C2:F2 osalta kaava "=MATCH (2015, C2:F2, 0)" palauttaa seuraavan tuloksen. 3 koska vuosi 2015 on alueen kolmas kohde (ks. solut B11 ja C11).

Palataan takaisin OFFSET-toimintoon.

Jos asetamme solun B2 viitesoluksi ja otamme solun E3 kohdesoluksi, miten voimme kirjoittaa OFFSET-kaavan?

E3 on 1 B2:n alapuolella oleva rivi ja 3 sarakkeet oikealta B2:een.

Näin ollen kaava voidaan kirjoittaa seuraavasti: "=OFFSET(B2, 1 , 3 )". Katso punaisella värillä olevia numeroita tarkkaan, huomaatko, että ne vastaavat toisiaan?

Tämä on vastaus kysymykseen - Miten yhdistää OFFSET-toiminto ja Match-toiminto - Match-funktiota voidaan käyttää OFFSET-funktion toisena tai kolmantena argumenttina. (katso solu C13).

Solussa C14 näytetään, miten VLOOKUP-funktiota käytetään samojen tietojen hakemiseen.

Meidän on tiedettävä, että vuoden 2015 tulot on kirjattu taulukkosarjan B2:F8 neljänteen sarakkeeseen ennen VLOOKUP-funktion kirjoittamista.

Se tarkoittaa, että meidän on tunnettava tietorakenne hyvin, kun käytämme VLOOKUP-funktiota.

Tämä on toinen VLOOKUPin rajoitus. Käyttämällä MATCH-funktiota OFFSET-funktion argumenttina meidän ei kuitenkaan tarvitse tietää sarakeindeksiä.

Tämä on erittäin hyödyllistä, jos sarakkeita on paljon.

Kuva 2.1

Siirrymme nyt katsomaan monimutkaisempaa esimerkkiä.

Oletetaan, että meillä on taulukko, joka sisältää yrityksen nimen, yhteyshenkilön nimen ja sähköpostiosoitteen eri yrityksille.

Ja haluamme hakea yrityksen nimen tunnetusta yhteystiedon nimestä tai saada yhteystiedon nimen tunnetusta sähköpostiosoitteesta. Mitä voimme tehdä?

Katso kuva 2.2, alue B5:E8 sisältää yritystiedot. Laittamalla syöttötiedot soluihin C2 ja B3 voin punaisessa neliössä olevan kaavan avulla hakea yrityksen nimen, jos tiedän yhteyshenkilön nimen.

Alue D2:E4 osoittaa, miten saadaan yhteyshenkilön nimi ja tunnettu sähköpostiosoite.

Yhteenvetona nämä kaksi esimerkkiä havainnollistavat, että voimme suorittaa oikealta vasemmalle suuntautuvan haun, eikä hakuarvoa tarvitse sijoittaa oikeanpuoleisimpaan sarakkeeseen, vaan hakuarvo voi sijaita missä tahansa taulukkosarakkeen sarakkeessa.

Kuva 2.2

Tapaus 2: Laskennan automatisointi yhdistämällä OFFSET- ja COUNT-toiminnot.

Ennen kuin esittelemme, miten laskenta automatisoidaan aina, kun sarakkeeseen lisätään uusi numero, aloitetaan ensin siitä, miten sarakkeen viimeinen numero palautetaan automaattisesti.

Katso alla olevaa kuviota, jossa on merkintöjä henkilöstöhallinnosta. Oletetaan, että haluamme saada sarakkeen B viimeisen numeron, kaava olisi "=OFFSET (C2, 9 , 0)", jos käytämme OFFSET-funktiota.

Kaavasta tiedämme, että 9 on avaimen numero.

Kunhan voimme palauttaa tämän numeron automaattisesti, voimme löytää sarakkeen viimeisen numeron automaattisesti.

9 on vain niiden solujen lukumäärä, jotka sisältävät numeroita sarakkeessa C.

Jos tunnet COUNT-funktion, tiedät, että COUNT-funktiolla voidaan laskea niiden solujen lukumäärä, jotka sisältävät numeroita tietyllä alueella.

Esimerkiksi kaava "=COUNT (C3:C11)" laskee niiden solujen määrän, jotka sisältävät numeroita soluissa C3-C11.

Meidän tapauksessamme haluaisimme tietää, kuinka monta numeroa koko sarakkeessa on, joten olisi käytettävä viittausta C:C, joka sisältää kaikki sarakkeen C rivit.

Katso soluja G4 ja H4, "=COUNT(C:C)" -luvun palauttama luku on täsmälleen sama kuin "=COUNT(C:C)". 9 .

Näin ollen korvaamalla 9 COUNT(C:C):llä edellä olevassa OFFSET-funktiossa, saamme uuden kaavan "=OFFSET (C2, COUNT(C:C) , 0)" (solussa H5).

Se palauttaa luvun 87000, joka on täsmälleen sarakkeen C viimeinen luku.

Siirrytään nyt automaattiseen laskentaan. Oletetaan, että haluamme kaikkien sarakkeessa C olevien lukujen summan.

Kaava olisi "=SUMMA (OFFSET (C2, 1, 0, 9 , 1)))", jos käytämme SUM yhdessä OFFSETin kanssa.

9 on rivien kokonaismäärä alueella C3:C11 ja myös niiden solujen kokonaismäärä, jotka sisältävät numeroita sarakkeessa C.

Siksi voimme kirjoittaa kaavan uudella tavalla, kuten "=SUMMA (OFFSET (C2,1, 0, COUNT (C:C), 1))".

Katso soluja G10 ja H10, näiden 9 työntekijän palkkojen kokonaismäärä on 521 700 dollaria.

Jos nyt laitat soluun C12 esimerkiksi 34 000 dollaria, sekä solun G5 että solun G10 luvut muuttuvat vastaavasti 34 000 dollariksi ja 555 700 dollariksi.

Tätä kutsun automatisoinniksi, koska sinun ei tarvitse päivittää kaavoja solussa G5 tai G10.

COUNT-funktiota käytettäessä on oltava varovainen, sillä COUNT-funktio palauttaa vain numeroita sisältävien solujen määrän.

Esimerkiksi "=COUNT (B: B)" palauttaa 0 eikä 9, koska sarakkeessa B ei ole yhtään solua, joka sisältää numeroita (katso solut G3 ja H3).

Sarakkeessa D on 10 solua, jotka sisältävät numeroita, ja COUNT (D: D) -toiminnon palauttama luku on myös 10.

Mutta jos haluamme hakea sarakkeen D viimeisen numeron kuten sarakkeessa C, saamme numeron 0 (katso solut G8 ja H8).

On selvää, että 0 ei ole se, mitä haluamme. Mikä on vialla? Solu D13 on 11 rivin päässä solusta D2 eikä 10 rivin päässä.

Tämä voidaan osoittaa myös kaavalla "=OFFSET (D2, COUNT (D: D)". + 1 , 0)" solussa G7.

Yhteenvetona voidaan todeta, että numeroiden on oltava vierekkäin, jos haluamme käyttää COUNT-toimintoa yhdessä OFFSET-toiminnon kanssa laskennan automatisoinnin mahdollistamiseksi.

Kuva 3

Tapaus 3: Käytä OFFSET-toimintoa dynaamisen alueen määrittämiseen.

Oletetaan, että haluamme esittää yrityksen kuukausittaisen kappalemääräisen myynnin kaaviossa, ja kuvassa 4.1 esitetään nykyiset tiedot ja nykyisten tietojen perusteella luotu kaavio.

Kunkin kuukauden viimeisimmän kuukauden kappalemääräinen myynti lisätään sarakkeen C viimeisen numeron alle.

Onko olemassa helppo tapa päivittää kaavio automaattisesti?

Kaavion päivittäminen onnistuu käyttämällä OFFSET-toimintoa dynaamisten vaihtelualueiden nimien luomiseksi Myydyt yksiköt -sarakkeeseen.

Yksiköiden myynnin dynaaminen alue sisältää automaattisesti kaikki myyntitiedot, kun uusia tietoja syötetään.

Kuva 4.1

Voit luoda dynaamisen alueen napsauttamalla Kaavat välilehti ja valitse sitten Nimi Manager tai Määritä nimi .

Alla Uusi nimi valintaikkuna kysyy, jos napsautat Määritä nimi .

Jos valitset Nimenhoitaja , sinun on myös napsautettava Uusi tehdä alla oleva Uusi nimi valintaikkuna tulee näkyviin.

Kuva 4.2

" Nimi: " -kenttään on täytettävä dynaamisen alueen nimi. Ja kenttään " Viittaa:" syöttöruutuun on kirjoitettava OFFSET-kaava "=OFFSET (Figure4!$C$2, 1, 0, COUNT (!$C: $C), 1)", joka luo dynaamisen arvoalueen sarakkeeseen C kirjoitettujen Yksiköt Sold -arvojen perusteella.

Oletusarvoisesti nimi koskee koko työkirjaa, ja sen on oltava yksilöllinen työkirjan sisällä.

Haluamme kuitenkin rajoittaa soveltamisalan tiettyyn arkistoon.

Siksi valitsemme kuvion4 tässä " Laajuus: " syöttöruudussa. Kun olet napsauttanut OK , luodaan dynaaminen alue.

Se sisältää automaattisesti kaikki myyntitiedot, kun uusia tietoja syötetään.

Napsauta nyt hiiren kakkospainikkeella mitä tahansa kaaviossa olevaa pistettä ja valitse sitten "Select Data".

Kuva 4.3

Pyydettäessä Valitse tiedot Lähde, valitse Sarja1 ja sitten Muokkaa.

Kuva 4.4

Kirjoita sitten "=Figure4!Units", kuten kuvassa 4.5 näkyy.

Kuva 4.5

Kokeillaan lopuksi ja kirjoitetaan 11 soluun C13. Näet, että kaavio on muuttunut ja arvo 11 on otettu mukaan.

Kaavio muuttuu automaattisesti, kun uusia tietoja lisätään.

Kuva 4.6

Lue Lisää...

  • Offset(...) -funktio Excelissä esimerkkien avulla

Lataa työtiedostot

Lataa toimivat tiedostot alla olevasta linkistä.

Excel-Offset-Function.rar

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.