
Ü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.