„Excel“ formulė: langelio nuorodos didinimas su netiesioginiu -

Bendroji formulė

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

Santrauka

Norėdami padidinti nuorodą, sukurtą kaip tekstą INDIRECT funkcijoje, galite naudoti CELL funkciją. Parodytame pavyzdyje formulė D5 yra:

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

Kuris didėja kaip formulė, nukopijuojama žemyn.

Paaiškinimas

Apsvarstykite paprastą dinaminę nuorodą į „Sheet2“, naudodami INDIRECT tokioje formulėje:

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

Jei pakeisime lapo pavadinimą B5 į kitą (galiojantį) pavadinimą, INDIRECT naujame lape grąžins nuorodą į A1.

Tačiau jei nukopijuosime šią formulę stulpelyje, nuoroda į A1 nepasikeis, nes „A1“ yra užkoduotas kaip tekstas.

Norėdami išspręsti šią problemą, mes naudojame funkciją CELL, kad generuotume teksto nuorodą iš įprastos langelio nuorodos:

CELL("address",A1)

Kai „adresas“ yra pirmasis argumentas, o A1 yra antrasis argumentas, funkcija „CELL“ pateikia eilutę, pvz., „$ A $ 1“. Kadangi A1 yra įprasta langelio nuoroda, formulė nukopijuojama stulpelyje žemyn. Rezultatas D5: D9 yra tokia formulių serija:

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

Kiekvienu atveju netiesioginis kiekvieną teksto eilutę išsprendžia į nuorodą, o „Excel“ grąžina reikšmę nurodytame „Sheet2“ langelyje.

Pastaba: tiek „INDIRECT“, tiek „CELL“ yra nepastovios funkcijos ir perskaičiuojamos kiekvieną kartą pakeitus darbalapį. Tai gali sukelti našumo problemų sudėtingesniuose darbalapiuose.

Įdomios straipsniai...