Exceli valem: lahtriviite suurendamine INDIRECT -

Üldine valem

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

Kokkuvõte

Funktsiooni INDIRECT sees tekstina loodud viite suurendamiseks võite kasutada funktsiooni CELL. Näidatud näites on valem D5-s:

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

Millised sammud valemina alla kopeeritakse.

Selgitus

Kaaluge lihtsat dünaamilist viidet töölehele2, kasutades INDIRECTi sellises valemis:

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

Kui muudame lehe B5 B5 nime teiseks (kehtivaks) nimeks, tagastab INDIRECT uuel lehel viite A1-le.

Kui me selle valemi veergu alla kopeerime, siis viide A1-le ei muutu, kuna "A1" on kõvakoodiga tekst.

Selle probleemi lahendamiseks kasutame funktsiooni CELL tekstiviite loomiseks tavalisest lahtriviitest:

CELL("address",A1)

Esimese argumendina "aadress" ja teise argumendina A1 tagastab funktsioon CELL stringi nagu "$ A $ 1". Kuna A1 on tavaline lahtriviide, suureneb see valemi kopeerimisel veerus tavaliselt. D5: D9 tulemus on selline valemite seeria:

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

Mõlemal juhul lahendab INDIRECT iga tekstistringi viide ja Excel tagastab Sheet2 antud lahtri väärtuse.

Märkus: nii INDIRECT kui ka CELL on kõikuvad funktsioonid ja arvutavad iga töölehe muudatusega ümber. See võib keerukamates töölehtedes põhjustada jõudlusprobleeme.

Huvitavad Artiklid...