Turinys
Iš pirmo žvilgsnio (ypač skaitant žinyną) funkcija NETIESIOGINĖS (NETIESIOGINIS) atrodo paprasta ir net nereikalinga. Jo esmė – tekstą, kuris atrodo kaip nuoroda, paversti visaverte nuoroda. Tie. jei reikia nurodyti langelį A1, galime arba įprastai sukurti tiesioginę nuorodą (įvesti lygybės ženklą į D1, spustelėti A1 ir paspausti Enter), arba naudoti NETIESIOGINĖS tam pačiam tikslui:
Atkreipkite dėmesį, kad funkcijos argumentas – nuoroda į A1 – įrašomas kabutėse, taigi čia iš tikrųjų yra tekstas.
„Na, gerai“, – sakai. – Ir kokia iš to nauda?
Tačiau nespręskite iš pirmo įspūdžio – jis apgaulingas. Ši funkcija gali padėti jums daugelyje situacijų.
1 pavyzdys. Transponuoti
Žanro klasika: reikia pasukti vertikalią skersmenį
griovelį į horizontalią (transponuoti). Žinoma, galite naudoti specialų įdėklą ar funkciją PRANEŠIMAS (TRANSPONUOTI) masyvo formulėje, bet galite apsieiti su mūsų NETIESIOGINĖS:
Logika paprasta: norėdami gauti kito langelio adresą, suklijuojame raidę „A“ su specialiu simboliu „&“ ir esamo langelio stulpelio numerį, kurį mums suteikia funkcija KOLONĖLĖ (Stulpelis).
Atvirkštinę procedūrą geriau atlikti šiek tiek kitaip. Kadangi šį kartą turime suformuoti nuorodą į langelius B2, C2, D2 ir kt., todėl patogiau naudoti R1C1 nuorodos režimą, o ne klasikinį „jūrų mūšį“. Šiuo režimu mūsų langeliai skirsis tik stulpelio numeriu: B2=R1C2, C2=R1C3, D2=R1C4 ir taip toliau
Čia atsiranda antrasis pasirenkamos funkcijos argumentas. NETIESIOGINĖS. Jei jis yra lygus MELAVIMAS (FALSE), tada galite nustatyti nuorodos adresą R1C1 režimu. Taigi galime lengvai perkelti horizontalų diapazoną atgal į vertikalią:
2 pavyzdys. Suma pagal intervalą
Mes jau išanalizavome vieną būdą, kaip sumuoti tam tikro dydžio langą (diapazoną) lape naudojant funkciją NAIKINIMAS (OFFSET). Panašią problemą taip pat galima išspręsti naudojant NETIESIOGINĖS. Jei mums reikia apibendrinti tik tam tikro intervalo laikotarpio duomenis, galime juos suklijuoti iš gabalėlių ir paversti visaverte nuoroda, kurią galime įterpti į funkcijos vidų. SUMA (SUMA):
3 pavyzdys. Išmaniojo stalo išskleidžiamasis sąrašas
Kartais „Microsoft Excel“ išmaniųjų lentelių pavadinimų ir stulpelių nelaiko pilnomis nuorodomis. Pavyzdžiui, kai bandote sukurti išskleidžiamąjį sąrašą (tab Duomenys – duomenų patvirtinimas) pagal stulpelį Darbuotojai nuo išmaniojo stalo žmonės gausime klaidą:
Jei „apvyniosime“ saitą su savo funkcija NETIESIOGINĖS, tada „Excel“ lengvai jį priims ir mūsų išskleidžiamasis sąrašas bus dinamiškai atnaujinamas, kai į išmaniosios lentelės pabaigą įtrauksite naujų darbuotojų:
4 pavyzdys. Nepertraukiamos nuorodos
Kaip žinote, „Excel“ automatiškai taiso nuorodų adresus formulėse, kai lape įterpiami arba ištrinami eilučių stulpeliai. Daugeliu atvejų tai teisinga ir patogu, bet ne visada. Tarkime, kad turime perkelti vardus iš darbuotojų katalogo į ataskaitą:
Jei įdėsite įprastas nuorodas (pirmame žaliame langelyje įveskite =B2 ir nukopijuokite), tada kai ištrinsite, pavyzdžiui, Dasha, gausime #LINK! klaida ją atitinkančiame žaliame langelyje. (#REF!). Jei naudojate funkciją nuorodoms kurti NETIESIOGINĖS nebus tokios problemos.
5 pavyzdys: duomenų rinkimas iš kelių lapų
Tarkime, kad turime 5 lapus su to paties tipo ataskaitomis iš skirtingų darbuotojų (Michailo, Elenos, Ivano, Sergejaus, Dmitrijaus):
Tarkime, kad prekių ir mėnesių forma, dydis, padėtis ir seka visose lentelėse yra vienoda – skiriasi tik skaičiai.
Duomenis iš visų lapų galite rinkti (jų nesumuokite, o sudėkite vieną po kito į „krūvą“) naudodami tik vieną formulę:
Kaip matote, idėja ta pati: klijuojame nuorodą į norimą duoto lapo langelį ir NETIESIOGINĖS paverčia jį „gyvu“. Patogumui virš lentelės pridėjau stulpelių raides (B,C,D), o dešinėje – eilučių numerius, kuriuos reikia paimti iš kiekvieno lapo.
Spąstų
Jei naudojate NETIESIOGINĖS (NETIESIOGINIS) turite atsiminti apie jo trūkumus:
- Jei susiejate su kitu failu (suklijuodami failo pavadinimą laužtiniuose skliaustuose, lapo pavadinimą ir langelio adresą), tai veiks tik tada, kai atidarytas pradinis failas. Jei uždarysime, gausime klaidą #LINK!
- INDIRECT negali nurodyti dinaminio pavadinimo diapazono. Dėl statinio - jokių problemų.
- NETIESIOGINĖ yra nepastovi arba „lakioji“ funkcija, ty ji perskaičiuojama atsižvelgiant į bet kokį pokytį bet kurioje lapo ląstelėje, o ne tik įtakojančias ląsteles, kaip įprastose funkcijose. Tai blogai veikia našumą ir geriau nesižavėti didelėmis NETIESIOGINĖS lentelėmis.
- Kaip sukurti dinaminį diapazoną naudojant automatinį dydžio keitimą
- Sumavimas per diapazono langą lape su funkcija OFFSET