Hedeflerin kopyalanıp yapıştırılmasından INDIRECT()
sonra referansların mutlak pozisyonunu korumak için harika eserler kullanmak , ancak sorun, formül kopyalandığında mutlak pozisyonu korumaktır , yani bir formülü büyük bir alanı kaplayacak şekilde kolayca uzatamazsınız. kullanırken aralığı.
Çözelti birleştirmektir INDIRECT()
ile ROW()
, COLUMN()
ve ADDRESS()
programlı formülün hücre göre hedef hücrenin konumu oluşturmak için.
En basit durumda, örneğin hedef hücrenin sabit bir sütunu olması ve her zaman formülle aynı sırada kalması gibi, bu şu şekilde yapılabilir:
INDIRECT("A"&ROW())
Formül hücresinden dinamik ofsetleri tanıtmak için şunları kullanabilirsiniz ADDRESS()
:
INDIRECT(ADDRESS(ROW()-1,COL()-4))
Aşağıdaki ekran görüntüsünde, içindeki formüller B1:E1
altındaki 16 satıra uzatılmış ve ardından sayı dizisi A7:A10
kesilmiş ve 6 hücreye yapıştırılmıştır. Gördüğünüz gibi, en basit formüller otomatik olarak ayarlandı ve zaman uyumsuzken, naif kullanımı INDIRECT()
tüm sıralar boyunca fazladan tahmin etmedi, ancak INDIRECT()
satır ve sütun konumlarının programlı olarak alınmasıyla birlikte kullanılan iki formül referanslarını koruyabildi: