Excel formülü: INDEX ile dinamik adlandırılmış aralık -

İçindekiler

Genel formül

=$A$1:INDEX($A:$A,lastrow)

Özet

Excel'de dinamik adlandırılmış aralık oluşturmanın bir yolu, INDEX işlevini kullanmaktır. Gösterilen örnekte, "veriler" adlı aralık aşağıdaki formülle tanımlanmıştır:

=$A$2:INDEX($A:$A,COUNTA($A:$A))

$ A $ 2: $ A $ 10 aralığına çözümlenir.

Not: Bu formül, diğer formüllerde kullanılabilecek adlandırılmış bir aralığı tanımlamak içindir.

Açıklama

Bu sayfa, COUNTA işleviyle birlikte INDEX işleviyle oluşturulmuş bir dinamik adlandırılmış aralık örneğini gösterir. Dinamik adlandırılmış aralıklar, veri eklendiğinde veya kaldırıldığında otomatik olarak genişler ve daralır. Veriler eklendikçe veya çıkarıldıkça yeniden boyutlandırılan bir Excel Tablosu kullanmaya bir alternatiftir.

INDEX işlevi, bir aralık veya dizide belirli bir konumdaki değeri döndürür. Bir aralıktaki tek tek değerleri veya tüm satırları ve sütunları almak için DİZİNİ kullanabilirsiniz. INDEX'i dinamik adlandırılmış aralıklar için özellikle yararlı kılan şey, aslında bir referans döndürmesidir. Bu, $ A $ 1: A100 gibi karma bir referans oluşturmak için INDEX kullanabileceğiniz anlamına gelir.

Gösterilen örnekte, "veriler" adlı aralık aşağıdaki formülle tanımlanmıştır:

=$A$2:INDEX($A:$A,COUNTA($A:$A))

$ A $ 2: $ A $ 10 aralığına çözümlenir.

Bu formüller nasıl çalışır?

Öncelikle bu formülün, aralık operatörünün (:) her iki yanında bulunan iki bölümden oluştuğuna dikkat edin. Solda, aralık için sabit kodlu başlangıç ​​referansına sahibiz:

$A$2

Sağda, aşağıdaki gibi INDEX ile oluşturulan aralığın bitiş referansı var:

INDEX($A:$A,COUNTA($A:$A))

Burada, dizi için A sütununu INDEX'e besliyoruz, ardından aralıktaki "son satırı" bulmak için COUNTA işlevini kullanıyoruz. COUNTA burada iyi çalışıyor çünkü A sütununda başlık satırı dahil 10 değer var. COUNTA bu nedenle 10 döndürür ve satır numarası olarak doğrudan INDEX'e gider. INDEX daha sonra, aralıkta kullanılan son satır olan $ A $ 10'a bir başvuru döndürür:

INDEX($A:$A,10) // resolves to $A$10

Yani formülün nihai sonucu şu aralıktır:

$A$2:$A$10

İki boyutlu bir aralık

Yukarıdaki örnek, tek boyutlu bir aralık için işe yarar. Sütun sayısının da dinamik olduğu iki boyutlu bir dinamik aralık oluşturmak için, aynı yaklaşımı şu şekilde genişletebilirsiniz:

=$A$2:INDEX($1:$1048576,COUNTA($A:$A),COUNTA($1:$1))

Daha önce olduğu gibi, COUNTA "son satırı" bulmak için kullanılır ve biz "son sütun" u elde etmek için tekrar COUNTA kullanırız. Bunlar sırasıyla satır_sayısı ve sütun_sayısı olarak dizine sağlanır.

Bununla birlikte, dizi için, tüm 1048576 satırları olarak girilen ve INDEX'in 2B alanda bir referans döndürmesine izin veren tam çalışma sayfasını sağlıyoruz.

Not: Excel 2003 yalnızca 65535 satırı destekler.

Son sıranın belirlenmesi

Çalışma sayfasındaki verilerin yapısına ve içeriğine bağlı olarak, bir veri kümesindeki son satırı (son göreceli konum) belirlemenin birkaç yolu vardır:

  • Karma verilerde boşluk içeren son satır
  • Karma verilerde boşluksuz son satır
  • Metin verilerindeki son satır
  • Sayısal verilerdeki son satır

İyi bağlantılar

The Imposing INDEX (Daniel Ferry'nin yazdığı harika makale)

Ilginç makaleler...