Menggunakan INDIRECT()
karya yang bagus untuk mempertahankan posisi absolut referensi setelah target telah disalin dan ditempelkan, tetapi masalahnya adalah ia juga mempertahankan posisi absolut ketika rumus disalin, artinya Anda tidak dapat dengan mudah memperluas rumus untuk mencakup besar Kisaran saat menggunakannya.
Solusinya adalah menggabungkan INDIRECT()
dengan ROW()
,, COLUMN()
dan secara ADDRESS()
terprogram menghasilkan posisi sel target berdasarkan pada sel rumus.
Dalam kasus paling sederhana, seperti ketika sel target memiliki kolom tetap dan selalu tetap di baris yang sama dengan rumus, ini dapat dilakukan sebagai berikut:
INDIRECT("A"&ROW())
Untuk memperkenalkan offset dinamis dari sel rumus, Anda dapat menggunakan ADDRESS()
:
INDIRECT(ADDRESS(ROW()-1,COL()-4))
Dalam tangkapan layar di bawah ini, rumus di B1:E1
diperluas ke 16 baris di bawah, dan kemudian urutan nomor dalam A7:A10
dipotong dan ditempelkan 6 sel ke bawah. Seperti yang Anda lihat, rumus paling sederhana secara otomatis disesuaikan dan tidak sinkron, sementara penggunaan naif INDIRECT()
tidak mengekstrapolasi di semua baris dengan benar, tetapi dua rumus yang digunakan INDIRECT()
bersama dengan pengambilan terprogram dari lokasi baris dan kolom mampu mempertahankan referensi mereka: