Obsah
Dnes by som vám rád predstavil Funkcia OFFSET aplikácie Excel s 3 príkladmi zo života.
Najprv popíšem syntax vzorca a potom budem hovoriť o tom, ako sa dá funkcia OFFSET použiť na riešenie problémov v reálnom živote.
Úvod
Funkcia OFFSET môže vrátiť odkaz na bunku (nazvime ju cieľová bunka) alebo rozsah (cieľový rozsah), ktorý je vzdialený od inej bunky (referenčná bunka) alebo rozsahu (referenčný rozsah) o určený počet riadkov a stĺpcov.
Na nasledujúcom obrázku je znázornené použitie funkcie OFFSET na vrátenie odkazu na bunku (ľavá časť) alebo rozsah (pravá časť).
Vďaka tomu budete mať intuitívny dojem, čo je cieľová bunka a čo je referenčná bunka.
Zelene zvýraznená bunka je cieľová bunka, zatiaľ čo žlto zvýraznené bunky tvoria cieľový rozsah.
Modro zvýraznené bunky sú referenčné bunky.
Obrázok 1
Čo znamená OFFSET v programe Excel (syntax)?
Tu je syntax funkcie Offset: OFFSET (odkaz, riadky, stĺpce, [výška], [šírka])
Odkaz | Požadované. Odkaz je bunka alebo rozsah buniek, od ktorých sa začína posun. Upozorňujeme, že ak zadávate rozsah buniek, bunky musia spolu susediť. |
Riadky | Požadované . počet riadkov, hore alebo dole, referenčná bunka alebo ľavá horná bunka referenčného rozsahu. Riadky môže byť kladná alebo záporná. Pozrite sa na ľavú časť obrázku 1, cieľová bunka bude B2, ak zmením funkciu ako OFFSET (C3, -1, -1). B2 je o jeden riadok vyššie ako C3. |
Cols | Požadované. Počet stĺpcov vľavo alebo vpravo od referenčnej bunky alebo ľavej hornej bunky referenčného rozsahu. Riadky argument, hodnoty Cols môže byť aj kladný aj záporný. Ako môžeme zapísať funkciu OFFSET, ak sme ako referenčnú bunku nastavili B4 a ako cieľovú bunku C3? Odpoveď je OFFSET (B4, -1, 1). Tu vidíte, že Cols je kladný a C3 je o jeden stĺpec vpravo od B4. |
Výška | Voliteľné. Argument Height používajte len vtedy, ak je cieľom rozsah. Hovorí o tom, koľko riadkov cieľový rozsah obsahuje. Height musí byť kladné číslo. Z pravej časti obrázka 1 vidíte, že v cieľovom rozsahu sú dva riadky. Preto v tomto prípade nastavíme Height ako 2. |
Šírka | Voliteľné. Argument Šírka použite len vtedy, ak je cieľom rozsah (pozri pravú časť obrázka 1). Udáva, koľko stĺpcov obsahuje cieľový rozsah. Šírka musí byť kladné číslo. |
Teraz vám ukážem, ako používať funkciu OFFSET na riešenie problémov v reálnom živote.
Prípad 1: Vyhľadávanie sprava doľava kombináciou funkcií OFFSET a MATCH
Je všeobecne známe, že pomocou funkcie VLOOKUP môžete vykonávať iba vyhľadávanie zľava doprava.
Hľadaná hodnota musí byť umiestnená v prvom stĺpci tabuľkového poľa.
Ak chcete pridať novú vyhľadávaciu hodnotu, musíte celý rozsah tabuľky posunúť doprava o jeden stĺpec alebo musíte zmeniť štruktúru údajov, ak chcete ako vyhľadávaciu hodnotu použiť iný stĺpec.
Kombináciou funkcie OFFSET s funkciou Match však možno odstrániť obmedzenie funkcie VLOOKUP.
Čo je to funkcia MATCH a ako môžeme skombinovať funkciu OFFSET s funkciou Match na vyhľadávanie?
Funkcia Zhoda vyhľadá zadanú položku v rozsahu buniek a potom vráti relatívnu pozíciu tejto položky v rozsahu.
Ako príklad si zoberme interval B3:B8 z obrázku 2.1 (ktorý zobrazuje príjmy rôznych krajín v rôznych rokoch).
Vzorec "=MATCH ("USA", B3:B8, 0)" vráti 1 keďže USA je prvou položkou v rozsahu (pozri bunky B10 a C10).
Pre ďalší rozsah C2:F2 vzorec "=MATCH (2015, C2:F2, 0)" vráti 3 keďže rok 2015 je treťou položkou v rozsahu (pozri bunky B11 a C11).
Vráťme sa k funkcii OFFSET.
Ak nastavíme bunku B2 ako referenčnú bunku a bunku E3 ako cieľovú bunku, ako môžeme napísať vzorec OFFSET?
E3 je 1 riadok pod B2 a 3 stĺpce vpravo až B2.
Preto sa vzorec môže zapísať ako "=OFFSET(B2, 1 , 3 )". Pozrite sa pozorne na čísla červenej farby, zistíte, že sa zhodujú?
To je odpoveď na otázku - Ako skombinovať funkciu OFFSET s funkciou Match - Funkciu Match možno použiť ako druhý alebo tretí argument funkcie OFFSET (pozri bunku C13).
V bunke C14 je znázornené použitie funkcie VLOOKUP na získanie rovnakých údajov.
Pred zápisom funkcie VLOOKUP musíme vedieť, že príjmy v roku 2015 sú zaznamenané v 4. stĺpci tabuľkového poľa B2:F8.
To znamená, že pri použití funkcie VLOOKUP musíme veľmi dobre poznať štruktúru údajov.
Toto je ďalšie obmedzenie funkcie VLOOKUP. Avšak použitím funkcie MATCH ako argumentu funkcie OFFSET nemusíme poznať index stĺpca.
To je veľmi užitočné, ak je stĺpcov veľa.
Obrázok 2.1
Prejdime teraz na zložitejší príklad.
Predpokladajme, že máme tabuľku obsahujúcu názov spoločnosti, meno kontaktu a e-mailovú adresu pre rôzne spoločnosti.
A chceme získať názov spoločnosti zo známeho mena kontaktu alebo získať meno kontaktu zo známej e-mailovej adresy. Čo môžeme urobiť?
Pozri obrázok 2.2, rozsah B5:E8 obsahuje informácie o spoločnosti. Vložením vstupov do bunky C2 a bunky B3 pomocou vzorca v červenom štvorci môžem získať názov spoločnosti, ak poznám meno kontaktu.
Rozsah D2:E4 ukazuje, ako získať meno kontaktu so známou e-mailovou adresou.
Tieto dva príklady ilustrujú, že môžeme vykonať vyhľadávanie sprava doľava a hľadaná hodnota nemusí byť umiestnená v najpravejšom stĺpci. Hľadanú hodnotu môže obsahovať ktorýkoľvek stĺpec v poli tabuľky.
Obrázok 2.2
Prípad 2: Automatizácia výpočtu kombináciou funkcií OFFSET a COUNT
Predtým, ako si predstavíme, ako automatizovať výpočet vždy, keď pridáme nové číslo do stĺpca, začneme tým, ako najprv automaticky vrátiť posledné číslo v stĺpci.
Pozrite sa na nasledujúci obrázok, na ktorom sú zobrazené záznamy z ľudských zdrojov. Predpokladajme, že chceme získať posledné číslo v stĺpci B, vzorec by bol "=OFFSET (C2, 9 , 0)", ak použijeme funkciu OFFSET.
Zo vzorca môžeme zistiť, že 9 je číslo kľúča.
Pokiaľ dokážeme toto číslo automaticky vrátiť, môžeme byť schopní automaticky vyhľadať posledné číslo v stĺpci.
9 je práve počet buniek, ktoré obsahujú čísla v stĺpci C.
Ak poznáte funkciu COUNT, viete, že funkcia COUNT dokáže spočítať počet buniek, ktoré obsahujú čísla v danom rozsahu.
Napríklad vzorec "=COUNT (C3:C11)" spočíta počet buniek, ktoré obsahujú čísla v bunkách C3 až C11.
V našom prípade by sme chceli vedieť, koľko čísel je v celom stĺpci, preto by sa mal použiť odkaz ako C:C, ktorý zahŕňa všetky riadky v stĺpci C.
Pozrite sa prosím na bunky G4 a H4, číslo vrátené pomocou "=COUNT(C:C)" sa presne rovná 9 .
Ak teda vo vyššie uvedenej funkcii OFFSET nahradíme 9 za COUNT(C:C), dostaneme nový vzorec "=OFFSET (C2, COUNT(C:C) , 0)" (v bunke H5).
Vráti číslo 87000, čo je presne posledné číslo v stĺpci C.
Teraz prejdime k automatickému výpočtu. Predpokladajme, že chceme získať súčet všetkých čísel v stĺpci C.
Vzorec by bol "=SUM (OFFSET (C2, 1, 0, 9 , 1))", ak použijeme SUM spolu s OFFSET.
9 je celkový počet riadkov v rozsahu C3:C11 a tiež celkový počet buniek obsahujúcich čísla v stĺpci C.
Preto môžeme vzorec zapísať novým spôsobom, napríklad "=SUM (OFFSET (C2,1, 0, COUNT (C:C), 1))".
Pozrite sa na bunky G10 a H10, celkový počet platov týchto 9 zamestnancov je 521 700 USD.
Ak teraz do bunky C12 vložíte číslo 34 000 USD, čísla v bunkách G5 a G10 sa zmenia na 34 000 USD a 555 700 USD.
Tomuto postupu hovorím automatizácia, pretože nemusíte aktualizovať vzorce v bunkách G5 alebo G10.
Pri používaní funkcie COUNT musíte byť opatrní, pretože funkcia COUNT vracia len počet buniek, ktoré obsahujú čísla.
Napríklad príkaz "=COUNT (B: B)" vráti 0 namiesto 9, pretože v stĺpci B nie je žiadna bunka obsahujúca čísla (pozri bunky G3 a H3).
Stĺpec D obsahuje 10 buniek obsahujúcich čísla a číslo vrátené príkazom "COUNT (D: D)" je tiež 10.
Ak však chceme získať posledné číslo v stĺpci D, ako sme to urobili v prípade stĺpca C, dostaneme číslo 0 (pozri bunky G8 a H8).
Je zrejmé, že 0 nie je to, čo chceme. Čo je zle? Bunka D13 je od bunky D2 vzdialená 11 riadkov namiesto 10 riadkov.
To možno tiež dokázať vzorcom "=OFFSET (D2, COUNT (D: D) + 1 , 0)" v bunke G7.
Ak chceme použiť funkciu COUNT spolu s funkciou OFFSET, aby sme mohli automatizovať výpočet, čísla by mali byť vedľa seba.
Obrázok 3
Prípad 3: Použitie funkcie OFFSET na vytvorenie dynamického rozsahu
Predpokladajme, že chceme vytvoriť graf mesačných jednotkových predajov spoločnosti a na obrázku 4.1 sú zobrazené aktuálne údaje a graf vytvorený na základe aktuálnych údajov.
Každý mesiac sa pod posledné číslo v stĺpci C pridá predaj jednotiek za posledný mesiac.
Existuje jednoduchý spôsob, ako automaticky aktualizovať graf?
Kľúčom k aktualizácii grafu je použitie funkcie OFFSET na vytvorenie dynamických názvov rozsahov pre stĺpec Predané jednotky.
Dynamický rozsah pre predaj jednotiek bude automaticky zahŕňať všetky údaje o predaji, keď sa zadajú nové údaje.
Obrázok 4.1
Ak chcete vytvoriť dynamický rozsah, kliknite na Vzorce a potom vyberte Názov manažéra alebo Definovať názov .
Pod Nový názov Dialógové okno sa zobrazí, ak kliknete na Definovať názov .
Ak si vyberiete Názov manažéra , musíte tiež kliknúť na Nový na vytvorenie nižšie uvedených Nový názov sa zobrazí dialógové okno.
Obrázok 4.2
V " Názov: " by sa mal vyplniť názov dynamického rozsahu. A v poli " Vzťahuje sa na:" vstupného poľa musíme zadať vzorec OFFSET "=OFFSET (Figure4!$C$2, 1, 0, COUNT (!$C: $C), 1)", ktorý by vygeneroval dynamický rozsah hodnôt na základe jednotiek Predané hodnoty zadané v stĺpci C.
Predvolene sa názov vzťahuje na celý zošit a musí byť v rámci zošita jedinečný.
Chceme však obmedziť rozsah na konkrétny hárok.
Preto sme tu vybrali obrázok4 v časti " Rozsah pôsobnosti: " vstupné pole. Po kliknutí na OK , vytvorí sa dynamický rozsah.
Pri zadávaní nových údajov automaticky zahrnie všetky údaje o predaji.
Teraz kliknite pravým tlačidlom myši na ľubovoľný bod grafu a vyberte položku "Vybrať údaje".
Obrázok 4.3
Vo vyzvanom Vybrať údaje Zdroj, vyberte si Séria1 a potom Upraviť.
Obrázok 4.4
A potom zadajte "=Figure4!Units", ako ukazuje obrázok 4.5.
Obrázok 4.5
Nakoniec to skúsime a do bunky C13 napíšeme 11. Vidíte, že graf sa zmenil a bola doň zahrnutá hodnota 11.
Graf sa automaticky zmení po pridaní nových údajov.
Obrázok 4.6
Čítajte viac...
- Funkcia Offset(...) v programe Excel s príkladmi
Stiahnite si pracovné súbory
Stiahnite si pracovné súbory z nižšie uvedeného odkazu.
Excel-Offset-Function.rar