Satura rādītājs
Šajā Excel INDIRECT pamācībā ir izskaidrota funkcijas sintakse, tās pamatlietojums un sniegti vairāki formulas piemēri, kas parāda, kā lietot INDIRECT programmā Excel.
Microsoft Excel programmā ir ļoti daudz funkciju, dažas no tām ir viegli saprotamas, citas prasa garu mācīšanās gaitu, un pirmās tiek izmantotas biežāk nekā otrās. Un tomēr Excel INDIRECT ir viena no tām. Šī Excel funkcija neveic nekādus aprēķinus, kā arī neizvērtē nekādus nosacījumus vai loģiskus testus.
Tātad, kas tad ir funkcija INDIRECT programmā Excel un kam to izmantot? Tas ir ļoti labs jautājums, un cerams, ka pēc dažām minūtēm, kad būsiet pabeidzis lasīt šo pamācību, saņemsiet izsmeļošu atbildi.
Excel INDIRECT funkcija - sintakse un galvenie lietojumi
Kā liecina tās nosaukums, Excel INDIRECT tiek izmantots, lai netieši norādītu šūnas, diapazonus, citas lapas vai darbgrāmatas. Citiem vārdiem sakot, funkcija INDIRECT ļauj jums izveidot dinamisku šūnu vai diapazonu atsauci, nevis kodēt tos ar cietiem kodiem. Rezultātā varat mainīt atsauci formulā, nemainot pašu formulu. Turklāt šīs netiešās atsauces nemainīsies, ja tiks pievienotas jaunas rindas vai kolonnas.tiek ievietotas darblapā vai dzēšot esošās darblapas.
Tomēr, lai varētu uzrakstīt formulu, pat visvienkāršāko formulu, ir jāzina funkcijas argumenti, vai ne? Tātad, vispirms apskatīsim Excel INDIRECT sintaksi.
INDIRECT funkcijas sintakse
Funkcija INDIRECT programmā Excel atgriež atsauci uz šūnu no teksta virknes. Tai ir divi argumenti, pirmais ir obligāts, bet otrais nav obligāts:
INDIRECT(ref_text, [a1])ref_text - ir atsauce uz šūnu vai atsauce uz šūnu teksta virknes veidā, vai arī nosaukts diapazons.
a1 - ir loģiska vērtība, kas norāda, kāda tipa atsauce ir ietverta ref_text argumentā:
- Ja TRUE vai izlaists, ref_text tiek interpretēts kā A1 stila šūnas atsauce.
- Ja FALSE, ref_text tiek uzskatīts par R1C1 atsauci.
Lai gan R1C1 atsauču tips var būt noderīgs noteiktās situācijās, jūs, iespējams, lielāko daļu laika vēlēsieties izmantot pazīstamās A1 atsauces. Katrā ziņā gandrīz visās INDIRECT formulās šajā pamācībā tiks izmantotas A1 atsauces, tāpēc mēs izlaidīsim otro argumentu.
Funkcijas INDIRECT pamatlietošana
Lai iedziļinātos funkcijas izpratnē, uzrakstīsim vienkāršu formulu, kas demonstrē, kā programmā Excel izmantot INDIRECT.
Pieņemsim, ka šūnā A1 ir skaitlis 3 un teksts A1 šūnā C1. Tagad ievietojiet formulu =INDIRECT(C1)
jebkurā citā šūnā un skatieties, kas notiks:
- Funkcija INDIRECT attiecas uz vērtību šūnā C1, kas ir A1.
- Funkcija tiek novirzīta uz šūnu A1, kur tā izvēlas atgriežamo vērtību, kas ir skaitlis 3.
Tātad šajā piemērā funkcija INDIRECT patiesībā veic šādu darbību. teksta virknes pārvēršana šūnas atsaucē .
Ja jums šķiet, ka tam joprojām ir ļoti maza praktiska jēga, lūdzu, pacietietiet, un es jums parādīšu vēl dažas formulas, kas atklāj Excel INDIRECT funkcijas patieso spēku.
Kā lietot INDIRECT programmā Excel - formulu piemēri
Kā parādīts iepriekš minētajā piemērā, varat izmantot Excel funkciju INDIRECT, lai vienas šūnas adresi ievietotu citā šūnā kā parastu teksta virkni un iegūtu 1. šūnas vērtību, atsaucoties uz 2. Tomēr šis triviālais piemērs ir tikai mājiens par INDIRECT iespējām.
Strādājot ar reāliem datiem, ar funkciju INDIRECT jebkuru teksta virkni var pārvērst par atsauci, tostarp ļoti sarežģītas virknes, ko izveidojat, izmantojot citu šūnu vērtības un citu Excel formulu atgrieztos rezultātus. Taču neliksim ratiņus priekšā zirgam un pa reizei izskriesim vairākas Excel netiešās formulas.
Netiešo atsauču izveide no šūnu vērtībām
Kā atceraties, Excel INDIRECT funkcija ļauj izmantot A1 un R1C1 atsauces stilu. Parasti vienā lapā nevarat vienlaikus izmantot abus stilus, varat tikai pārslēgties starp abiem atsauces veidiem, izmantojot Failu> Iespējas> Formulas > R1C1 izvēles rūtiņa . Tas ir iemesls, kāpēc Excel lietotāji reti apsver iespēju izmantot R1C1 kā alternatīvu atsauces pieeju.
Ja vēlaties, INDIRECT formulā vienā lapā varat izmantot abus atsauces tipus. Pirms mēs virzāmies tālāk, iespējams, vēlaties zināt, kāda ir atšķirība starp A1 un R1C1 atsauces stiliem.
A1 stils ir parastais atsauces veids programmā Excel, kas attiecas uz kolonnu, kurai seko rindas numurs. Piemēram, B2 attiecas uz šūnu B kolonnas un 2. rindas krustpunktā.
R1C1 stils ir pretējs atsauču veids - rindas, kam seko kolonnas, pie kā ir jāpierod : ) Piemēram, R4C1 attiecas uz A4 šūnu, kas atrodas lapas 4. rindā, 1. kolonnā. Ja aiz burta nav cipara, tad jūs atsaucaties uz to pašu rindu vai kolonnu.
Tagad apskatīsim, kā funkcija INDIRECT apstrādā A1 un R1C1 atsauces:
Kā redzat ekrānšāviņas attēlā, trīs dažādas netiešās formulas dod vienu un to pašu rezultātu. Vai jau esat noskaidrojuši, kāpēc? Varu derēt, ka esat : )
- Formula šūnā D1:
=INDIRECT(C1)
Šī ir visvienkāršākā formula. Formula attiecas uz šūnu C1, iegūst tās vērtību - teksta virkni. A2 , pārvērš to šūnas atsaucē, pāriet uz šūnu A2 un atgriež tās vērtību, kas ir 222.
- Formula šūnā D3:
=INDIRECT(C3,FALSE)
FALSE 2. argumentā norāda, ka norādītā vērtība (C3) jāuzskata par atsauci uz šūnu R1C1, t. i., rindas numuru, kam seko kolonnas numurs. Tāpēc mūsu INDIRECT formula interpretē vērtību šūnā C3 (R2C1) kā atsauci uz šūnu 2. rindas un 1. kolonnas savienojumā, kas ir šūna A2.
Netiešo atsauču izveide no šūnu vērtībām un teksta
Līdzīgi kā mēs izveidojām atsauces no šūnu vērtībām, varat apvienot teksta virkne un šūnas atsauce INDIRECT formulā, kas savienota kopā ar konkatenācijas operatoru (&).
Šajā piemērā formula: =INDIRECT("B"&C2) atgriež vērtību no šūnas B2, pamatojoties uz šādu loģisko ķēdi:
Funkcija INDIRECT apvieno ref_text argumenta elementus - tekstu. B un vērtību šūnā C2 -> vērtība šūnā C2 ir skaitlis 2, kas veido atsauci uz šūnu B2 -> formula dodas uz šūnu B2 un atgriež tās vērtību, kas ir skaitlis 10.
INDIRECT funkcijas izmantošana ar nosauktiem diapazoniem
Papildus atsauču veidošanai no šūnu un teksta vērtībām varat izmantot Excel funkciju INDIRECT, lai atsauktos uz nosauktie diapazoni .
Pieņemsim, ka jūsu lapā ir šādi nosaukti diapazoni:
- Āboli - B2:B6
- Banāni - C2:C6
- Citroni - D2:D6
Lai izveidotu Excel dinamisku atsauci uz jebkuru no iepriekš nosauktajiem diapazoniem, vienkārši ievadiet tā nosaukumu kādā šūnā, piemēram, G1, un atsaucieties uz šo šūnu ar netiešo formulu. =INDIRECT(G1)
.
Tagad varat spert vēl vienu soli tālāk un iestrādāt šo INDIRECT formulu citās Excel funkcijās, lai aprēķinātu vērtību summu un vidējo vērtību summu noteiktā nosauktā diapazonā vai atrastu maksimālo / minimālo vērtību diapazonā:
=SUM(INDIRECT(G1))
= VIDĒJAIS(NETIEŠAIS(G1))
=MAX(INDIRECT(G1))
=MIN(INDIRECT(G1))
Tagad, kad esat ieguvuši vispārīgu priekšstatu par to, kā lietot funkciju INDIRECT programmā Excel, varam eksperimentēt ar jaudīgākām formulām.
INDIRECT formula dinamiskai atsaucei uz citu darblapu
Excel funkcijas INDIRECT lietderība neaprobežojas tikai ar "dinamisko" šūnu atsauču veidošanu. To var izmantot arī, lai "lidojumā" atsauktos uz šūnām citās darblapās, un šeit ir aprakstīts, kā to darīt.
Pieņemsim, ka jums ir daži svarīgi dati 1. lapā, un jūs vēlaties šos datus ievietot 2. lapā. Nākamajā ekrānšāviņš parāda, kā Excel netiešā formula var veikt šo uzdevumu:
Izdauzīsim ekrānšāviņā redzamo formulu un sapratīsim to.
Kā zināms, parastais veids, kā programmā Excel atsaukties uz citu lapu, ir rakstīt lapas nosaukumu, kam seko izsaukuma zīme un atsauce uz šūnas/apjoma numuru, piemēram. Loksnes nosaukums!Diapazons Tā kā lapas nosaukumā bieži vien ir atstarpe(-as), labāk to (nosaukumu, nevis atstarpi : ) ietvert vienpēdiņās, lai novērstu kļūdu, piemēram. "Mana lapa!"$A$1 .
Tagad jums atliek tikai vienā šūnā ievadīt lapas nosaukumu, citā - šūnas adresi, savienot tos teksta virknē un ievadīt šo virkni funkcijai INDIRECT. Atcerieties, ka teksta virknē katrs elements, kas nav šūnas adrese vai skaitlis, ir jāieraksta divās pēdiņās un visi elementi jāsavieno, izmantojot savienošanas operatoru (&).
Ņemot vērā iepriekš minēto, iegūstam šādu modeli:
INDIRECT("'" & Lapas nosaukums & "'!" & Šūna, no kuras iegūt datus )Atgriežoties pie mūsu piemēra, lapas nosaukumu ievietojiet A1 šūnā un ievadiet šūnu adreses B slejā, kā parādīts ekrānšāviņas attēlā. Rezultātā iegūsiet šādu formulu:
INDIRECT("'" & $A$1 & "'!" & B1)
Tāpat pievērsiet uzmanību tam, ka, ja kopējat formulu vairākās šūnās, atsauce uz lapas nosaukumu ir jānofiksē, izmantojot absolūtās šūnu atsauces, piemēram, $A$1.
Piezīmes
- Ja kāda no šūnām, kas satur 2. lapas nosaukumu un šūnas adresi (A1 un B1 iepriekš minētajā formulā), ir tukša, jūsu netiešā formula atgriezīs kļūdu. Lai to novērstu, varat ietvert INDIRECT funkciju funkcijā IF:
IF(OR($A$1="",B1=""), "", INDIRECT("'" & $A$1 & "'!" & B1)))
- Lai formula INDIRECT, kas atsaucas uz citu lapu, darbotos pareizi, atsaucīgajai lapai jābūt atvērtai, pretējā gadījumā formula atgriezīs #REF kļūdu. Lai izvairītos no kļūdas, varat izmantot funkciju IFERROR, kas parādīs tukšu virkni, lai arī kāda kļūda rastos:
IFERROR(INDIRECT("'" & $A$1 & "'!" &B1), ""), "")
Excel dinamiskas atsauces uz citu darbgrāmatu izveide
Netiešās formulas, kas atsaucas uz citu Excel darbgrāmatu, pamatā ir tāda pati pieeja kā atsauce uz citu izklājlapu. Papildus lapas nosaukumam un šūnu adresei ir jānorāda darbgrāmatas nosaukums.
Lai atvieglotu darbu, sāksim ar atsauces uz citu grāmatu veidošanu parastajā veidā (apostrofus pievienojam, ja jūsu grāmatu un/vai lapu nosaukumos ir atstarpes):
'[Book_name.xlsx]Sheet_name'!Range
Pieņemot, ka grāmatas nosaukums ir A2 šūnā, lapas nosaukums ir B2 šūnā un šūnas adrese ir C2 šūnā, iegūstam šādu formulu:
=INDIRECT("'[" & $A$2 & "]" & $B$2 & "'!" & C2)
Tā kā nevēlaties, lai, kopējot formulu uz citām šūnām, mainītos šūnas, kurās ir grāmatas un lapas nosaukumi, tās bloķējiet, izmantojot absolūtās šūnu atsauces, attiecīgi $A$2 un $B$2.
Tagad varat viegli uzrakstīt savu dinamisko atsauci uz citu Excel darbgrāmatu, izmantojot šādu modeli:
=INDIRECT("'[" & Grāmatas nosaukums & "]" & Loksnes nosaukums & "'!" & Šūnu adrese )Piezīme. Darba burtnīcai, uz kuru attiecas jūsu formula, vienmēr jābūt atvērtai, pretējā gadījumā funkcija INDIRECT radīs kļūdu #REF. Kā parasti, no tās izvairīties var palīdzēt funkcija IFERROR:
=IFERROR(INDIRECT("'[" & A2 & "]" & $A$1 & "'!" & B1), ""), "")
Excel INDIRECT funkcijas izmantošana, lai bloķētu šūnu atsauci
Parasti Microsoft Excel izmaina šūnu atsauces, kad lapā ievietojat jaunas rindas vai kolonnas vai dzēšat esošās. Lai to novērstu, varat izmantot funkciju INDIRECT, lai strādātu ar šūnu atsaucēm, kurām jebkurā gadījumā vajadzētu palikt neskartām.
Lai ilustrētu atšķirību, lūdzu, izpildiet šādu uzdevumu:
- Ievadiet jebkuru vērtību jebkurā šūnā, piemēram, skaitli 20 šūnā A1.
- Dažādos veidos atsaukties uz A1 no divām citām šūnām:
=A1
un=INDIRECT("A1")
- Ievietojiet jaunu rindu virs 1. rindas.
Redziet, kas notiek? Šūna ar vienāds ar Loģiskais operators joprojām atgriež 20, jo tā formula automātiski tika mainīta uz =A2. Šūna ar INDIRECT formulu tagad atgriež 0, jo formula netika mainīta, kad tika ievietota jauna rinda, un tā joprojām attiecas uz šūnu A1, kas pašlaik ir tukša:
Pēc šīs demonstrācijas jums var rasties iespaids, ka funkcija INDIRECT ir vairāk apgrūtinoša nekā noderīga. Labi, pamēģināsim to darīt citādi.
Pieņemsim, ka vēlaties saskaitīt A2:A5 šūnās esošās vērtības, un to varat viegli izdarīt, izmantojot funkciju SUM:
=SUM(A2:A5)
Tomēr jūs vēlaties, lai formula nemainītos neatkarīgi no tā, cik daudz rindu tiek dzēstas vai ievietotas. Acīmredzamākais risinājums - absolūto atsauču izmantošana - nepalīdzēs. Lai pārliecinātos, ievadiet formulu. =SUM($A$2:$A$5)
kādā šūnā, ievietojiet jaunu rindu, piemēram, 3. rindā, un... atrodiet formulu, kas pārveidota uz =SUM($A$2:$A$6)
.
Protams, vairumā gadījumu šāda Microsoft Excel pieklājība darbosies labi. Tomēr var būt scenāriji, kad nevēlaties, lai formula tiktu automātiski mainīta. Risinājums ir izmantot funkciju INDIRECT, piemēram, šādi:
=SUM(INDIRECT("A2:A5"))
Tā kā Excel uztver "A1:A5" kā vienkāršu teksta virkni, nevis kā atsauci uz diapazonu, tas neveic nekādas izmaiņas, kad ievietojat vai dzēšat rindu(-es).
INDIRECT izmantošana kopā ar citām Excel funkcijām
Papildus SUM, INDIRECT bieži tiek izmantots kopā ar citām Excel funkcijām, piemēram, ROW, COLUMN, ADDRESS, VLOOKUP, SUMIF un citām.
Piemērs 1. INDIRECT un ROW funkcijas
Bieži vien funkciju ROW programmā Excel izmanto, lai atgrieztu vērtību masīvu. Piemēram, lai atgrieztu trīs mazāko skaitļu vidējo vērtību diapazonā A1:A10, varat izmantot šādu masīva formulu (atcerieties, ka ir jānospiež Ctrl + Shift + Enter ):
= VIDĒJAIS(SMALL(A1:A10,RINDA(1:3)))
Tomēr, ja darblapā ievietosiet jaunu rindu jebkurā vietā starp 1. un 3. rindu, ROW funkcijas diapazons tiks mainīts uz ROW(1:4), un formula atgriezīs 4 mazāko skaitļu vidējo vērtību, nevis 3.
Lai to novērstu, ROW funkcijā ievietojiet INDIRECT, un jūsu masīva formula vienmēr būs pareiza neatkarīgi no tā, cik daudz rindu tiks ievietotas vai dzēstas:
= VIDĒJAIS(SMALL(A1:A10,RINDA(INDIRECT("1:3"))))
Lūk, vēl pāris piemēri, kā izmantot INDIRECT un ROW kopā ar funkciju LARGE: Kā summēt N lielākos skaitļus diapazonā.
Piemērs 2. INDIRECT un ADDRESS funkcijas
Varat izmantot Excel INDIRECT kopā ar funkciju ADDRESS, lai uzreiz iegūtu vērtību noteiktā šūnā.
Kā jūs, iespējams, atceraties, funkciju ADRESE programmā Excel izmanto, lai iegūtu šūnas adresi pēc rindas un kolonnas numura. Piemēram, formula =ADDRESS(1,3)
atgriež virkni $C$1, jo C1 ir šūna 1. rindas un 3. slejas krustpunktā.
Lai izveidotu netiešo atsauci uz šūnām, vienkārši iestrādājiet funkciju ADDRESS formulā INDIRECT, piemēram, šādi:
=INDIRECT(ADRESE(1,3))
Protams, šī triviālā formula tikai demonstrē šo paņēmienu. Un šeit ir daži piemēri, kas var izrādīties patiešām noderīgi:
- INDIRECT ADDRESS formula - kā pārslēgt rindas un kolonnas.
- VLOOKUP un INDIRECT - kā dinamiski iegūt datus no dažādām lapām.
- INDIRECT ar INDEX / MATCH - kā līdz ideālam līmenim uzlabot VLOOKUP formulu, kurā ir jūtīgi burti.
- Excel INDIRECT un COUNTIF - kā izmantot funkciju COUNTIF nesaistītā diapazonā vai šūnu atlasē.
INDIRECT izmantošana ar datu validāciju programmā Excel
Varat izmantot Excel funkciju INDIRECT kopā ar datu validāciju, lai izveidotu kaskādes izlaižamos sarakstus, kuros tiek parādītas dažādas izvēles atkarībā no tā, kādu vērtību lietotājs izvēlējies pirmajā izlaižamajā sarakstā.
Vienkāršu atkarīgu nolaižamo sarakstu ir ļoti viegli izveidot. Ir nepieciešami tikai daži nosaukti diapazoni, lai saglabātu nolaižamā saraksta vienumus, un vienkāršs =INDIRECT(A2)
formula, kur A2 ir šūna, kurā ir parādīts pirmais nolaižamais saraksts.
Lai izveidotu sarežģītākas trīs līmeņu izvēlnes vai izlaižamās izvēlnes ar vairāku vārdu ierakstiem, jums būs nepieciešama nedaudz sarežģītāka INDIRECT formula ar ieliktu SUBSTITUTE funkciju.
Lai detalizēti soli pa solim uzzinātu, kā lietot INDIRECT ar Excel datu validāciju, skatiet šo pamācību: Kā izveidot atkarīgu izlaižamo sarakstu programmā Excel.
Excel INDIRECT funkcija - iespējamās kļūdas un problēmas
Kā parādīts iepriekš minētajos piemēros, funkcija INDIRECT ir diezgan noderīga, strādājot ar atsaucēm uz šūnām un diapazoniem. Tomēr ne visi Excel lietotāji to labprāt izmanto, galvenokārt tāpēc, ka plaša INDIRECT izmantošana Excel formulās rada nepārredzamību. Funkciju INDIRECT ir grūti pārskatīt, jo šūna, uz kuru tā atsaucas, nav formulā izmantotās vērtības galīgā atrašanās vieta,kas patiešām ir diezgan mulsinoši, jo īpaši, strādājot ar lielām un sarežģītām formulām.
Papildus iepriekš minētajam, tāpat kā jebkura cita Excel funkcija, arī INDIRECT var izraisīt kļūdu, ja nepareizi izmantojat funkcijas argumentus. Šeit ir uzskaitītas tipiskākās kļūdas:
Excel INDIRECT #REF! kļūda
Visbiežāk funkcija INDIRECT trīs gadījumos atgriež #REF! kļūdu:
- ref_text nav derīga šūnas atsauce . Ja jūsu netiešās formulas parametrs ref_text nav derīga šūnas atsauce, formulas rezultātā tiks piešķirta #REF! kļūdas vērtība. Lai izvairītos no iespējamām problēmām, pārbaudiet funkcijas INDIRECT argumentus.
- Pārsniegts diapazona ierobežojums Ja netiešās formulas ref_text arguments attiecas uz šūnu diapazonu, kas pārsniedz 1 048 576 rindu limitu vai 16 384 kolonnu limitu, arī programmā Excel 2007, 2010 un Excel 2013 tiks parādīta kļūda #REF. Agrākās Excel versijas ignorē pārsniegto limitu un atgriež kādu vērtību, lai gan bieži vien tā nav gaidītā vērtība.
- Minētā lapa vai darbgrāmata ir slēgta. Ja netiešā formula attiecas uz citu Excel darbgrāmatu vai darblapu, šai citai darbgrāmatai/izklājlapai jābūt atvērtai, pretējā gadījumā INDIRECT atgriež #REF! kļūdu.
Excel INDIRECT #NAME? kļūda
Tas ir visredzamākais gadījums, kas nozīmē, ka funkcijas nosaukumā ir kāda kļūda, kas noved mūs pie nākamā jautājuma : )
Funkcijas INDIRECT lietošana vietnēs, kas nav angļu valodā
Jums varētu būt interesanti uzzināt, ka funkcijas INDIRECT nosaukums angļu valodā ir tulkots 14 valodās, tostarp:
|
|
Ja vēlaties saņemt pilnu sarakstu, lūdzu, apmeklējiet šo lapu.
Bieži sastopama problēma ar lokalizācijām, kas nav angļu valodā, ir nevis funkcijas INDIRECT nosaukums, bet gan atšķirīgs nosaukums. Reģionālie iestatījumi par Saraksta atdalītājs . Ziemeļamerikai un dažām citām valstīm paredzētajā Windows standarta konfigurācijā noklusējuma Saraksta atdalītājs ir komats. Eiropas valstīs komats ir rezervēts kā komats. Decimālskaitļa simbols un Saraksta atdalītājs ir iestatīts uz semikolu.
Rezultātā, kopējot formulu starp divām dažādām Excel vietējām versijām, var parādīties kļūdas paziņojums " Mēs atklājām problēmu ar šo formulu... ", jo Saraksta atdalītājs Ja, kopējot kādu INDIRECT formulu no šīs pamācības savā Excel programmā, sastopaties ar šo kļūdu, vienkārši nomainiet visus komatus (,) ar semikoloniem (;), lai to novērstu.
Lai pārbaudītu, kurš saraksta atdalītājs un decimālzīmīte ir iestatīta jūsu datorā, atveriet programmu Vadības panelis un dodieties uz Reģions un valoda> Papildu iestatījumi .
Cerams, ka šī pamācība ir nedaudz izskaidrojusi INDIRECT lietošanu programmā Excel. Tagad, kad esat iepazinušies ar tās stiprajām pusēm un ierobežojumiem, ir pienācis laiks to izmēģināt un pārliecināties, kā funkcija INDIRECT var vienkāršot jūsu Excel uzdevumus. Paldies, ka izlasījāt!