Rumus Excel: Alamat sel terakhir dalam julat -

Isi kandungan

Formula generik

=ADDRESS(MAX(ROW(rng)),MAX(COLUMN(rng)))

Ringkasan

Untuk mendapatkan alamat sel terakhir dalam julat, anda boleh menggunakan fungsi ALAMAT bersama fungsi ROW, COLUMN, dan MAX. Dalam contoh yang ditunjukkan, formula dalam F5 adalah:

=ADDRESS(MAX(ROW(data)),MAX(COLUMN(data)))

di mana data adalah julat bernama B5: D14.

Penjelasan

Fungsi ALAMAT membuat rujukan berdasarkan nombor baris dan lajur yang diberikan. Dalam kes ini, kami ingin mendapatkan baris terakhir dan lajur terakhir yang digunakan oleh data julat bernama (B5: D14).

Untuk menggunakan baris terakhir, kami menggunakan fungsi ROW bersama dengan fungsi MAX seperti ini:

MAX(ROW(data))

Kerana data mengandungi lebih dari satu baris, ROW mengembalikan array nombor baris:

(5;6;7;8;9;10;11;12;13;14)

Susunan ini terus menuju ke fungsi MAX, yang mengembalikan nombor terbesar:

MAX((5;6;7;8;9;10;11;12;13;14)) // returns 14

Untuk mendapatkan ruangan terakhir, kami menggunakan fungsi COLUMN dengan cara yang sama:

MAX(COLUMN(data))

Oleh kerana data mengandungi tiga baris, COLUMN mengembalikan array dengan tiga nombor lajur:

(2,3,4)

dan fungsi MAX kembali mengembalikan nombor terbesar:

MAX((2,3,4)) // returns 4

Kedua-dua hasil dikembalikan terus ke fungsi ALAMAT, yang membina rujukan ke sel pada baris 14, lajur 4:

=ADDRESS(14,4) // returns $D$14

Sekiranya anda mahukan alamat relatif dan bukan rujukan mutlak, anda boleh memberikan 4 untuk argumen ketiga seperti ini:

=ADDRESS(MAX(ROW(data)),MAX(COLUMN(data)),4) // returns D14

Alternatif fungsi CELL

Walaupun tidak jelas, fungsi INDEX mengembalikan rujukan, jadi kita dapat menggunakan fungsi CELL dengan INDEX untuk mendapatkan alamat sel terakhir dalam julat seperti ini:

=CELL("address",INDEX(data,ROWS(data),COLUMNS(data)))

Dalam kes ini, kami menggunakan fungsi INDEX untuk mendapatkan rujukan ke sel terakhir dalam julat, yang kami tentukan dengan melewati jumlah baris dan jumlah lajur untuk data rentang ke INDEX. Kami mendapat jumlah baris dengan fungsi ROWS, dan jumlah lajur dengan fungsi COLUMNS:

ROWS(data) // returns 10 COLUMNS(data) // returns 3

Dengan susunan yang disediakan sebagai data, INDEX kemudian mengembalikan rujukan ke sel D14:

INDEX(data,10,3) // returns reference to D14

Kami kemudian berfungsi CELL dengan "alamat", untuk memaparkan alamat.

Catatan: Fungsi CELL adalah fungsi tidak menentu yang boleh menyebabkan masalah prestasi dalam buku kerja besar atau kompleks.

Artikel menarik...