Excelova funkcija INDIRECT - osnovne uporabe in primeri formul

  • Deliti To
Michael Brown

V tem Excelovem učbeniku INDIRECT je razložena sintaksa funkcije, njene osnovne uporabe in številni primeri formul, ki prikazujejo uporabo INDIRECT v Excelu.

V programu Microsoft Excel obstaja veliko funkcij, nekatere so preproste za razumevanje, druge zahtevajo dolgotrajno učenje, prve pa se uporabljajo pogosteje kot druge. In vendar je Excelova funkcija INDIRECT ena izmed njih. Ta funkcija programa Excel ne izvaja nobenih izračunov niti ne ocenjuje nobenih pogojev ali logičnih testov.

Kaj je torej funkcija INDIRECT v Excelu in za kaj jo uporabljam? To je zelo dobro vprašanje in upam, da boste dobili izčrpen odgovor v nekaj minutah, ko boste končali branje tega priročnika.

    Excelova funkcija INDIRECT - sintaksa in osnovne uporabe

    Kot pove že ime, se funkcija Excel INDIRECT uporablja za posredno sklicevanje na celice, območja, druge liste ali delovne zvezke. Z drugimi besedami, funkcija INDIRECT vam omogoča ustvarjanje dinamičnega sklica na celice ali območja, namesto da bi jih vnesli s trdo kodo. Tako lahko spremenite sklic v formuli, ne da bi spremenili samo formulo. Poleg tega se te posredne reference ne bodo spremenile, ko se bodo pojavile nekatere nove vrstice ali stolpci.vstavite v delovni list ali ko izbrišete obstoječe.

    Vse to je morda lažje razumeti iz primera. Vendar pa morate za pisanje formule, tudi najpreprostejše, poznati argumente funkcije, kajne? Zato si najprej na hitro oglejmo sintakso Excel INDIRECT.

    Sintaksa funkcije INDIRECT

    Funkcija INDIRECT v Excelu vrne referenco na celico iz besedilnega niza. Ima dva argumenta, prvi je obvezen, drugi pa neobvezen:

    INDIRECT(ref_text, [a1])

    ref_text - je referenca na celico ali referenca na celico v obliki besedilnega niza ali poimenovanega območja.

    a1 - je logična vrednost, ki določa vrsto reference, ki jo vsebuje argument ref_text:

    • Če je TRUE ali izpuščen, se ref_text razume kot referenca na celico v slogu A1.
    • Če je vrednost FALSE, se ref_text obravnava kot referenca R1C1.

    Čeprav je tip reference R1C1 v določenih situacijah lahko uporaben, boste verjetno večino časa želeli uporabljati znane reference A1. Kakorkoli že, skoraj vse INDIRECT formule v tem učbeniku bodo uporabljale reference A1, zato bomo drugi argument izpustili.

    Osnovna uporaba funkcije INDIRECT

    Da bi se seznanili s funkcijo, napišimo preprosto formulo, ki prikazuje uporabo funkcije INDIRECT v Excelu.

    Recimo, da imate v celici A1 številko 3 in besedilo A1 v celico C1. Zdaj vnesite formulo =INDIRECT(C1) v katero koli drugo celico in si oglejte, kaj se bo zgodilo:

    • Funkcija INDIRECT se nanaša na vrednost v celici C1, ki je A1.
    • Funkcija je usmerjena v celico A1, kjer izbere vrednost, ki jo bo vrnila, to je številka 3.

    Funkcija INDIRECT v tem primeru dejansko naredi naslednje. pretvorba besedilnega niza v referenco na celico .

    Če menite, da je to še vedno zelo malo praktičnega smisla, vztrajajte in pokazal vam bom še nekaj formul, ki razkrivajo pravo moč Excelove funkcije INDIRECT.

    Kako uporabiti INDIRECT v Excelu - primeri formul

    Kot je prikazano v zgornjem primeru, lahko Excelovo funkcijo INDIRECT uporabite za vnos naslova ene celice v drugo kot običajen besedilni niz in za pridobitev vrednosti prve celice s sklicevanjem na drugo. Vendar je ta trivialni primer le namig na zmogljivosti funkcije INDIRECT.

    Pri delu z resničnimi podatki lahko funkcija INDIRECT spremeni kateri koli besedilni niz v referenco, vključno z zelo zapletenimi nizi, ki jih sestavite z uporabo vrednosti drugih celic in rezultatov, vrnjenih z drugimi Excelovimi formulami. Vendar ne postavljajmo voza pred konja, temveč si oglejmo več Excelovih posrednih formul, eno za drugo.

    Ustvarjanje posrednih referenc iz vrednosti celic

    Kot se spomnite, funkcija Excel INDIRECT omogoča referenčna sloga A1 in R1C1. Običajno v enem listu ne morete uporabljati obeh slogov hkrati, med obema vrstama referenc lahko preklapljate le prek Datoteka> Možnosti> Formule > potrditveno polje R1C1 To je razlog, zakaj uporabniki programa Excel redko razmišljajo o uporabi R1C1 kot alternativnem pristopu za sklicevanje.

    V formuli INDIRECT lahko na istem listu po želji uporabite obe vrsti referenc. Preden nadaljujemo, vas morda zanima razlika med slogoma referenc A1 in R1C1.

    slog A1 je običajna referenčna vrsta v Excelu, ki se nanaša na stolpec, ki mu sledi številka vrstice. Na primer B2 se nanaša na celico na presečišču stolpca B in vrstice 2.

    Stil R1C1 je nasprotna vrsta reference - vrsticam sledijo stolpci, na kar se je treba nekaj časa navaditi : ) Na primer, R4C1 se nanaša na celico A4, ki je v vrstici 4 in stolpcu 1 v listu. Če za črko ni številke, se nanašate na isto vrstico ali stolpec.

    Zdaj pa si oglejmo, kako funkcija INDIRECT obravnava reference A1 in R1C1:

    Kot vidite na zgornji sliki zaslona, tri različne posredne formule vrnejo enak rezultat. Ste že ugotovili, zakaj? Stavim, da ste : )

    • Formula v celici D1: =INDIRECT(C1)

    To je najlažja formula. Formula se nanaša na celico C1, pridobi njeno vrednost - besedilni niz A2 , ga pretvori v referenco na celico, preide v celico A2 in vrne njeno vrednost, ki je 222.

    • Formula v celici D3: =INDIRECT(C3,FALSE)

    FALSE v 2. argumentu pomeni, da je treba referenčno vrednost (C3) obravnavati kot referenco na celico R1C1, tj. številko vrstice, ki ji sledi številka stolpca. Zato naša formula INDIRECT interpretira vrednost v celici C3 (R2C1) kot referenco na celico na spoju vrstice 2 in stolpca 1, to je celica A2.

    Ustvarjanje posrednih referenc iz vrednosti celic in besedila

    Podobno kot smo ustvarili reference iz vrednosti celic, lahko združite besedilni niz in sklic na celico v formuli INDIRECT, povezani z operatorjem za združevanje (&).

    V naslednjem primeru formula: =INDIRECT("B"&C2) vrne vrednost iz celice B2 na podlagi naslednje logične verige:

    Funkcija INDIRECT združuje elemente v argumentu ref_text - besedilo B in vrednost v celici C2 -> vrednost v celici C2 je številka 2, ki se sklicuje na celico B2 -> formula gre v celico B2 in vrne njeno vrednost, ki je številka 10.

    Uporaba funkcije INDIRECT z imenovanimi območji

    Poleg sklicevanja na vrednosti celic in besedila se lahko s funkcijo INDIRECT v Excelu sklicujete tudi na poimenovana območja .

    Predpostavimo, da imate v listu naslednja poimenovana območja:

    • Jabolka - B2:B6
    • Banane - C2:C6
    • Limone - D2:D6

    Če želite ustvariti dinamično referenco programa Excel na katerega koli od zgoraj navedenih obsegov, vnesite njegovo ime v neko celico, na primer G1, in se na to celico sklicujte s posredno formulo. =INDIRECT(G1) .

    Zdaj lahko naredite še korak naprej in to INDIREKTNO formulo vgradite v druge Excelove funkcije, da izračunate vsoto in povprečje vrednosti v danem poimenovanem območju ali poiščete največjo/najmanjšo vrednost v območju:

    • =SUM(INDIRECT(G1))
    • = POVPREČJE(INDIREKTNO(G1))
    • =MAX(INDIRECT(G1))
    • =MIN(INDIRECT(G1))

    Zdaj, ko imate splošno predstavo o uporabi funkcije INDIRECT v Excelu, lahko eksperimentirate z močnejšimi formulami.

    INDIREKTNA formula za dinamično sklicevanje na drug delovni list

    Uporabnost funkcije INDIRECT v Excelu ni omejena na ustvarjanje "dinamičnih" referenc na celice. Uporabite jo lahko tudi za sklicevanje na celice v drugih delovnih listih "v teku", in tukaj je opisano, kako.

    Recimo, da imate nekaj pomembnih podatkov v listu 1 in jih želite prenesti v list 2. Naslednja slika prikazuje, kako lahko to nalogo opravi Excelova posredna formula:

    Razčlenimo formulo, ki jo vidite na sliki zaslona, in jo razumemo.

    Kot veste, je običajni način sklicevanja na drug list v Excelu zapis imena lista, ki mu sledita vzklik in sklic na celico/območje, kot na primer Ime lista!Razpon Ker ime lista pogosto vsebuje presledek(e), ga raje zapišite (ime, ne presledka : ) v enojne narekovaje, da preprečite napako, na primer "Moj list!"$A$1 .

    Zdaj morate v eno celico vnesti ime lista, v drugo naslov celice, ju združiti v besedilni niz in ta niz posredovati funkciji INDIRECT. Ne pozabite, da morate v besedilnem nizu vsak element, razen naslova celice ali številke, zapreti v dvojne narekovaje in vse elemente povezati z operatorjem za združevanje (&).

    Glede na zgoraj navedeno dobimo naslednji vzorec:

    INDIRECT("''" & Ime lista & "'!" & Celica, iz katere se črpajo podatki )

    Če se vrnemo k našemu primeru, v celico A1 vpišemo ime lista, v stolpec B pa naslove celic, kot je prikazano na zgornji sliki zaslona. Kot rezultat dobimo naslednjo formulo:

    INDIRECT("'" & $A$1 & "'!" & B1)

    Če kopirate formulo v več celic, morate sklicevanje na ime lista zakleniti z uporabo absolutnih sklicev na celice, kot je $A$1.

    Opombe

    • Če je ena od celic, ki vsebuje ime in naslov celice 2. lista (A1 in B1 v zgornji formuli), prazna, bo posredna formula vrnila napako. Če želite to preprečiti, lahko funkcijo INDIRECT zavijete v funkcijo IF:

      IF(OR($A$1="",B1=""), "", INDIRECT("'" & $A$1 & "'!" & B1))

    • Za pravilno delovanje formule INDIRECT, ki se sklicuje na drug list, mora biti navedeni list odprt, sicer bo formula vrnila napako #REF. Če se želite izogniti napaki, lahko uporabite funkcijo IFERROR, ki bo prikazala prazen niz, ne glede na napako:

      IFERROR(INDIRECT("'" & $A$1 & "'!" &B1), "")

    Ustvarjanje dinamičnega sklica programa Excel na drug delovni zvezek

    Posredna formula, ki se nanaša na drugo Excelovo delovno knjižico, temelji na enakem pristopu kot sklicevanje na drugo preglednico. Poleg imena lista in naslova celic morate navesti le ime delovne knjižice.

    Za lažjo predstavo začnimo s sklicevanjem na drugo knjigo na običajen način (apostrofi so dodani, če imena knjig in/ali listov vsebujejo presledke):

    '[Ime_knjige.xlsx]Ime_lista'!Razpon

    Ob predpostavki, da je ime knjige v celici A2, ime lista v B2 in naslov celice v C2, dobimo naslednjo formulo:

    =INDIRECT("'[" & $A$2 & "]" & $B$2 & "'!" & C2)

    Ker ne želite, da se celici z imenoma knjige in lista spremenita pri kopiranju formule v druge celice, ju zaklenete z uporabo absolutnih referenc celic, $A$2 oziroma $B$2.

    Zdaj lahko preprosto napišete svojo lastno dinamično referenco na drugo delovno knjižico programa Excel z uporabo naslednjega vzorca:

    =INDIRECT("'[" & Ime knjige & "]" & Ime lista & "'!" & Naslov celice )

    Opomba: Delovni zvezek, na katerega se nanaša vaša formula, mora biti vedno odprt, sicer bo funkcija INDIRECT vrgla napako #REF. Kot običajno se ji lahko izognete s funkcijo IFERROR:

    =IFERROR(INDIRECT("'[" & A2 & "]" & $A$1 & "'!" & B1), "")

    Uporaba Excelove funkcije INDIRECT za zaklepanje reference na celico

    Običajno Microsoft Excel spremeni sklicevanja na celice, ko vstavite nove ali izbrišete obstoječe vrstice ali stolpce v listu. Če želite to preprečiti, lahko uporabite funkcijo INDIRECT za delo s sklici na celice, ki morajo v vsakem primeru ostati nedotaknjeni.

    Za ponazoritev razlike naredite naslednje:

    1. V katero koli celico vnesite poljubno vrednost, na primer številko 20 v celico A1.
    2. Na A1 se lahko sklicujete iz dveh drugih celic na različne načine: =A1 in . =INDIRECT("A1")
    3. Nad vrstico 1 vstavite novo vrstico.

    Oglejte si, kaj se zgodi? Celica z enak Logični operator še vedno vrača 20, ker se je njegova formula samodejno spremenila v =A2. Celica s formulo INDIRECT zdaj vrača 0, ker se formula ni spremenila, ko je bila vstavljena nova vrstica, in se še vedno nanaša na celico A1, ki je trenutno prazna:

    Po tej predstavitvi boste morda dobili vtis, da je funkcija INDIRECT bolj moteča kot koristna. Dobro, poskusimo še na drug način.

    Recimo, da želite sešteti vrednosti v celicah A2:A5, kar lahko preprosto storite s funkcijo SUM:

    =SUM(A2:A5)

    Vendar pa želite, da formula ostane nespremenjena, ne glede na število izbrisanih ali vstavljenih vrstic. Najbolj očitna rešitev - uporaba absolutnih referenc - ne bo pomagala. Če se želite prepričati, vnesite formulo =SUM($A$2:$A$5) v neki celici, vstavite novo vrstico, na primer v vrstici 3, in... poiščite formulo, pretvorjeno v =SUM($A$2:$A$6) .

    Seveda bo takšna prijaznost programa Microsoft Excel v večini primerov delovala dobro. Kljub temu lahko pride do primerov, ko ne želite, da se formula samodejno spremeni. Rešitev je uporaba funkcije INDIRECT, kot je ta:

    =SUM(INDIRECT("A2:A5"))

    Ker Excel "A1:A5" dojema kot navaden besedilni niz in ne kot referenco na območje, ne bo izvedel nobenih sprememb, ko vstavite ali izbrišete vrstico(e).

    Uporaba INDIRECT z drugimi funkcijami programa Excel

    Poleg funkcije SUM se INDIRECT pogosto uporablja z drugimi funkcijami programa Excel, kot so ROW, COLUMN, ADDRESS, VLOOKUP, SUMIF in še nekatere druge.

    Primer 1. Funkciji INDIRECT in ROW

    Funkcija ROW se v Excelu pogosto uporablja za vračanje niza vrednosti. Na primer, z naslednjo formulo za vračanje niza (ne pozabite, da je treba pritisniti Ctrl + Shift + Enter ) lahko vrnete povprečje treh najmanjših števil v območju A1:A10:

    =POVPREČJE(SMALL(A1:A10,VRSTICA(1:3))

    Če pa v delovni list vstavite novo vrstico, kjer koli med vrsticama 1 in 3, se območje v funkciji ROW spremeni v ROW(1:4) in formula namesto 3 vrne povprečje 4 najmanjših številk.

    Če želite to preprečiti, v funkciji ROW vnesite INDIRECT in vaša formula polja bo vedno pravilna, ne glede na število vstavljenih ali izbrisanih vrstic:

    =POVPREČJE(SMALL(A1:A10,VRSTICA(INDIRECT("1:3"))))

    Tukaj je še nekaj primerov uporabe INDIRECT in ROW v povezavi s funkcijo LARGE: Kako sešteti N največjih števil v območju.

    Primer 2. Funkciji INDIRECT in ADDRESS

    Excelovo funkcijo INDIRECT lahko uporabite skupaj s funkcijo ADDRESS, da sproti pridobite vrednost v določeni celici.

    Morda se spomnite, da se funkcija ADDRESS v Excelu uporablja za pridobitev naslova celice s številkami vrstic in stolpcev. =ADRESA(1,3) vrne niz $C$1, saj je C1 celica na presečišču 1. vrstice in 3. stolpca.

    Če želite ustvariti posredni sklic na celico, preprosto vstavite funkcijo ADDRESS v formulo INDIRECT, kot sledi:

    =INDIREKTNO (NASLOV(1,3))

    Ta trivialna formula seveda le prikazuje tehniko. Tukaj pa je nekaj primerov, ki se lahko izkažejo za resnično uporabne:

    • Formula INDIRECT ADDRESS - kako preklopiti vrstice in stolpce.
    • VLOOKUP in INDIRECT - kako dinamično črpati podatke iz različnih listov.
    • INDIRECT z INDEX / MATCH - kako formulo VLOOKUP, občutljivo na velikost črk, pripeljati do popolnosti.
    • Excel INDIRECT in COUNTIF - kako uporabiti funkcijo COUNTIF na nesorodnem območju ali izboru celic.

    Uporaba INDIRECT z validacijo podatkov v Excelu

    Excelovo funkcijo INDIRECT lahko s funkcijo Data Validation uporabite za ustvarjanje kaskadnih spustnih seznamov, ki prikazujejo različne možnosti glede na to, katero vrednost je uporabnik izbral v prvem spustnem seznamu.

    Enostaven odvisni spustni seznam je zelo enostaven za izdelavo. Vse, kar potrebujete, je nekaj poimenovanih razponov za shranjevanje elementov spustnega seznama in preprost =INDIRECT(A2) kjer je A2 celica, v kateri je prikazan prvi spustni seznam.

    Če želite ustvariti bolj zapletene menije na treh ravneh ali spustne sezname z večbesednimi vnosi, boste potrebovali nekoliko bolj zapleteno formulo INDIRECT z vgnezdeno funkcijo SUBSTITUTE.

    Za podrobna navodila po korakih, kako uporabljati INDIRECT z Excelovim potrjevanjem podatkov, si oglejte to navodilo: Kako ustvariti odvisni spustni seznam v Excelu.

    Excelova funkcija INDIRECT - možne napake in težave

    Kot je prikazano v zgornjih primerih, je funkcija INDIRECT zelo koristna pri ravnanju s sklici na celice in območja. Vendar je vsi uporabniki programa Excel ne sprejemajo z navdušenjem, predvsem zato, ker obsežna uporaba funkcije INDIRECT v Excelovih formulah povzroča nepreglednost. Funkcijo INDIRECT je težko pregledati, saj celica, na katero se nanaša, ni končno mesto vrednosti, uporabljene v formuli,kar je precej zmedeno, zlasti pri delu z velikimi zapletenimi formulami.

    Poleg zgoraj navedenega lahko INDIRECT tako kot vsaka druga funkcija programa Excel vrže napako, če napačno uporabite argumente funkcije. Tukaj je seznam najbolj tipičnih napak:

    Excel INDIREKTNA #REF! napaka

    Funkcija INDIRECT najpogosteje vrne napako #REF! v treh primerih:

    1. ref_text ni veljavna referenca celice Če parameter ref_text v vaši posredni formuli ni veljavna referenca na celico, bo formula prikazala vrednost napake #REF! Da bi se izognili morebitnim težavam, preverite argumente funkcije INDIRECT.
    2. Meja razpona je presežena Če se argument ref_text vaše posredne formule nanaša na obseg celic, ki presega omejitev vrstice 1 048 576 ali omejitev stolpca 16 384, se bo napaka #REF pojavila tudi v Excelu 2007, 2010 in 2013. Prejšnje različice Excela ne upoštevajo presežene omejitve in vrnejo neko vrednost, čeprav pogosto ne tisto, ki bi jo pričakovali.
    3. Navedeni list ali delovni zvezek je zaprt. Če se vaša posredna formula nanaša na drugo Excelovo delovno knjižico ali delovno listo, mora biti ta druga delovna knjižica ali preglednica odprta, sicer INDIRECT vrne napako #REF!.

    Excel INDIREKTNO #NAME? napaka

    To je najbolj očiten primer, ki pomeni, da je v imenu funkcije neka napaka, kar nas pripelje do naslednje točke : )

    Uporaba funkcije INDIRECT v neangleških lokalnih jezikih

    Morda vas zanima, da je angleško ime funkcije INDIRECT prevedeno v 14 jezikov, med drugim v:

    • Danski - INDIREKTE
    • Finščina - EPÄSUORA
    • Nemščina - INDIREKT
    • madžarščina - INDIREKT
    • Italijansko - INDIRETTO
    • Norveščina - INDIREKTE
    • Poljščina - ADR.POŚR
    • Španščina - INDIRECTO
    • Švedski - INDIREKT
    • Turščina - DOLAYLI

    Če vas zanima celoten seznam, si oglejte to stran.

    Pogosta težava pri neangleških lokalizacijah ni v imenu funkcije INDIRECT, temveč v različnih Regionalne nastavitve za Ločevalnik seznamov . V standardni konfiguraciji sistema Windows za Severno Ameriko in nekatere druge države je privzeta nastavitev Ločevalnik seznamov je vejica. V evropskih državah je vejica rezervirana kot Decimalni simbol in Ločevalnik seznamov je nastavljen na podpičje.

    Pri kopiranju formule med dvema različnima lokalnima jezikoma programa Excel se lahko prikaže sporočilo o napaki " Pri tej formuli smo odkrili težavo... ", ker je Seznam separatorja Če pri kopiranju INDIREKTNE formule iz tega priročnika v Excel naletite na to napako, preprosto zamenjajte vse vejice (,) s podpičji (;), da jo popravite.

    Če želite preveriti, kateri simbol za ločevanje seznamov in decimalni simbol sta nastavljena v vašem računalniku, odprite Nadzorna plošča in pojdite na Regija in jezik> Dodatne nastavitve .

    Upajmo, da je to vodilo osvetlilo uporabo funkcije INDIRECT v Excelu. Zdaj, ko poznate njene prednosti in omejitve, je čas, da jo preizkusite in preverite, kako lahko funkcija INDIRECT poenostavi vaša opravila v Excelu. Hvala za branje!

    Michael Brown je predan tehnološki navdušenec s strastjo do poenostavljanja kompleksnih procesov z uporabo programskih orodij. Z več kot desetletnimi izkušnjami v tehnološki industriji je svoje veščine izpopolnil v Microsoft Excelu in Outlooku ter Google Preglednicah in Dokumentih. Michaelov blog je namenjen deljenju svojega znanja in strokovnega znanja z drugimi ter ponuja preproste nasvete in vadnice za izboljšanje produktivnosti in učinkovitosti. Ne glede na to, ali ste izkušen strokovnjak ali začetnik, Michaelov blog ponuja dragocene vpoglede in praktične nasvete, kako kar najbolje izkoristiti ta osnovna programska orodja.