„Excel“ formulė: paskutinio diapazono langelio adresas -

Turinys

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

Įdomios straipsniai...