
Bendroji formulė
=ADDRESS(MAX(ROW(rng)),MAX(COLUMN(rng)))
Santrauka
Norėdami gauti paskutinio diapazono langelio adresą, galite naudoti funkciją ADRESAS kartu su funkcijomis ROW, COLUMN ir MAX. Parodytame pavyzdyje formulė F5 yra:
=ADDRESS(MAX(ROW(data)),MAX(COLUMN(data)))
kur duomenys yra įvardytas diapazonas B5: D14.
Paaiškinimas
ADDRESS funkcija sukuria nuorodą pagal nurodytą eilutės ir stulpelio numerį. Tokiu atveju norime gauti paskutinę eilutę ir paskutinį stulpelį, kurį naudoja įvardyti diapazono duomenys (B5: D14).
Norėdami naudoti paskutinę eilutę, mes naudojame funkciją ROW kartu su MAX funkcija taip:
MAX(ROW(data))
Kadangi duomenyse yra daugiau nei viena eilutė, ROW pateikia eilutės numerių masyvą:
(5;6;7;8;9;10;11;12;13;14)
Šis masyvas eina tiesiai į MAX funkciją, kuri pateikia didžiausią skaičių:
MAX((5;6;7;8;9;10;11;12;13;14)) // returns 14
Norėdami gauti paskutinį stulpelį, mes taip pat naudojame funkciją COLUMN:
MAX(COLUMN(data))
Kadangi duomenyse yra trys eilutės, COLUMN pateikia masyvą su trimis stulpelių numeriais:
(2,3,4)
ir funkcija MAX vėl pateikia didžiausią skaičių:
MAX((2,3,4)) // returns 4
Abu rezultatai grąžinami tiesiai į ADDRESS funkciją, kuri sukuria nuorodą į langelį 14 eilutės 4 stulpelyje:
=ADDRESS(14,4) // returns $D$14
Jei norite santykinio adreso, o ne absoliučios nuorodos, trečiajam argumentui galite pateikti 4:
=ADDRESS(MAX(ROW(data)),MAX(COLUMN(data)),4) // returns D14
CELL funkcijos alternatyva
Nors tai nėra akivaizdu, INDEX funkcija pateikia nuorodą, todėl mes galime naudoti CELL funkciją su INDEX, kad gautume paskutinio tokio diapazono langelio adresą:
=CELL("address",INDEX(data,ROWS(data),COLUMNS(data)))
Šiuo atveju mes naudojame funkciją INDEX, norėdami gauti nuorodą į paskutinį diapazono langelį, kurį mes nustatome perduodami diapazono duomenų eilučių ir stulpelių skaičių į INDEX. Gauname iš viso eilučių su funkcija ROWS ir iš viso stulpelių su funkcija COLUMNS:
ROWS(data) // returns 10 COLUMNS(data) // returns 3
Pateikus masyvą kaip duomenis, INDEX grąžina nuorodą į langelį D14:
INDEX(data,10,3) // returns reference to D14
Mes tada CELL funkcija su "adresas", parodyti adresą.
Pastaba: CELL funkcija yra nepastovi funkcija, kuri gali sukelti didelių ar sudėtingų darbaknygių našumo problemų.