Yhteenveto
Excel INDIRECT -funktio palauttaa kelvollisen viitteen tietystä merkkijonosta. INDIRECT on hyödyllinen, kun haluat muuntaa tekstiarvon kelvolliseksi soluviitteeksi.
Tarkoitus
Luo viite tekstistäPalautusarvo
Voimassa oleva taulukon viite.Syntaksi
= EPÄSUORA (viite_teksti, (a1))Väitteet
- ref_text - Viite toimitetaan tekstinä.
- a1 - (valinnainen) Totuusarvo ilmaisemaan A1- tai R1C1-tyylistä viittausta. Oletus on TOSI = A1-tyyli.
Versio
Excel 2003Käyttöohjeet
INDIRECT-funktio palauttaa kelvollisen viitteen tietystä merkkijonosta. INDIRECT on hyödyllinen, kun haluat muuntaa tekstiarvon kelvolliseksi soluviitteeksi. Voit esimerkiksi luoda viitteen soluun A1 tekstistä käyttämällä epäsuoraa seuraavasti:
=INDIRECT("A1") // returns reference to A1
Epäsuoran tarkoitus voi aluksi tuntua hämmentävältä (ts. Miksi käyttää tekstiä, kun voit vain antaa oikean viitteen?), Mutta on monia tilanteita, joissa kyky luoda viite tekstistä on hyödyllinen, mukaan lukien:
- Kaava, joka tarvitsee muuttuvan taulukon nimen
- Kiinteä viite, joka ei muutu, vaikka rivit tai sarakkeet poistettaisiin
- Numeeristen taulukoiden luominen ROW-funktiolla monimutkaisissa kaavoissa
Huomautus: INDIRECT on epävakaa toiminto, joka voi aiheuttaa suorituskykyongelmia suurissa tai monimutkaisissa laskentataulukoissa.
Muuttujan laskentataulukon nimi
Yllä olevassa esimerkissä INDIRECT on määritetty käyttämään muuttuvan taulukon nimeä seuraavasti:
=INDIRECT(B6&"!A1") // sheet name in B6 is variable
B6: n kaava, kopioitu alaspäin, palauttaa arvon solussa A1 viiden ensimmäisen arkin avulla sarakkeeseen B syötettyjen arkkien nimien avulla. Toisin sanoen, kun sarakkeeseen B syötetään eri arkin nimi, uusi tulos palautetaan. Samalla lähestymistavalla voit sallia käyttäjän valita taulukon nimen avattavalla luettelolla ja luoda sitten viittauksen valittuun taulukkoon epäsuoralla.
Huomaa: välimerkkejä tai välilyöntiä sisältävät arkkien nimet on liitettävä lainausmerkkeihin ('), kuten tässä esimerkissä selitetään. Tämä ei ole ominaista epäsuoralle toiminnolle; sama pätee kaikkiin kaavoihin.
Kiinteä viite
INDIRECTin luoma viite ei muutu, vaikka solut, rivit tai sarakkeet lisätään tai poistetaan. Esimerkiksi alla oleva kaava viittaa aina sarakkeen A ensimmäisiin 100 riviin, vaikka kyseisen alueen rivit poistettaisiin tai lisätään:
=INDIRECT("A1:A100") // will not change
Luo numeerinen taulukko
INDIRECTin edistyneempi käyttö on luoda numeerinen taulukko ROW-toiminnolla seuraavasti:
ROW(INDIRECT("1:10")) // create (1;2;3;4;5;6;7;8;9;10)
Yksi käyttötapaus selitetään tässä kaavassa, joka laskee yhteen alueen alimmat n-arvot.
Voit myös törmätä tähän ajatukseen monimutkaisemmissa kaavoissa, joiden on koottava numeerinen taulukko "lennossa". Yksi esimerkki on tämä kaava, joka on suunniteltu poistamaan numeeriset merkit merkkijonosta.
Huomautuksia
- INDIRECTin luomat viitteet arvioidaan reaaliajassa ja viitteen sisältö näytetään.
- Kun ref_text on ulkoinen viittaus toiseen työkirjaan, työkirjan on oltava auki.
- a1 on valinnainen. Kun se jätetään pois, a1 on TOSI = A1-tyyliviite.
- Kun a1 on asetettu FALSE, INDIRECT luo R1C1-tyylisen viitteen.
- INDIRECT on epävakaa toiminto, joka voi aiheuttaa suorituskykyongelmia.