Excel formula: palieliniet atsauci uz šūnu ar INDIRECT -

Vispārēja formula

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

Kopsavilkums

Lai palielinātu atsauci, kas izveidota kā teksts INDIRECT funkcijā, varat izmantot funkciju CELL. Parādītajā piemērā formula D5 ir:

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

Kādi pieaugumi kā formula tiek kopēti uz leju.

Paskaidrojums

Apsveriet vienkāršu dinamisku atsauci uz 2. lapu, izmantojot INDIRECT šādā formulā:

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

Ja mainīsim lapas nosaukumu B5 uz citu (derīgu) nosaukumu, INDIRECT jaunajā lapā atgriezīs atsauci uz A1.

Tomēr, ja mēs kopēsim šo formulu kolonnā, atsauce uz A1 nemainīsies, jo "A1" ir kodēts kā teksts.

Lai atrisinātu šo problēmu, mēs izmantojam funkciju CELL, lai ģenerētu teksta atsauci no parastas šūnas atsauces:

CELL("address",A1)

Ja pirmais arguments ir "adrese" un otrais arguments ir A1, funkcija CELL atgriež virkni, piemēram, "$ A $ 1". Tā kā A1 ir regulāra šūnas atsauce, tā palielināsies normāli, kad formula tiek nokopēta kolonnā. Rezultāts D5: D9 ir šādu formulu sērija:

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

Katrā ziņā INDIRECT katru teksta virkni atrisina ar atsauci, un Excel atgriež vērtību dotajā Sheet2 šūnā.

Piezīme: gan INDIRECT, gan CELL ir nepastāvīgas funkcijas, un tās tiek pārrēķinātas ar visām darblapas izmaiņām. Tas var izraisīt veiktspējas problēmas sarežģītākās darblapās.

Interesanti raksti...