Sisukord
See Exceli INDIRECTi õpetus selgitab funktsiooni süntaksit, põhilisi kasutusvõimalusi ja pakub mitmeid valemite näiteid, mis näitavad, kuidas kasutada INDIRECTi Excelis.
Microsoft Excelis on väga palju funktsioone, millest mõned on kergesti mõistetavad, teised nõuavad pikka õppimist ja esimesi kasutatakse sagedamini kui viimaseid. Ja ometi on Excel INDIRECT üks neist. See Exceli funktsioon ei tee mingeid arvutusi ega hinda mingeid tingimusi ega loogilisi teste.
Mis on siis funktsioon INDIRECT Excelis ja milleks ma seda kasutan? See on väga hea küsimus ja loodetavasti saate sellele põhjaliku vastuse mõne minuti jooksul, kui olete selle õpetuse lugemise lõpetanud.
Exceli funktsioon INDIRECT - süntaks ja põhilised kasutusalad
Nagu nimigi ütleb, kasutatakse Exceli INDIRECT funktsiooni selleks, et kaudselt viidata lahtritele, vahemikele, teistele lehtedele või töövihikutele. Teisisõnu, funktsioon INDIRECT võimaldab teil luua dünaamilise lahtri või vahemiku viite, selle asemel et neid kõvasti kodeerida. Selle tulemusena saate muuta viidet valemi sees, muutmata valemit ennast. Lisaks ei muutu need kaudsed viited, kui mõni uus rida või veerg muutub.lisatakse töölehele või kui kustutate olemasolevaid.
Kõik see võib olla lihtsamini arusaadav näite põhjal. Kuid selleks, et kirjutada valemit, isegi kõige lihtsamat, on vaja teada funktsiooni argumente, eks ole? Niisiis, vaatame kõigepealt põgusalt Exceli INDIRECT süntaksit.
Funktsiooni INDIRECT süntaks
Exceli funktsioon INDIRECT tagastab tekstistringist lahtriviite. Sellel on kaks argumenti, millest esimene on kohustuslik ja teine vabatahtlik:
INDIRECT(ref_text, [a1])ref_text - on lahtri viide või viide lahtrisse tekstistringi või nimelise vahemiku kujul.
a1 - on loogiline väärtus, mis määrab, millist tüüpi viide sisaldub ref_text argumendis:
- Kui TRUE või jäetakse välja, tõlgendatakse ref_text kui A1-stiilis lahtriviide.
- Kui FALSE, käsitletakse ref_text'i kui R1C1-viidet.
Kuigi viitetüüp R1C1 võib teatud olukordades olla kasulik, soovid sa tõenäoliselt enamasti kasutada tuttavaid A1 viiteid. Igatahes kasutavad peaaegu kõik INDIRECT-valemid selles õpetuses A1 viiteid, seega jätame teise argumendi ära.
Funktsiooni INDIRECT põhikasutus
Funktsiooni sisevaatluseks kirjutame lihtsa valemi, mis näitab, kuidas kasutada INDIRECTi Excelis.
Oletame, et teil on lahtris A1 number 3 ja teksti A1 lahtrisse C1. Nüüd pane valem =INDIRECT(C1)
mõnes teises lahtris ja vaata, mis juhtub:
- Funktsioon INDIRECT viitab lahtris C1 olevale väärtusele, mis on A1.
- Funktsioon suunatakse lahtrisse A1, kus see valib tagastatava väärtuse, milleks on number 3.
Niisiis, mida funktsioon INDIRECT selles näites tegelikult teeb, on järgmine teksti stringi teisendamine lahtriviideks .
Kui te arvate, et sellel on ikka veel väga vähe praktilist mõtet, siis palun kannatage minuga ja ma näitan teile veel mõned valemid, mis paljastavad Exceli funktsiooni INDIRECT tegeliku võimsuse.
Kuidas kasutada INDIRECTi Excelis - valemite näited
Nagu ülaltoodud näites näidatud, saate Exceli funktsiooni INDIRECT kasutada ühe lahtri aadressi sisestamiseks teise lahtrisse tavalise tekstijoonena ja saada 1. lahtri väärtuse, viidates 2. lahtrisse. See triviaalne näide ei ole siiski rohkem kui vihje INDIRECTi võimalustele.
Reaalsete andmetega töötades saab funktsioon INDIRECT muuta mis tahes tekstisõnumi viiteks, sealhulgas väga keerulised stringid, mida te ehitate teiste lahtrite väärtuste ja teiste Exceli valemite poolt tagastatud tulemuste abil. Kuid ärme pane vankrit hobuse ette ja käime läbi mitu Exceli kaudset valemit, ühekaupa.
Kaudsete viidete loomine lahtri väärtustest
Nagu mäletate, võimaldab Exceli funktsioon INDIRECT kasutada viitamisstiile A1 ja R1C1. Tavaliselt ei saa korraga ühel lehel kasutada mõlemat stiili, vaid kahe viitamistüübi vahel saab vahetada ainult järgmiselt. Fail> Valikud> Valemid > R1C1 märkeruut See on põhjus, miks Exceli kasutajad harva kaaluvad R1C1 kasutamist alternatiivse viitamismeetodina.
INDIRECT-valemis võite soovi korral kasutada mõlemat viitetüüpi samal lehel. Enne kui liigume edasi, võiksite teada, mis vahe on A1 ja R1C1 viitamisstiilidel.
A1 stiilis on Exceli tavaline viitetüüp, mis viitab veerule, millele järgneb rea number. Näiteks B2 viitab lahtrisse, mis asub veeru B ja rea 2 ristumiskohas.
R1C1 stiil on vastupidine viitetüüp - read, millele järgnevad veerud, millega peab natuke harjuma : ) Näiteks R4C1 viitab lahtrisse A4, mis asub lehe reas 4, veerus 1. Kui tähe järel ei tule numbrit, siis viidatakse samale reale või veerule.
Ja nüüd vaatame, kuidas funktsioon INDIRECT käsitleb A1 ja R1C1 viiteid:
Nagu näete ülaltoodud ekraanipildil, annavad kolm erinevat kaudset valemit sama tulemuse. Kas olete juba aru saanud, miks? Vean kihla, et olete : )
- Valem lahtris D1:
=INDIRECT(C1)
See on kõige lihtsam. Valem viitab lahtrisse C1, võtab selle väärtuse - tekstirida A2 , teisendab selle lahtriviideks, läheb lahtrisse A2 ja tagastab selle väärtuse, mis on 222.
- Valem lahtris D3:
=INDIRECT(C3,FALSE)
FALSE teises argumendis näitab, et viidatud väärtust (C3) tuleks käsitleda nagu R1C1 lahtri viidet, st rea numbrit, millele järgneb veeru number. Seega tõlgendab meie valem INDIRECT lahtri C3 (R2C1) väärtust kui viidet lahtrile, mis asub rea 2 ja veeru 1 ühenduskohas, mis on lahter A2.
Kaudsete viidete loomine lahtri väärtustest ja tekstist
Sarnaselt sellega, kuidas me lõime viited lahtri väärtustest, saate kombineerida tekstistring ja viide lahtrisse teie INDIRECT-valemi sees, mis on seotud liitmisoperaatoriga (&).
Järgmises näites tagastab valem: =INDIRECT("B"&C2) lahtri B2 väärtuse järgmise loogilise ahela alusel:
Funktsioon INDIRECT ühendab elemendid argumendis ref_text - text B ja väärtus lahtris C2 -> väärtus lahtris C2 on number 2, mis teeb viite lahtrisse B2 -> valem läheb lahtrisse B2 ja tagastab selle väärtuse, mis on number 10.
Funktsiooni INDIRECT kasutamine nimetatud vahemike puhul
Peale lahtri- ja tekstiväärtustest viidete tegemise saate Exceli funktsiooni INDIRECT kasutada viitamiseks nimetatud vahemikud .
Oletame, et teil on oma lehel järgmised nimetatud vahemikud:
- Õunad - B2:B6
- Banaanid - C2:C6
- Sidrunid - D2:D6
Et luua Exceli dünaamiline viide mõnele eespool nimetatud vahemikule, sisestage lihtsalt selle nimi mõnda lahtrisse, näiteks G1, ja viidake sellele lahtrisse kaudse valemi abil. =INDIRECT(G1)
.
Ja nüüd saate astuda sammu edasi ja integreerida selle INDIRECT-valemi teistesse Exceli funktsioonidesse, et arvutada antud nimivahemikus olevate väärtuste summa ja keskmine või leida maksimaalne / minimaalne väärtus rajoone piires:
=SUMMA(KAUDNE(G1))
=KESKMINE(KAUDNE(G1))
=MAX(INDIRECT(G1))
=MIN(KAUDNE(G1))
Nüüd, kui teil on üldine arusaam, kuidas kasutada funktsiooni INDIRECT Excelis, saame katsetada võimsamaid valemeid.
INDIRECT valem, et dünaamiliselt viidata teisele töölehele
Exceli funktsiooni INDIRECT kasulikkus ei piirdu ainult "dünaamiliste" lahtriviidete loomisega. Saate seda kasutada ka selleks, et viidata teiste töölehtede lahtritele "lennult", ja siin on näha, kuidas.
Oletame, et teil on mõned olulised andmed lehel 1 ja te soovite neid andmeid tõmmata lehel 2. Järgmine ekraanipilt näitab, kuidas Exceli kaudne valem saab selle ülesandega hakkama saada:
Võtame ekraanipildil oleva valemi lahti ja mõistame seda.
Nagu te teate, on tavapärane viis Excelis teisele lehele viitamiseks kirjutada lehe nimi, millele järgneb hüüumärk ja lahtri/vahemiku viide, näiteks järgmiselt. SheetName!Range Kuna lehe nimi sisaldab sageli tühikut (tühikuid), siis tuleks see (nimi, mitte tühik : ) vea vältimiseks sulgeda lihtsate jutumärkide sisse, näiteks "Minu leht!"$A$1 .
Ja nüüd on teil vaja vaid sisestada lehe nimi ühte lahtrisse, lahtri aadress teise lahtrisse, liita need teksti stringiks ja sisestada see string funktsioonile INDIRECT. Pidage meeles, et teksti stringis tuleb kõik muud elemendid peale lahtri aadressi või numbri sulgeda topeltlause ja siduda kõik elemendid omavahel, kasutades liitmisoperaatorit (&).
Eespool öeldut arvestades saame järgmise mustri:
INDIRECT("'" & Lehtede nimi & "'!" & Lahter, millest andmeid tõmmata )Tulles tagasi meie näite juurde, panete lehe nime lahtrisse A1 ja kirjutate lahtri aadressid veergu B, nagu on näidatud ülaltoodud ekraanipildil. Tulemusena saate järgmise valemi:
INDIRECT("'" & $A$1 & "'!" & B1)
Pöörake tähelepanu ka sellele, et kui kopeerite valemi mitmesse lahtrisse, peate lukustama viite lehe nimele, kasutades absoluutseid lahtriviiteid, näiteks $A$1.
Märkused
- Kui üks 2. lehe nime ja lahtri aadressi sisaldavatest lahtritest (A1 ja B1 ülaltoodud valemis) on tühi, annab teie kaudne valem tagasi vea. Selle vältimiseks saate funktsiooni INDIRECT ümbritseda funktsiooniga IF:
IF(OR($A$1="",B1=""), "", INDIRECT("'" & $A$1 & "'!" & B1))
- Et teisele lehele viitav valem INDIRECT töötaks õigesti, peaks viidatud leht olema avatud, vastasel juhul tagastab valem vea #REF. Vea vältimiseks saate kasutada funktsiooni IFERROR, mis kuvab tühja stringi, ükskõik milline viga ka ei tekiks:
IFERROR(INDIRECT("'" & $A$1 & "'!" &B1), "")
Exceli dünaamilise viite loomine teisele töövihikule
Kaudne valem, mis viitab teisele Exceli töövihikule, põhineb samal lähenemisviisil kui viide teisele töölehele. Lisaks lehe nimele ja lahtri aadressile tuleb lihtsalt määrata töövihiku nimi.
Et asi oleks lihtsam, alustame sellest, et teeme viited teisele raamatule tavapärasel viisil (apostroofid lisatakse juhul, kui teie raamatu ja/või lehe nimed sisaldavad tühikuid):
'[Book_name.xlsx]Sheet_name'!Range
Eeldades, et raamatu nimi on lahtris A2, lehe nimi on lahtris B2 ja lahtri aadress on lahtris C2, saame järgmise valemi:
=INDIRECT("'[" & $A$2 & "]" & $B$2 & "'!" & C2)
Kuna te ei soovi, et raamatu ja lehe nimesid sisaldavad lahtrid muutuksid valemi kopeerimisel teistesse lahtritesse, lukustate need, kasutades absoluutseid lahtriviiteid, vastavalt $A$2 ja $B$2.
Ja nüüd saate hõlpsasti kirjutada oma dünaamilise viite teisele Exceli töövihikule, kasutades järgmist mustrit:
=INDIRECT("'[" & Raamatu nimi & "]" & Lehe nimi & "'!" & Mobiili aadress )Märkus. Töövihik, millele teie valem viitab, peaks alati olema avatud, vastasel juhul annab funktsioon INDIRECT vea #REF. Nagu tavaliselt, aitab seda vältida funktsioon IFERROR:
=IFERROR(INDIRECT("'[" & A2 & "]" & $A$1 & "'!" & B1), "")
Exceli funktsiooni INDIRECT kasutamine lahtriviite lukustamiseks
Tavaliselt muudab Microsoft Excel lahtriviiteid, kui lisate lehele uusi ridu või kustutate olemasolevaid ridu või veerge. Selle vältimiseks saate kasutada funktsiooni INDIRECT, et töötada lahtriviidetega, mis peaksid igal juhul jääma puutumatuks.
Erinevuse näitlikustamiseks tehke palun järgmist:
- Sisestage mis tahes väärtus mis tahes lahtrisse, näiteks number 20 lahtrisse A1.
- Viita A1-le kahest teisest lahtrist erinevalt:
=A1
ja=INDIRECT("A1")
- Lisage uus rida rea 1. rea kohale.
Näete, mis juhtub? võrdne loogiline operaator tagastab endiselt 20, sest selle valem on automaatselt muudetud =A2-ks. Lahter valemiga INDIRECT tagastab nüüd 0, sest valemit ei muudetud uue rea sisestamisel ja see viitab endiselt lahtrisse A1, mis on praegu tühi:
Pärast seda demonstratsiooni võib teile jääda mulje, et funktsioon INDIRECT on pigem tüütu kui abiks. Okei, proovime seda teistmoodi.
Oletame, et soovite lahtrite A2:A5 väärtusi summeerida ja saate seda hõlpsasti teha funktsiooni SUMMA abil:
=SUM(A2:A5)
Kuid te soovite, et valem jääks muutumatuks, ükskõik kui palju ridu ka ei kustutaks või sisestataks. Kõige ilmsem lahendus - absoluutsete viidete kasutamine - ei aita. Selleks sisestage valemisse järgmine valem =SUM($A$2:$A$5)
mõnes lahtris, lisage uus rida, näiteks rida 3, ja... leidke valem, mis on teisendatud järgmiselt. =SUM($A$2:$A$6)
.
Loomulikult töötab selline Microsoft Exceli viisakus enamikul juhtudel hästi. Siiski võib esineda stsenaariume, kus te ei soovi, et valemit automaatselt muudetaks. Lahendus on kasutada funktsiooni INDIRECT, näiteks nii:
=SUM(INDIRECT("A2:A5"))
Kuna Excel tajub "A1:A5" lihtsalt tekstijada, mitte vahemiku viidet, ei tee ta rea(de) sisestamisel või kustutamisel mingeid muudatusi.
INDIRECTi kasutamine koos teiste Exceli funktsioonidega
Peale SUMM-i kasutatakse INDIRECT-i sageli koos teiste Exceli funktsioonidega, näiteks ROW, COLUMN, ADDRESS, VLOOKUP, SUMIF, kui nimetada vaid mõned.
Näide 1. Funktsioonid INDIRECT ja ROW
Üsna sageli kasutatakse Excelis funktsiooni ROW väärtuste massiivi tagastamiseks. Näiteks saate kasutada järgmist massiivi valemit (pidage meeles, et selleks tuleb vajutada Ctrl + Shift + Enter ), et tagastada vahemiku A1:A10 kolme väikseima arvu keskmine:
= AVERAGE(SMALL(A1:A10,ROW(1:3)))
Kui aga lisate töölehel uue rea, mis asub ükskõik kus rea 1 ja 3 vahel, muutub ROW funktsiooni vahemik ROW(1:4) ja valem tagastab 3 asemel 4 väikseima numbri keskmise.
Selle vältimiseks pesitsege INDIRECT funktsioonis ROW ja teie massiivi valem jääb alati õigeks, olenemata sellest, kui palju ridu on sisestatud või kustutatud:
= AVERAGE(SMALL(A1:A10,ROW(INDIRECT("1:3"))))
Siin on veel paar näidet INDIRECT ja ROW kasutamise kohta koos funktsiooniga LARGE: Kuidas summeerida N suurimat arvu vahemikus.
Näide 2. Funktsioonid INDIRECT ja ADDRESS
Te saate kasutada Exceli INDIRECT koos funktsiooniga ADRESS, et saada teatud lahtris olev väärtus lennult.
Nagu te ehk mäletate, kasutatakse Excelis funktsiooni ADRESS selleks, et saada lahtri aadressi rea ja veeru numbrite järgi. Näiteks valemiga =ADDRESS(1,3)
tagastab stringi $C$1, kuna C1 on lahter 1. rea ja 3. veeru ristumiskohas.
Kaudse lahtriviite loomiseks peate lihtsalt funktsiooni ADDRESS integreerima INDIRECT-vormelisse, näiteks järgmiselt:
=INDIRECT(AADRESS(1,3))
Loomulikult demonstreerib see triviaalne valem ainult tehnikat. Ja siin on mõned näited, mis võivad osutuda tõesti kasulikuks:
- INDIREKTNE ADRESS valem - kuidas vahetada ridu ja veerge.
- VLOOKUP ja INDIRECT - kuidas dünaamiliselt tõmmata andmeid erinevatelt lehtedelt.
- INDIRECT koos INDEX / MATCHiga - kuidas viia suur- ja väiketähelepanu VLOOKUP-valem täiuslikuks.
- Excel INDIRECT ja COUNTIF - kuidas kasutada funktsiooni COUNTIF mitteühenduvas vahemikus või lahtrite valikul.
INDIRECTi kasutamine koos andmete valideerimisega Excelis
Saate kasutada Exceli funktsiooni INDIRECT koos andmete valideerimisega, et luua kaskaadseid ripploendeid, mis näitavad erinevaid valikuid sõltuvalt sellest, millise väärtuse kasutaja esimeses ripploendis valis.
Lihtne sõltuv rippmenüü on väga lihtne teha. Vaja on vaid mõned nimelised vahemikud rippmenüü elementide salvestamiseks ja lihtne =INDIRECT(A2)
valemiga, kus A2 on lahter, mis kuvab teie esimest ripploendistikku.
Keerulisemate 3-tasandiliste menüüde või rippmenüüde tegemiseks mitme sõnaga kirjete puhul on vaja veidi keerukamat valemit INDIRECT koos sisendatud SUBSTITUTE-funktsiooniga.
Üksikasjalikud samm-sammulised juhised selle kohta, kuidas kasutada INDIRECTi koos Exceli andmete valideerimisega, leiate sellest juhendmaterjalist: Kuidas teha Excelis sõltuva ripploendi loetelu.
Exceli funktsioon INDIRECT - võimalikud vead ja probleemid
Nagu eespool toodud näidetes näidatud, on funktsioon INDIRECT üsna kasulik lahtri- ja vahemikuviidete käsitlemisel. Siiski ei võta kõik Exceli kasutajad seda innukalt omaks peamiselt seetõttu, et INDIRECTi ulatuslik kasutamine Exceli valemites toob kaasa läbipaistmatuse. Funktsiooni INDIRECT on raske vaadata, kuna lahter, millele ta viitab, ei ole valemis kasutatava väärtuse lõplik asukoht,mis on tõepoolest üsna segadusttekitav, eriti kui töötate suurte keeruliste valemitega.
Lisaks eespool öeldule võib INDIRECT, nagu iga teine Exceli funktsioon, visata vea, kui kasutate funktsiooni argumente valesti. Siin on nimekiri kõige tüüpilisematest vigadest:
Exceli INDIREKTNE #REF! viga
Kõige sagedamini tagastab funktsioon INDIRECT kolmel juhul vea #REF!
- ref_text ei ole kehtiv lahtriviide Kui teie kaudse valemi ref_text parameeter ei ole kehtiv lahtriviide, annab valem veaväärtuse #REF! Võimalike probleemide vältimiseks kontrollige funktsiooni INDIRECT argumente.
- Vahemiku piirväärtus on ületatud Kui teie kaudse valemi ref_text argument viitab rakkude vahemikule, mis ületab reapiiri 1,048,576 või veergude piiri 16,384, siis saate ka #REF vea Excel 2007, 2010 ja Excel 2013. Varasemad Exceli versioonid ignoreerivad ületatud piiri ja tagastavad mingi väärtuse, kuigi sageli mitte selle, mida te ootaksite.
- Viidatud leht või töövihik on suletud. Kui teie kaudne valem viitab teisele Exceli töövihikule või töölehele, peab see teine töövihik / tööleht olema avatud, vastasel juhul tagastab INDIRECT vea #REF!.
Excel INDIRECT #NAME? viga
See on kõige ilmsem juhtum, mis tähendab, et funktsiooni nimes on mingi viga, mis viib meid järgmise punkti juurde : )
Funktsiooni INDIRECT kasutamine muudes kui inglise keeltes
Teid võib huvitada, et funktsiooni INDIRECT ingliskeelne nimi on tõlgitud 14 keelde, sealhulgas:
|
|
Kui olete huvitatud täielikust nimekirjast, vaadake palun seda lehekülge.
Üldine probleem mitte-inglise keelega lokaliseeringute puhul ei ole mitte funktsiooni INDIRECT nimi, vaid pigem erinevad Piirkondlikud seaded jaoks Nimekirja eraldaja Põhja-Ameerikas ja mõnes teises riigis on Windowsi standardkonfiguratsioonis vaikimisi seade Nimekirja eraldaja on koma. Kuigi Euroopa riikides on koma reserveeritud kui tähis. Kümnendsümbol ja Nimekirja eraldaja on määratud semikoolon.
Selle tulemusena võib valemite kopeerimisel kahe erineva Exceli lokaali vahel ilmuda veateade " Leidsime selle valemiga probleemi... ", sest Nimekirja eraldaja kasutatud valem on erinev sellest, mis on määratud teie masinas. Kui teil tekib see viga, kui kopeerite mõnda INDIRECT-valemit sellest õpetusest Excelisse, asendage lihtsalt kõik komad (,) semikooloniga (;), et see saaks parandatud.
Selleks, et kontrollida, millised loendieraldaja ja kümnendsümbol on teie seadmes määratud, avage menüüst Juhtpaneel , ja mine aadressile Piirkond ja keel> Täiendavad seaded .
Loodetavasti on see õpetus valgustanud INDIRECTi kasutamist Excelis. Nüüd, kui te teate selle tugevusi ja piiranguid, on aeg proovida seda ja näha, kuidas funktsioon INDIRECT võib teie Exceli ülesandeid lihtsustada. Täname lugemise eest!