
Formula generik
(=ROW(range)-ROW(range.firstcell)+1)
Ringkasan
Untuk mendapatkan sekumpulan nombor baris relatif dalam julat, anda boleh menggunakan formula larik berdasarkan fungsi ROW. Dalam contoh yang ditunjukkan, formula dalam B5: B11 adalah:
(=ROW(B5:B11)-ROW(B5)+1)
Catatan: ini adalah formula larik yang mesti dimasukkan dengan Control + Shift + Enter. Sekiranya anda memasukkan ini di lembaran kerja (dan bukan di dalam formula lain), buat pilihan yang merangkumi lebih dari satu baris, masukkan formula, dan sahkan dengan Control + Shift + Enter.
Formula ini akan terus menghasilkan nombor relatif walaupun julatnya dipindahkan. Namun, ini bukan pilihan yang baik jika baris perlu disusun, dihapus, atau ditambahkan, kerana formula array akan mencegah perubahan. Pilihan formula yang dijelaskan di sini akan berfungsi dengan lebih baik.
Penjelasan
Fungsi ROW pertama menghasilkan susunan 7 nombor seperti ini:
(5;6;7;8;9;10;11)
Fungsi ROW kedua menghasilkan array dengan hanya satu item seperti ini:
(5)
yang kemudian dikurangkan dari array pertama untuk menghasilkan:
(0;1;2;3;4;5;6)
Akhirnya, 1 ditambahkan untuk mendapatkan:
(1;2;3;4;5;6;7)
Versi generik dengan julat bernama
Dengan julat bernama, anda boleh membuat versi formula yang lebih generik menggunakan fungsi MIN atau fungsi INDEX. Sebagai contoh, dengan julat bernama "senarai", anda boleh menggunakan MIN seperti ini:
(ROW(list)-MIN(ROW(list))+1)
Dengan INDEX, kami mengambil rujukan pertama dalam julat bernama, dan menggunakan ROW untuk itu:
(=ROW(list)-ROW(INDEX(list,1,1))+1)
Anda sering akan melihat formula "baris relatif" seperti ini di dalam formula susunan kompleks yang memerlukan nombor baris untuk mengira hasilnya.
Dengan KEBERSIHAN
Dengan fungsi SEQUENCE formula untuk mengembalikan nombor baris relatif untuk julat adalah mudah:
=SEQUENCE(ROWS(range))
Fungsi ROWS memberikan kiraan baris, yang dikembalikan ke fungsi SEQUENCE. SEQUENCE kemudian membina susunan nombor, bermula dengan nombor 1. Oleh itu, mengikuti contoh asal di atas, formula di bawah mengembalikan hasil yang sama:
=SEQUENCE(ROWS(B5:B11)) // returns (1;2;3;4;5;6;7)
Catatan: formula SEQUENCE adalah fungsi array dinamik baru yang hanya terdapat di Excel 365.