Sadržaj
Ovaj Excel INDIRECT vodič objašnjava sintaksu funkcije, osnovnu upotrebu i pruža niz primjera formula koji pokazuju kako koristiti INDIRECT u Excelu.
Veliko funkcija postoji u Microsoftu Excel, od kojih su neki laki za razumevanje, drugi zahtevaju dugu krivulju učenja, a prvi se koristi češće od drugog. Pa ipak, Excel INDIRECT je jedinstven. Ova Excel funkcija ne izvodi nikakve kalkulacije, niti procjenjuje uslove ili logičke testove.
Pa, šta je onda INDIREKTNA funkcija u Excelu i za što je koristim? Ovo je vrlo dobro pitanje i nadamo se da ćete dobiti sveobuhvatan odgovor za nekoliko minuta kada završite s čitanjem ovog vodiča.
Excel INDIRECT funkcija - sintaksa i osnovna upotreba
Kao što mu ime govori, Excel INDIRECT se koristi za indirektno upućivanje na ćelije, opsege, druge listove ili radne knjige. Drugim riječima, INDIRECT funkcija vam omogućava da kreirate dinamičku ćeliju ili referencu raspona umjesto da ih čvrsto kodirate. Kao rezultat toga, možete promijeniti referencu unutar formule bez promjene same formule. Štaviše, ove indirektne reference se neće promijeniti kada se neki novi redovi ili kolone 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"))
Pošto Excel "A1:A5" percipira kao puki tekstualni niz, a ne kao referencu raspona, neće napraviti nikakve mijenja se kada umetnete ili izbrišete red(ove).
Korišćenje INDIRECT-a s drugim Excel funkcijama
Osim SUM, INDIRECT se često koristi s drugim Excel funkcijama kao što su RED, KOLONA, ADRESA, VLOOKUP, SUMIF, da spomenemo samo neke.
Primjer 1. INDIRECT i ROW funkcije
Prilično često, funkcija ROW se koristi u Excelu za vraćanje niza vrijednosti. Na primjer, možete koristiti sljedeću formulu niza (zapamtite da zahtijeva pritiskanje Ctrl + Shift + Enter ) da vratite prosjek 3 najmanja broja u rasponu A1:A10:
=AVERAGE(SMALL(A1:A10,ROW(1:3)))
Međutim, ako umetnete novi red u svoj radni list, bilo gdje između redova 1 i 3, raspon u funkciji ROW će se promijeniti u ROW(1:4) i formula će vratiti prosjek 4 najmanja broja umjesto 3 .
Da se to ne dogodi, ugniježdite INDIRECT u funkciju ROW i formula vašeg niza će uvijek ostati ispravna, bez obzira na to koliko je redova umetnuto ili obrisano:
=AVERAGE(SMALL(A1:A10,ROW(INDIRECT("1:3"))))
Evo još nekoliko primjera upotrebe INDIRECT i ROW u kombinaciji s funkcijom LARGE: Kako zbrojiti N najvećih brojeva u rasponu.
Primjer 2. INDIRECT i ADDRESS funkcije
Možete koristiti Excel INDIRECT zajedno sa funkcijom ADDRESS za dobivanjevrijednost u određenoj ćeliji u hodu.
Kao što se možda sjećate, funkcija ADDRESS se koristi u Excelu za dobivanje adrese ćelije prema brojevima reda i stupaca. Na primjer, formula =ADDRESS(1,3)
vraća niz $C$1 jer je C1 ćelija na sjecištu 1. reda i 3. stupca.
Da biste kreirali indirektnu referencu ćelije, jednostavno ugradite funkciju ADDRESS u INDIRECT formula poput ove:
=INDIRECT(ADDRESS(1,3))
Naravno, ova trivijalna formula samo demonstrira tehniku. A evo nekoliko primjera koji bi se mogli pokazati zaista korisnima:
- formula INDIREKTNE ADRESE - kako zamijeniti redove i stupce.
- VLOOKUP i INDIRECT - kako dinamički povući podatke iz različitih listova .
- INDIRECT sa INDEX / MATCH - kako dovesti formulu VLOOKUP osjetljivu na velika i mala slova do savršenstva.
- Excel INDIRECT i COUNTIF - kako koristiti funkciju COUNTIF na nesustavnom rasponu ili odabir ćelija.
Upotreba INDIRECT-a s provjerom valjanosti podataka u Excel-u
Možete koristiti Excel INDIRECT funkciju s provjerom valjanosti podataka za kreiranje kaskadnih padajućih lista koje prikazuju različite izbore ovisno o vrijednosti korisnik odabran u prvom padajućem izborniku.
Jednostavnu zavisnu padajuću listu je zaista 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šu prvu padajuću listu.
Da bude složenijeMeniji na 3 nivoa ili padajući meni sa unosima od više riječi, trebat će vam malo složenija INDIRECT formula sa ugniježđenom funkcijom SUBSTITUTE.
Za detaljne upute korak po korak o tome kako koristiti INDIRECT sa Validacija Excel podataka, pogledajte ovaj vodič: Kako napraviti zavisnu padajuću listu u Excelu.
Excel INDIRECT funkcija - moguće greške i problemi
Kao što je prikazano u gornjim primjerima, INDIRECT funkcija je od velike pomoći kada se radi sa referencama ćelija i opsega. Međutim, ne prihvataju ga svi korisnici Excela željno uglavnom zato što ekstenzivna upotreba INDIRECT u Excel formulama rezultira nedostatkom transparentnosti. Funkciju INDIRECT je teško pregledati jer ćelija na koju se odnosi nije krajnja lokacija vrijednosti korištene u formuli, što je zaista prilično zbunjujuće, posebno kada se radi s velikim složenim formulama.
Pored gore rečeno, kao i svaka druga Excel funkcija, INDIRECT može ispustiti grešku ako pogrešno koristite argumente funkcije. Evo liste najčešćih grešaka:
Excel INDIRECT #REF! error
Najčešće, INDIRECT funkcija vraća #REF! greška u tri slučaja:
- ref_text nije važeća referenca ćelije . Ako parametar ref_text u vašoj indirektnoj formuli nije važeća referenca ćelije, formula će rezultirati #REF! vrijednost greške. Da biste izbjegli moguće probleme, provjerite funkciju INDIRECTargumenti.
- Ograničenje raspona je premašeno . Ako se argument ref_text vaše indirektne formule odnosi na raspon ćelija izvan ograničenja reda od 1,048,576 ili ograničenja stupca od 16,384, također ćete dobiti #REF grešku u Excel 2007, 2010 i Excel 2013. Ranije verzije Excela zanemaruju prekoračenje ograničite i vratite neku vrijednost, iako često ne onu koju biste očekivali.
- Preporučeni list ili radna knjiga je zatvorena. Ako se vaša indirektna formula odnosi na drugu Excel radnu knjigu ili radni list, to druga radna sveska/tabela mora biti otvorena, inače INDIRECT vraća #REF! greška.
Excel INDIRECT #NAME? error
Ovo je najočitiji slučaj, koji implicira da postoji neka greška u nazivu funkcije, što nas vodi do sljedeće točke: )
Korišćenje INDIRECT funkcije u ne-engleskim lokalizacijama
Možda će vas zanimati da je engleski naziv INDIRECT funkcije preveden na 14 jezika, uključujući:
|
|
Ako ste zainteresovani da dobijete kompletnu listu, pogledajte ovu stranicu.
Uobičajeni problem sa ne-engleskim lokalizacijama jenije naziv funkcije INDIRECT, već različite Regionalne postavke za Razdjelnik liste . U standardnoj Windows konfiguraciji za Sjevernu Ameriku i neke druge zemlje, zadani Razdjelnik liste je zarez. Dok je u evropskim zemljama zarez rezerviran kao Decimalni simbol , a Razdjelnik liste je postavljen na tačku i zarez.
Kao rezultat toga, prilikom kopiranja formule između dva različitim Excel lokacijama, možete dobiti poruku o grešci " Pronašli smo problem s ovom formulom... " jer se Razdjelnik liste koji se koristi u formuli razlikuje od onoga što je postavljeno na vašem računalu. Ako naiđete na ovu grešku prilikom kopiranja neke INDIREKTNE formule iz ovog vodiča u vaš Excel, jednostavno zamijenite sve zareze (,) sa tačkom i zarezom (;) da biste je ispravili.
Da biste provjerili koji su separator liste i decimalni simbol postavite na vašem računaru, otvorite Kontrolna tabla i idite na Region i jezik > Dodatne postavke .
Nadajmo se da je ovaj vodič bacio svjetlo na korištenje INDIRECT-a u Excel-u. 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 najprije INDIRECT sintaksu Excela.Sintaksa INDIRECT funkcije
INDIRECT funkcija u Excelu vraća referencu ćelije iz tekstualnog niza. Ima dva argumenta, prvi je obavezan, a drugi opcioni:
INDIRECT(ref_text, [a1])ref_text - je referenca ćelije, ili referenca na ćeliju u oblik tekstualnog niza, ili imenovani raspon.
a1 - je logička vrijednost koja specificira koji tip reference je sadržan u argumentu ref_text:
- Ako je TRUE ili je izostavljen, ref_text se tumači kao referenca ćelije u stilu A1.
- Ako je FALSE, ref_text se tretira kao referenca R1C1.
Dok referentni tip R1C1 može biti korisno u određenim situacijama, verovatno ćete želeti da koristite poznate A1 reference većinu vremena. U svakom slučaju, skoro sve INDIRECT formule u ovom vodiču će koristiti A1 reference, tako da ćemo izostaviti drugi argument.
Osnovna upotreba INDIRECT funkcije
Da bismo ušli u uvid funkcije, napišimo jednostavna formula koja pokazuje kako koristite INDIRECT u Excelu.
Pretpostavimo da imate broj 3 u ćeliji A1, a tekst A1 u ćeliji C1. Sada stavite formulu =INDIRECT(C1)
u bilo koju drugu ćeliju i pogledajte što se događa:
- INDIREKTNA funkcija se odnosi na vrijednost u ćeliji C1, koja je A1.
- Funkcija se usmjerava na ćelija A1 u kojoj bira vrijednost koju treba vratiti,š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, budite strpljivi i pokazat ću vam još neke formule koje otkrivaju stvarnu moć Excel INDIRECT funkcije.
Kako koristiti INDIRECT u Excelu - primjeri formule
Kao što je pokazano u gornjem primjeru, možete koristiti funkciju Excel INDIRECT da stavite adresu jedne ćelije u drugu kao uobičajeni tekstualni niz i dobijete vrijednost 1. ćelije upućivanjem na 2. Međutim, taj trivijalni primjer nije ništa više od nagoveštaja o mogućnostima INDIRECT.
Kada radite sa stvarnim podacima, funkcija INDIRECT može pretvoriti bilo koji tekstualni niz u referencu uključujući vrlo složene nizove koje gradite koristeći vrijednosti druge ćelije i rezultate koje vraćaju druge Excel formule. Ali nemojmo stavljati kolica ispred konja, i proći kroz nekoliko indirektnih Excel formula, jednu po jednu.
Kreiranje indirektnih referenci iz vrijednosti ćelija
Kao što se sjećate, Excel INDIRECT funkcija omogućava za referentne stilove A1 i R1C1. Obično ne možete koristiti oba stila u jednom listu istovremeno, možete se prebacivati samo između dva referentna tipa putem File > Opcije > Formule > R1C1 potvrdni okvir . To je razlog zašto korisnici programa Excel rijetko razmišljaju o korištenju R1C1kao alternativni pristup referenciranju.
U INDIREKTnoj formuli, možete koristiti bilo koji tip reference na istom listu ako želite. Prije nego što krenemo dalje, možda ćete htjeti znati razliku između referentnih stilova A1 i R1C1.
A1 stil je uobičajeni referentni tip u Excelu koji se odnosi na stupac nakon kojeg slijedi red broj. Na primjer, B2 se odnosi na ćeliju na sjecištu stupca B i reda 2.
R1C1 stil je suprotan referentni tip - redovi praćeni kolonama, za što je potrebno neko vrijeme da se navikne do: ) Na primjer, R4C1 se odnosi na ćeliju A4 koja se nalazi u redu 4, koloni 1 na listu. Ako nijedan broj ne dolazi iza slova, onda se pozivate na isti red ili stupac.
A sada, da vidimo kako funkcija INDIRECT rukuje referencama A1 i R1C1:
Kao što vidite u na slici iznad, tri različite indirektne formule vraćaju isti rezultat. Jeste li već shvatili zašto? Kladim se da imate : )
- Formula u ćeliji D1:
=INDIRECT(C1)
Ova je najlakša. Formula se odnosi na ćeliju C1, dohvaća njenu vrijednost - tekstualni niz A2 , pretvara je u referencu ćelije, prelazi na ćeliju A2 i vraća njenu vrijednost, koja je 222.
- Formula u ćeliji D3:
=INDIRECT(C3,FALSE)
FALSE u 2. argumentu označava da se referentna vrijednost (C3) treba tretirati kao referenca ćelije R1C1, tj. broj reda iza kojeg slijedi broj stupca. stoga,naša INDIREKTNA formula tumači vrijednost u ćeliji C3 (R2C1) kao referencu na ćeliju na spoju reda 2 i stupca 1, a to je ćelija A2.
Kreiranje indirektnih referenci iz vrijednosti ćelije i teksta
Slično kao što smo kreirali reference iz vrijednosti ćelija, možete kombinirati tekstualni niz i referencu ćelije unutar vaše INDIRECT formule, povezane zajedno s operatorom konkatenacije (&) .
U sljedećem primjeru, formula: =INDIRECT("B"&C2) vraća vrijednost iz ćelije B2 na osnovu sljedećeg logičkog lanca:
INDIRECT funkcija spaja elemente u argumentu ref_text - tekst B i vrijednost u ćeliji C2 -> vrijednost u ćeliji C2 je broj 2, što čini referencu na ćeliju B2 -> formula ide u ćeliju B2 i vraća njenu vrijednost, a to je broj 10.
Upotrebom funkcije INDIRECT s imenovanim rasponima
Osim pravljenja referenci iz vrijednosti ćelije i teksta, možete dobiti Excel INDIREKTNA funkcija za upućivanje na imenovane raspone .
Pretpostavimo da imate sljedeće imenovane raspone u svom listu:
- Jabuke - B2:B6
- Banane - C2:C6
- Limuni - D2:D6
Da biste kreirali Excel dinamičku referencu na bilo koji od gore navedenih raspona, samo unesite njegovo ime u neku ćeliju, recimo G1, i uputite se na tu ćeliju iz indirektne 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 datom imenovanom rasponu ili pronalaženje maksimalne/minimalne vrijednosti unutar raspona:
-
=SUM(INDIRECT(G1))
-
=AVERAGE(INDIRECT(G1))
-
=MAX(INDIRECT(G1))
-
=MIN(INDIRECT(G1))
Sada kada ste dobili opću ideju o tome kako koristiti INDIRECT funkciju u Excelu, možemo eksperimentirati sa moćnijim formulama.
INDIRECT formula za dinamički upućivanje na drugi radni list
Korisnost funkcije Excel INDIRECT 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 i kako.
Pretpostavimo da imate neke važne podatke na listu 1 i želite te podatke izvući u list 2. Sljedeća snimka ekrana pokazuje kako se indirektna Excel formula može nositi s ovim zadatkom:
Razvojimo formulu koju vidite na snimku ekrana i razumijemo.
Kao što znate, uobičajeni način referenciranja drugog lista u Excelu je pisanje imena lista praćenog znakom uzvika i referencom ćelije/opsega, kao što je Ime lista!Raspon . Budući da naziv lista često sadrži razmak(e), bolje je da ga (ime, a ne razmak : ) stavite u jednostruke navodnike kako biste spriječili grešku, na primjer 'Moj list!'$A$1 .
A sada, sve što treba da uradite je da unesete naziv lista u jednu ćeliju, adresu ćelije u drugu, spojite ih u tekstualni niz i ubacite taj niz uINDIREKTNA funkcija. Zapamtite da u tekstualnom nizu morate svaki element osim adrese ćelije ili broja staviti u dvostruke navodnike i povezati sve elemente zajedno pomoću operatora konkatenacije (&).
S obzirom na gore navedeno, dobijamo sljedeći obrazac:
INDIRECT("'" & Ime lista & "'!" & Ćelija za povlačenje podataka iz )Vraćajući se na naš primjer, stavite ime lista u ćeliju A1 i upišite adrese ćelija u kolonu B, kao što je prikazano na slici iznad. Kao rezultat, dobijate sljedeću formulu:
INDIRECT("'" & $A$1 & "'!" & B1)
Također, obratite pažnju da ako kopirate formulu u više ćelija, morate zaključati referencu na ime lista pomoću apsolutne reference ćelije kao što je $A$1.
Napomene
- Ako je bilo koja od ćelija koje sadrže ime drugog lista i adresu ćelije (A1 i B1 u gornjoj formuli) prazna , vaša indirektna formula će vratiti grešku. Da biste to spriječili, možete umotati INDIRECT funkciju u funkciju IF:
IF(OR($A$1="",B1=""), "", INDIRECT("'" & $A$1 & "'!" & B1))
- Da bi INDIREKTNA formula koja se odnosi na drugi list ispravno radila, navedeni list bi trebao biti otvoren, inače formula će vratiti #REF grešku. Da biste izbjegli grešku, možete koristiti funkciju IFERROR, koja će prikazati prazan niz, bez obzira na grešku:
IFERROR(INDIRECT("'" & $A$1 & "'!" &B1), "")
Kreiranje Excel dinamičke reference na drugu radnu knjigu
Indirektna formula koja se odnosina drugu Excel radnu svesku zasniva se na istom pristupu kao referenca na drugu tabelu. Morate samo navesti da je naziv radne knjige dodatak nazivu lista i adresi ćelije.
Da bismo olakšali stvari, počnimo s upućivanjem na drugu knjigu na uobičajen način (apostrofi se dodaju u slučaju da vaša knjiga i/ili nazivi listova sadrže razmake):
'[Naziv_knjige.xlsx]Naziv_listova'!Raspon
Pod pretpostavkom da je naziv knjige u ćeliji A2, naziv lista je u B2, a adresa ćelije je u C2, dobijamo sljedeću formulu:
=INDIRECT("'[" & $A$2 & "]" & $B$2 & "'!" & C2)
Pošto ne želite da se ćelije koje sadrže nazive knjige i listova mijenjaju prilikom kopiranja formule u druge ćelije, zaključajte ih korištenjem apsolutnih referenci ćelija, $A$2 i $B$2, respektivno.
A sada, možete lako napisati vlastitu dinamičku referencu na drugu Excel radnu knjigu koristeći sljedeći obrazac:
=INDIRECT("'[" & Naziv knjige & " ]" & Naziv lista & "'!" & Adresa ćelije )Napomena. Radna sveska na koju se vaša formula odnosi treba uvijek biti otvorena, inače će funkcija INDIRECT pustiti #REF grešku. Kao i obično, funkcija IFERROR vam može pomoći da to izbjegnete:
=IFERROR(INDIRECT("'[" & A2 & "]" & $A$1 & "'!" & B1), "")
Korišćenje Excel INDIRECT funkcije za zaključavanje reference ćelije
Uobičajeno, Microsoft Excel mijenja reference ćelije kada umetnete nove ili brisanje postojećih redova ili kolona na listu. Da biste spriječili da se to dogodi, možetekoristite INDIRECT funkciju za rad sa referencama ćelija koje bi u svakom slučaju trebale ostati netaknute.
Da biste ilustrirali razliku, učinite sljedeće:
- Unesite bilo koju vrijednost u bilo koju ćeliju, recimo , broj 20 u ćeliji A1.
- Pozivajte se na A1 iz dvije druge ćelije na različite načine:
=A1
i=INDIRECT("A1")
- Umetnite novi red iznad reda 1.
Vidiš šta se dešava? Ć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 ste pod dojam da je INDIRECT funkcija više smetnja nego pomoć. U redu, hajde da probamo na drugi način.
Pretpostavimo da želite da zbrojite vrijednosti u ćelijama A2:A5, a to možete lako učiniti pomoću funkcije SUM:
=SUM(A2:A5)
Međutim, želite da formula ostane nepromijenjena, bez obzira na to koliko je redova izbrisano ili umetnuto. Najočiglednije 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 red, recimo u red 3, i... pronađite formulu pretvorenu u =SUM($A$2:$A$6)
.
Naravno, takva ljubaznost Microsoft Excela će dobro funkcionirati u većini slučajevima. Ipak, mogu postojati scenariji kada ne želite da se formula mijenja