Excel INDIRECT funkcija - osnovne upotrebe i primjeri formula

  • Podijeli Ovo
Michael Brown

Ovaj vodič za INDIRECT u programu Excel objašnjava sintaksu funkcije, osnovnu upotrebu i nudi niz primjera formula koji pokazuju kako koristiti INDIRECT u programu Excel.

U Microsoftu postoji mnogo funkcija Excel, neki su laki za razumijevanje, drugi zahtijevaju dugu krivulju učenja, a prvi se koriste češće od drugih. Pa ipak, Excel INDIRECT je jedan te vrste. Ova Excel funkcija ne izvodi nikakve izračune, niti procjenjuje bilo kakve uvjete ili logičke testove.

Pa, što je onda funkcija INDIRECT u Excelu i za što je koristim? Ovo je vrlo dobro pitanje i nadamo se da ćete dobiti iscrpan odgovor za nekoliko minuta kada završite s čitanjem ovog vodiča.

    Funkcija INDIRECT programa Excel - sintaksa i osnovne upotrebe

    Kao što mu ime govori, Excel INDIRECT se koristi za neizravno referenciranje ćelija, raspona, drugih listova ili radnih knjiga. Drugim riječima, funkcija INDIRECT omogućuje vam stvaranje dinamičke reference ćelije ili raspona umjesto njihovog tvrdog kodiranja. Kao rezultat toga, možete promijeniti referencu unutar formule bez promjene same formule. Štoviše, ove neizravne reference neće se promijeniti kada se neki novi retci ili stupci umetnu u radni list ili kada izbrišete postojeće.

    Sve ovo može biti lakše razumjeti iz primjera. Međutim, da biste mogli napisati formulu, čak i onu najjednostavniju, morate znatiautomatski. Rješenje je korištenje funkcije INDIRECT, poput ove:

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

    Budući da Excel percipira "A1:A5" kao obični tekstualni niz, a ne kao referencu raspona, neće napraviti nikakav mijenja se kada umetnete ili izbrišete red(ove).

    Korištenje INDIRECT-a s drugim Excel funkcijama

    Osim SUM, INDIRECT se često koristi s drugim Excel funkcijama kao što su ROW, COLUMN, ADDRESS, VLOOKUP, SUMIF, da spomenemo samo neke.

    Primjer 1. Funkcije INDIRECT i ROW

    Dosta često se funkcija ROW koristi u Excelu za vraćanje niza vrijednosti. Na primjer, možete upotrijebiti sljedeću formulu polja (zapamtite da zahtijeva pritiskanje Ctrl + Shift + Enter ) za vraćanje prosjeka 3 najmanja broja u rasponu A1:A10:

    =AVERAGE(SMALL(A1:A10,ROW(1:3)))

    Međutim, ako u svoj radni list umetnete novi redak, bilo gdje između redaka 1 i 3, raspon u funkciji ROW promijenit će se u ROW(1:4), a formula će vratiti prosjek 4 najmanja broja umjesto 3. .

    Kako biste spriječili da se to dogodi, ugniježdite INDIRECT u funkciju ROW i vaša formula polja uvijek će ostati ispravna, bez obzira koliko je redaka umetnuto ili izbrisano:

    =AVERAGE(SMALL(A1:A10,ROW(INDIRECT("1:3"))))

    Evo još nekoliko primjera korištenja INDIRECT i ROW u kombinaciji s LARGE funkcijom: Kako zbrojiti N najvećih brojeva u rasponu.

    Primjer 2. INDIRECT i ADDRESS funkcije

    Možete koristiti Excel INDIRECT zajedno s funkcijom ADRESA dobitivrijednost u određenoj ćeliji u hodu.

    Kao što se možda sjećate, funkcija ADDRESS koristi se u Excelu za dobivanje adrese ćelije prema brojevima redaka i stupaca. Na primjer, formula =ADDRESS(1,3) vraća niz $C$1 budući da je C1 ćelija na sjecištu 1. retka i 3. stupca.

    Da biste stvorili neizravnu referencu ćelije, jednostavno ugradite funkciju ADDRESS u INDIRECT formula poput ove:

    =INDIRECT(ADDRESS(1,3))

    Naravno, ova trivijalna formula samo pokazuje tehniku. Evo nekoliko primjera koji bi se mogli pokazati zaista korisnima:

    • Formula INDIRECT ADDRESS - kako mijenjati retke i stupce.
    • VLOOKUP i INDIRECT - kako dinamički povući podatke s različitih listova .
    • INDIRECT s INDEX / MATCH - kako VLOOKUP formulu koja razlikuje velika i mala slova dovesti do savršenstva.
    • Excel INDIRECT i COUNTIF - kako koristiti funkciju COUNTIF na nesusjednom rasponu ili odabir ćelija.

    Korištenje INDIRECT-a s provjerom valjanosti podataka u programu Excel

    Možete koristiti Excel INDIRECT funkciju s provjerom valjanosti podataka za stvaranje kaskadnih padajućih popisa koji prikazuju različite izbore ovisno o vrijednosti korisnik je odabrao u prvom padajućem izborniku.

    Jednostavan zavisni padajući popis je stvarno lako napraviti. Sve što je potrebno je nekoliko imenovanih raspona za pohranjivanje stavki padajućeg izbornika i jednostavna formula =INDIRECT(A2) gdje je A2 ćelija koja prikazuje vaš prvi padajući popis.

    Za složenijeIzbornici s 3 razine ili padajući izbornici s višeriječnim unosima, trebat će vam malo složenija INDIRECT formula s ugniježđenom funkcijom SUBSTITUTE.

    Za detaljne upute korak po korak o tome kako koristiti INDIRECT s Provjera valjanosti podataka programa Excel, pogledajte ovaj vodič: Kako napraviti zavisni padajući popis u programu Excel.

    Funkcija INDIRECT programa Excel - moguće pogreške i problemi

    Kao što je pokazano u gornjim primjerima, INDIRECT funkcija je vrlo korisna pri radu s referencama ćelija i raspona. Međutim, ne prihvaćaju ga svi korisnici Excela željno, uglavnom zato što opsežna upotreba INDIRECT-a u Excel formulama rezultira nedostatkom transparentnosti. Funkciju INDIRECT teško je pregledati jer ćelija na koju se odnosi nije konačna lokacija vrijednosti korištene u formuli, što je doista prilično zbunjujuće, posebno kada se radi s velikim složenim formulama.

    Osim gore navedeno, kao i svaka druga Excel funkcija, INDIRECT može izazvati pogrešku ako zloupotrijebite argumente funkcije. Evo popisa najčešćih pogrešaka:

    Excel INDIRECT #REF! pogreška

    Najčešće funkcija INDIRECT vraća #REF! pogreška u tri slučaja:

    1. ref_text nije važeća referenca ćelije . Ako parametar ref_text u vašoj neizravnoj formuli nije važeća referenca ćelije, formula će rezultirati #REF! vrijednost greške. Kako biste izbjegli moguće probleme, provjerite INDIRECT funkcijeargumenti.
    2. Ograničenje raspona je premašeno . Ako se argument ref_text vaše neizravne formule odnosi na raspon ćelija izvan ograničenja retka od 1.048.576 ili ograničenja stupca od 16.384, također ćete dobiti pogrešku #REF u Excelu 2007, 2010 i Excelu 2013. Ranije verzije Excela zanemaruju prekoračenje ograničiti i vratiti neku vrijednost, iako često ne onu koju biste očekivali.
    3. Referirani list ili radna knjiga su zatvoreni. Ako se vaša neizravna formula odnosi na drugu Excel radnu knjigu ili radni list, druga radna knjiga/proračunska tablica mora biti otvorena, inače INDIRECT vraća #REF! greška.

    Excel INDIRECT #NAME? pogreška

    Ovo je najočitiji slučaj, koji implicira da postoji neka pogreška u nazivu funkcije, što nas vodi do sljedeće točke: )

    Korištenje INDIRECT funkcije u ne-engleskim lokalitetima

    Možda će vas zanimati da je engleski naziv funkcije INDIRECT preveden na 14 jezika, uključujući:

    • danski - INDIREKTE
    • finski - EPÄSUORA
    • njemački - INDIREKT
    • mađarski - INDIREKT
    • talijanski - INDIRETTO
    • Norveški - INDIREKTE
    • Poljski - ADR.POŚR
    • Španjolski - INDIRECTO
    • Švedski - INDIREKT
    • Turski - DOLAYLI

    Ako ste zainteresirani za potpuni popis, pogledajte ovu stranicu.

    Čest problem s lokalizacijama koje nisu na engleskom jene naziv INDIRECT funkcije, već drugačije Regionalne postavke za Razdjelnik popisa . U standardnoj konfiguraciji sustava Windows za Sjevernu Ameriku i neke druge zemlje, zadani Razdjelnik popisa je zarez. Dok je u europskim zemljama zarez rezerviran kao Decimalni simbol , a Razdjelnik popisa postavljen je na točku i zarez.

    Kao rezultat toga, kada kopirate formulu između dva različitih Excel lokalnih postavki, možete dobiti poruku o pogrešci " Pronašli smo problem s ovom formulom... " jer se Razdjelnik popisa koji se koristi u formuli razlikuje od onoga što je postavljeno na vašem računalu. Ako naiđete na ovu pogrešku kada kopirate neku NEIZRAVNU formulu iz ovog vodiča u svoj Excel, jednostavno zamijenite sve zareze (,) točkom i zarezom (;) da biste je ispravili.

    Da biste provjerili koji su razdjelnik popisa i decimalni simbol postavite na svom računalu, otvorite Upravljačku ploču i idite na Regija i jezik > Dodatne postavke .

    Nadajmo se da je ovaj vodič bacio malo svjetla na korištenje INDIRECT-a u Excelu. Sada kada znate njegove prednosti i ograničenja, vrijeme je da pokušate i vidite kako funkcija INDIRECT može pojednostaviti vaše Excel zadatke. Hvala vam na čitanju!

    argumenti funkcije, zar ne? Dakle, pogledajmo prvo na brzinu Excel INDIRECT sintaksu.

    INDIRECT sintaksa funkcije

    INDIRECT funkcija u Excelu vraća referencu ćelije iz tekstualnog niza. Ima dva argumenta, prvi je obavezan, a drugi je neobavezan:

    INDIRECT(ref_text, [a1])

    ref_text - je referenca ćelije ili referenca na ćeliju u obliku tekstualnog niza ili imenovanog raspona.

    a1 - je logička vrijednost koja specificira koja je vrsta reference sadržana u argumentu ref_text:

    • Ako je TRUE ili izostavljen, ref_text se tumači kao referenca ćelije u stilu A1.
    • Ako je FALSE, ref_text se tretira kao referenca R1C1.

    Dok tip reference R1C1 može biti korisni u određenim situacijama, vjerojatno ćete većinu vremena htjeti koristiti poznate A1 reference. U svakom slučaju, gotovo sve INDIRECT formule u ovom vodiču koristit će A1 reference, tako da ćemo izostaviti drugi argument.

    Osnovna upotreba INDIRECT funkcije

    Da bismo dobili uvid u funkciju, napišimo jednostavna formula koja pokazuje kako koristite INDIRECT u Excelu.

    Pretpostavimo da imate broj 3 u ćeliji A1 i tekst A1 u ćeliji C1. Sada stavite formulu =INDIRECT(C1) u bilo koju drugu ćeliju i pogledajte što će se dogoditi:

    • Funkcija INDIRECT odnosi se na vrijednost u ćeliji C1, koja je A1.
    • Funkcija je usmjerena na ćelija A1 gdje bira vrijednost za vraćanje,što je broj 3.

    Dakle, ono što funkcija INDIRECT zapravo radi u ovom primjeru je pretvaranje tekstualnog niza u referencu ćelije .

    Ako mislite da ovo još uvijek ima vrlo malo praktičnog smisla, molim vas, strpite se i pokazat ću vam još neke formule koje otkrivaju stvarnu snagu Excel INDIRECT funkcije.

    Kako koristiti INDIRECT u Excelu - primjeri formula

    Kao što je pokazano u gornjem primjeru, možete koristiti Excel INDIRECT funkciju da stavite adresu jedne ćelije u drugu kao uobičajeni tekstualni niz i dobijete vrijednost prve ćelije pozivanjem na drugu. Međutim, taj trivijalni primjer nije više od nagovještaja INDIRECT mogućnosti.

    Kada radite sa stvarnim podacima, INDIRECT funkcija može pretvoriti bilo koji tekstualni niz u referencu uključujući vrlo složene nizove koje gradite pomoću vrijednosti druge ćelije i rezultate koje vraćaju druge Excel formule. Ali nemojmo stavljati kola ispred konja i trčati kroz nekoliko Excel Indirect formula, jednu po jednu.

    Stvaranje neizravnih referenci iz vrijednosti ćelija

    Kao što se sjećate, Excel INDIRECT funkcija omogućuje za referentne stilove A1 i R1C1. Obično ne možete koristiti oba stila na jednom listu odjednom, možete se prebacivati ​​samo između dvije vrste referenci putem Datoteka > Opcije > Formule > R1C1 potvrdni okvir . To je razlog zašto Excel korisnici rijetko razmatraju korištenje R1C1kao alternativni pristup referenciranju.

    U INDIRECT formuli možete koristiti bilo koju vrstu reference na istom listu ako želite. Prije nego što krenemo dalje, možda biste željeli znati razliku između referentnih stilova A1 i R1C1.

    A1 stil je uobičajena vrsta reference u Excelu koja se odnosi na stupac nakon kojeg slijedi red broj. Na primjer, B2 se odnosi na ćeliju na sjecištu stupca B i retka 2.

    R1C1 stil suprotna je vrsta reference - redovi iza kojih slijede stupci, za što je potrebno neko vrijeme da se naviknete do : ) Na primjer, R4C1 odnosi se na ćeliju A4 koja se nalazi u retku 4, stupcu 1 na listu. Ako nakon slova ne dolazi broj, referirate na isti redak ili stupac.

    A sada, da vidimo kako funkcija INDIRECT rukuje referencama A1 i R1C1:

    Kao što vidite u na gornjoj snimci zaslona tri različite neizravne formule vraćaju isti rezultat. Jeste li već shvatili zašto? Kladim se da imate : )

    • Formulu u ćeliji D1: =INDIRECT(C1)

    Ovo je najlakše. Formula se odnosi na ćeliju C1, dohvaća njezinu vrijednost - tekstualni niz A2 , pretvara je u referencu ćelije, prelazi na ćeliju A2 i vraća njezinu vrijednost, koja je 222.

    • Formula u ćeliji D3: =INDIRECT(C3,FALSE)

    FALSE u 2. argumentu označava da se navedena vrijednost (C3) treba tretirati kao referenca ćelije R1C1, tj. broj retka iza kojeg slijedi broj stupca. Stoga,naša INDIRECT formula tumači vrijednost u ćeliji C3 (R2C1) kao referencu na ćeliju na spoju retka 2 i stupca 1, što je ćelija A2.

    Stvaranje neizravnih referenci iz vrijednosti ćelije i teksta

    Slično kao što smo stvorili reference iz vrijednosti ćelija, možete kombinirati tekstualni niz i referencu ćelije unutar vaše INDIRECT formule, povezane zajedno s operatorom spajanja (&) .

    U sljedećem primjeru formula: =INDIRECT("B"&C2) vraća vrijednost iz ćelije B2 na temelju sljedećeg logičkog lanca:

    Funkcija INDIRECT povezuje elemente u argumentu ref_text - tekst B i vrijednost u ćeliji C2 -> vrijednost u ćeliji C2 je broj 2, što upućuje na ćeliju B2 -> formula ide u ćeliju B2 i vraća njezinu vrijednost, koja je broj 10.

    Upotrebom funkcije INDIRECT s imenovanim rasponima

    Osim pravljenja referenci iz vrijednosti ćelije i teksta, možete dobiti Excel INDIRECT funkcija za upućivanje na imenovane raspone .

    Pretpostavimo da na svom listu imate sljedeće imenovane raspone:

    • Jabuke - B2:B6
    • Banane - C2:C6
    • Limuni - D2:D6

    Da biste stvorili Excel dinamičku referencu na bilo koji od gore navedenih raspona, samo unesite njegovo ime u neku ćeliju, recimo G1, i uputite na tu ćeliju iz neizravne formule =INDIRECT(G1) .

    A sada, možete napraviti korak dalje i ugraditi ovu INDIREKTNU formuluu druge Excel funkcije za izračunavanje zbroja i prosjeka vrijednosti u određenom imenovanom rasponu ili pronalaženje maksimalne/minimalne vrijednosti unutar raspona:

    • =SUM(INDIRECT(G1))
    • =AVERAGE(INDIRECT(G1))
    • =MAX(INDIRECT(G1))
    • =MIN(INDIRECT(G1))

    Sada kada imate opću predodžbu o tome kako koristiti INDIRECT funkciju u Excelu, možemo eksperimentirati s moćnijim formulama.

    INDIRECT formula za dinamičko upućivanje na drugi radni list

    Korisnost Excel INDIRECT funkcije nije ograničena na izgradnju "dinamičkih" referenci ćelija. Možete ga koristiti i za upućivanje na ćelije u drugim radnim listovima "u hodu", a evo kako.

    Pretpostavimo da imate neke važne podatke u Listu 1 i želite povući te podatke u Listu 2. Sljedeća snimka zaslona pokazuje kako formula programa Excel Indirect može riješiti ovaj zadatak:

    Razdvojimo formulu koju vidite na snimci zaslona i shvatimo je.

    Kao što znate, uobičajeni način referenciranja drugog lista u Excelu piše naziv lista nakon kojeg slijedi uskličnik i referenca na ćeliju/raspon, poput NazivLista!Raspon . Budući da naziv lista često sadrži razmake, bolje je da ga (ime, a ne razmak : ) stavite u jednostruke navodnike kako biste spriječili pogrešku, na primjer 'Moj list!'$A$1 .

    A sada, sve što trebate učiniti je unijeti naziv lista u jednu ćeliju, adresu ćelije u drugu, spojiti ih u tekstualni niz i unijeti taj niz uINDIRECT funkcija. Upamtite da u tekstualnom nizu morate staviti svaki element osim adrese ćelije ili broja u dvostruke navodnike i povezati sve elemente pomoću operatora ulančavanja (&).

    S obzirom na gore navedeno, dobivamo sljedeći uzorak:

    INDIRECT("'" & Naziv lista & "'!" & Ćelija iz koje se povlače podaci )

    Vratimo se na naš primjer, stavite naziv lista u ćeliju A1 i upišete adrese ćelija u stupac B, kao što je prikazano na gornjoj snimci zaslona. Kao rezultat, dobit ćete sljedeću formulu:

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

    Također, obratite pozornost da ako kopirate formulu u više ćelija, morate zaključati referencu na naziv lista pomoću apsolutne reference ćelija poput $A$1.

    Bilješke

    • Ako je bilo koja od ćelija koje sadrže naziv 2. lista i adresu ćelije (A1 i B1 u gornjoj formuli) prazna , vaša neizravna formula vratit će pogrešku. Da biste to spriječili, možete zamotati INDIRECT funkciju u IF funkciju:

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

    • Da bi INDIRECT formula koja se odnosi na drugi list radila ispravno, referentni list bi trebao biti otvoren, inače bi formula će vratiti pogrešku #REF. Da biste izbjegli pogrešku, možete upotrijebiti funkciju IFERROR koja će prikazati prazan niz, koja god se pogreška dogodi:

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

    Stvaranje Excel dinamičke reference na drugu radnu knjigu

    Neizravna formula koja se odnosiu drugu Excel radnu knjigu temelji se na istom pristupu kao referenca na drugu proračunsku tablicu. Samo morate navesti da je naziv radne knjige dodatak nazivu lista i adresi ćelije.

    Da bismo olakšali stvari, počnimo s referencom na drugu knjigu na uobičajeni način (apostrofi se dodaju u slučaju da je vaša knjiga i/ili nazivi listova sadrže razmake):

    '[Naziv_knjige.xlsx]Naziv_lista'!Raspon

    Pod pretpostavkom da je naziv knjige u ćeliji A2, naziv lista u ćeliji B2, a adresa ćelije je u C2, dobivamo sljedeću formulu:

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

    Budući da ne želite da se ćelije koje sadrže nazive knjiga i listova mijenjaju prilikom kopiranja formule u druge ćelije, zaključajte ih korištenjem apsolutnih referenci ćelija, $A$2 i $B$2.

    A sada možete jednostavno napisati vlastitu dinamičku referencu na drugu Excel radnu knjigu koristeći sljedeći obrazac:

    =INDIRECT("'[" & Naziv knjige & " ]" & Naziv lista & "'!" & Adresa ćelije )

    Napomena. Radna knjiga na koju se vaša formula odnosi uvijek bi trebala biti otvorena, inače će funkcija INDIRECT izbaciti pogrešku #REF. Kao i obično, funkcija IFERROR može vam pomoći da to izbjegnete:

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

    Korištenje Excel INDIRECT funkcije za zaključavanje reference ćelije

    Normalno, Microsoft Excel mijenja reference ćelija kada umetnete nove ili brisanje postojećih redaka ili stupaca na listu. Kako biste spriječili da se to dogodi, možetekoristite INDIRECT funkciju za rad s referencama ćelije koje bi u svakom slučaju trebale ostati netaknute.

    Da biste ilustrirali razliku, učinite sljedeće:

    1. Unesite bilo koju vrijednost u bilo koju ćeliju, recimo , broj 20 u ćeliji A1.
    2. Odnosi se na A1 iz druge dvije ćelije na različite načine: =A1 i =INDIRECT("A1")
    3. Umetni novi redak iznad retka 1.

    Vidiš što se događa? Ćelija s logičkim operatorom jednako i dalje vraća 20 jer je njena formula automatski promijenjena u =A2. Ćelija s INDIRECT formulom sada vraća 0, jer formula nije promijenjena kada je umetnut novi red i još uvijek se odnosi na ćeliju A1, koja je trenutno prazna:

    Nakon ove demonstracije, možda ćete biti pod dojam da je INDIRECT funkcija više smetnja nego pomoć. U redu, pokušajmo na drugi način.

    Pretpostavimo da želite zbrojiti vrijednosti u ćelijama A2:A5, a to možete jednostavno učiniti pomoću funkcije SUM:

    =SUM(A2:A5)

    Međutim, želite da formula ostane nepromijenjena, bez obzira koliko je redaka izbrisano ili umetnuto. Najočitije rješenje - korištenje apsolutnih referenci - neće pomoći. Da biste bili sigurni, unesite formulu =SUM($A$2:$A$5) u neku ćeliju, umetnite novi redak, recimo u redak 3, i… pronađite formulu pretvorenu u =SUM($A$2:$A$6) .

    Naravno, takva ljubaznost Microsoft Excela dobro će funkcionirati u većini slučajeva. Unatoč tome, mogu postojati scenariji kada ne želite da se formula promijeni

    Michael Brown predani je tehnološki entuzijast sa strašću za pojednostavljivanjem složenih procesa pomoću softverskih alata. S više od desetljeća iskustva u tehnološkoj industriji, usavršio je svoje vještine u Microsoft Excelu i Outlooku, kao i Google tablicama i dokumentima. Michaelov blog posvećen je dijeljenju znanja i stručnosti s drugima, pružajući savjete i upute koje je lako slijediti za poboljšanje produktivnosti i učinkovitosti. Bez obzira jeste li iskusni profesionalac ili početnik, Michaelov blog nudi vrijedne uvide i praktične savjete za izvlačenje maksimuma iz ovih osnovnih softverskih alata.