Excel-kaava: Lisää soluviittausta epäsuoraan -

Yleinen kaava

=INDIRECT(sheet&"!"&CELL("address",A1))

Yhteenveto

Voit lisätä tekstinä luotua viittausta INDIRECT-funktiossa käyttämällä CELL-toimintoa. Esitetyssä esimerkissä kaava kohdassa D5 on:

=INDIRECT($B$5&"!"&CELL("address",A1))

Mitkä kaavan lisäykset kopioidaan alaspäin.

Selitys

Harkitse yksinkertaista dynaamista viittausta Sheet2: een käyttämällä INDIRECTia seuraavassa kaavassa:

=INDIRECT($B$5&"!"&"A1"))

Jos muutamme B5-taulukon nimen toiseksi (kelvolliseksi) nimeksi, INDIRECT palauttaa viitteen A1: een uudessa taulukossa.

Jos kopioimme tämän kaavan sarakkeesta alaspäin, viittaus A1: een ei muutu, koska "A1" on kovakoodattu tekstinä.

Tämän ongelman ratkaisemiseksi käytämme CELL-toimintoa tekstiviitteen luomiseen tavallisesta soluviitteestä:

CELL("address",A1)

Kun "osoite" on ensimmäinen argumentti ja A1 on toinen argumentti, CELL-funktio palauttaa merkkijonon "$ A $ 1". Koska A1 on säännöllinen soluviite, se kasvaa normaalisti, kun kaava kopioidaan alas saraketta. Tulos sarjassa D5: D9 on sarja tällaisia ​​kaavoja:

=INDIRECT("Sheet2!$A$1") =INDIRECT("Sheet2!$A$2") =INDIRECT("Sheet2!$A$3") =INDIRECT("Sheet2!$A$4") =INDIRECT("Sheet2!$A$5")

Kummassakin tapauksessa INDIRECT ratkaisee jokaisen tekstimerkkijonon viitteeksi ja Excel palauttaa arvon Sheet2: n annetussa solussa.

Huomaa: Sekä INDIRECT että CELL ovat epävakaat toiminnot ja laskevat uudelleen jokaisen laskentataulukon muutoksen yhteydessä. Tämä voi aiheuttaa suorituskykyongelmia monimutkaisemmissa laskentataulukoissa.

Mielenkiintoisia artikkeleita...