Anlamanız gereken şey, tarafından belirtilen mutlak referansların $
mutlaklığının kesinlikle mutlak olmadığıdır ;-)
Şimdi bu dil twister'ın dışına çıktı, açıklamama izin ver.
Mutlaklık, yalnızca formülü kopyalayıp yapıştırırken veya doldururken geçerlidir. Kesinlikle başvurulan bir aralığın üstüne satır veya sola sütun ekleme, aralığın adresini "aralıklandırır", böylece aralığın işaret ettiği veriler aynı kalır.
Ek olarak, aralığın ortasına satır veya sütun eklemek , yeni satırları / sütunları kapsayacak şekilde genişletecektir. Bu nedenle, bir aralığa (tablo) veri satırı eklemek için ilk veri satırından sonra eklemeniz gerekir .
Geçerli veri aralığının üstünde bir veri satırı eklenmesine izin vermenin en basit yolu, her zaman bir başlık satırına sahip olmak ve başlık satırını gerçek aralığa dahil etmektir. Bu, tam olarak cybernetic.nomad tarafından bu yorumda önerilen çözümdür .
Ancak , hala bir sorun daha var ve bu tablonun sonundan sonra bir satır veri ekliyor . Sadece yeni verileri, satırdaki son veri satırından sonra yazmak işe yaramaz. Son satırdan sonraki satırdan önce bir satır eklemek de mümkün değildir .
Bunun için en basit çözüm, özel bir "son" satır kullanmak, veri satırına bu satırı dahil etmek ve her zaman bu özel satırdan önce ekleyerek her zaman yeni satırlar eklemektir .
Genellikle satır yüksekliğini azaltır ve hücreleri uygun bir renkle doldururum:
Örneğin, tam "basit" formül bu şekilde olacaktır:
=SUMIF(JUN!$G$1:$G$501,"Utilities",JUN!$H$1:$H$501)
Aynı hedefe ulaşmak için başka bir yol, tablodaki veri miktarını otomatik ayarlayan dinamik bir formül kullanmaktır. Kesin koşullara ve kesin olarak masaya ne yapılması gerektiğine bağlı olarak, bunun birkaç farklı varyasyonu vardır.
Normalde olduğu gibi (örneğin, örneğin), tablo çalışma sayfasının en üstünde başlarsa, bir satır başlığına sahipse ve veriler boşluksuz olarak bitişikse, basit bir dinamik formül şöyle olacaktır:
=SUMIF(INDEX(JUN!$G:$G,2):INDEX(JUN!$G:$G,COUNTA(JUN!$G:$G)),"Utilities",INDEX(JUN!$H:$H,2):INDEX(JUN!$H:$H,COUNTA(JUN!$G:$G)))
Bu kullanarak daha iyi bir çözüm INDIRECT()
olarak
- Uçucu değildir ve bu nedenle çalışma sayfası daha hızlı hesaplar ve
- Tablonun soluna sütun eklerseniz kırılmaz.
Dinamik formül tekniği, Adlandırılmış Formülde kullanılarak daha da geliştirilebilir .
Tabii ki, en iyi çözüm, masayı uygun bir masaya dönüştürmek ve yapılandırılmış referansları kullanmaktır .
=SUMIF(JUN!$G$1:$G$500,"Utilities", JUN!$D$1:$D$500)
? Tahminen satır1
farkı girebilirsiniz başlıkları ve böylece tarafından asla kullanılmayacaktırSUMIF
ve daha sonra satırları arasında bir satır eklerseniz1
ve2
hala iyi olacak formülü