İçindekiler
Bu eğitimde, Excel'de dinamik bir adlandırılmış aralığın nasıl oluşturulacağını ve yeni verilerin hesaplamalara otomatik olarak dahil edilmesi için formüllerde nasıl kullanılacağını öğreneceksiniz.
Geçen haftaki eğitimde, Excel'de statik adlandırılmış bir aralık tanımlamanın farklı yollarını incelemiştik. Statik bir ad her zaman aynı hücrelere başvurur, yani yeni veri eklediğinizde veya mevcut verileri kaldırdığınızda aralık başvurusunu manuel olarak güncellemeniz gerekir.
Sürekli değişen bir veri setiyle çalışıyorsanız, adlandırılmış aralığınızı dinamik hale getirmek isteyebilirsiniz, böylece yeni eklenen girişleri barındırmak için otomatik olarak genişler veya kaldırılan verileri hariç tutmak için daralır. Bu eğitimin ilerleyen bölümlerinde, bunun nasıl yapılacağına dair ayrıntılı adım adım rehberlik bulacaksınız.
Excel'de dinamik adlandırılmış aralık nasıl oluşturulur
Yeni başlayanlar için, tek bir sütun ve değişken sayıda satırdan oluşan dinamik bir adlandırılmış aralık oluşturalım. Bunu yapmak için aşağıdaki adımları uygulayın:
- Üzerinde Formül sekmesinde Tanımlanmış İsimler grubunu seçin, tıklayın İsim Tanımlama Veya Excel Ad Değiştirici'yi açmak için Ctrl + F3 tuşlarına basın ve Yeni... Düğme.
- Her iki durumda da Yeni İsim diyalog kutusu açılacak ve burada aşağıdaki ayrıntıları belirleyeceksiniz:
- İçinde İsim kutusuna dinamik aralığınızın adını yazın.
- İçinde Kapsam açılır menüsünde, adın kapsamını ayarlayın. Çalışma Kitabı (varsayılan) çoğu durumda tavsiye edilir.
- İçinde Şunları ifade eder kutusuna OFFSET COUNTA veya INDEX COUNTA formüllerinden birini girin.
- Tamam'a tıklayın. Bitti!
Aşağıdaki ekran görüntüsünde, dinamik olarak adlandırılmış bir aralık tanımlıyoruz öğeler her şeyi barındıran veri içeren hücreler A sütununda, başlık satırı hariç:
Excel dinamik adlandırılmış aralık tanımlamak için OFFSET formülü
Excel'de dinamik bir adlandırılmış aralık oluşturmak için genel formül aşağıdaki gibidir:
OFFSET( first_cell , 0, 0, COUNTA( sütun ), 1)Nerede?
- first_cell - adlandırılmış aralığa dahil edilecek ilk öğe, örneğin $A$2.
- sütun - sütuna $A:$A gibi mutlak bir referans.
Bu formülün özünde, ilgili sütundaki boş olmayan hücrelerin sayısını elde etmek için COUNTA işlevini kullanırsınız. Bu sayı doğrudan yükseklik OFFSET(reference, rows, cols, [height], [width]) fonksiyonunun kaç satır döndüreceğini söyleyen argümanı.
Bunun ötesinde, sıradan bir Ofset formülüdür, burada:
- referans ofseti temel aldığınız başlangıç noktasıdır (first_cell).
- sıralar ve cols her ikisi de 0'dır, çünkü dengelenecek sütun veya satır yoktur.
- genişlik 1 sütuna eşittir.
Örneğin, A2 hücresinden başlayarak Sayfa3'teki A sütunu için dinamik bir adlandırılmış aralık oluşturmak için şu formülü kullanırız:
=OFFSET(Sayfa3!$A$2, 0, 0, COUNTA(Sayfa3!$A:$A), 1)
Not: Geçerli çalışma sayfasında dinamik bir aralık tanımlıyorsanız, başvurulara sayfa adını eklemeniz gerekmez; Excel bunu sizin için otomatik olarak yapar. Başka bir sayfa için aralık oluşturuyorsanız, hücre veya aralık başvurusunun önüne sayfanın adını ve ardından ünlem işaretini ekleyin (yukarıdaki formül örneğinde olduğu gibi).
Excel'de dinamik bir adlandırılmış aralık oluşturmak için INDEX formülü
Excel dinamik aralığı oluşturmanın bir başka yolu da COUNTA'yı INDEX işleviyle birlikte kullanmaktır.
first_cell :INDEX( sütun ,COUNTA( sütun ))Bu formül iki kısımdan oluşmaktadır:
- Aralık operatörünün (:) sol tarafına, $A$2 gibi sabit kodlanmış başlangıç referansını koyarsınız.
- Sağ tarafta, son referansı bulmak için INDEX(array, row_num, [column_num]) işlevini kullanırsınız. Burada, dizi için tüm A sütununu sağlarsınız ve satır numarasını (yani A sütunundaki giriş olmayan hücrelerin sayısını) almak için COUNTA kullanırsınız.
Örnek veri setimiz için (lütfen yukarıdaki ekran görüntüsüne bakın) formül aşağıdaki gibidir:
=$A$2:INDEX($A:$A, COUNTA($A:$A))
A sütununda, sütun başlığı da dahil olmak üzere boş olmayan 5 hücre olduğundan, COUNTA 5 döndürür. Sonuç olarak, INDEX, A sütunundaki son kullanılan hücre olan $A$5 döndürür (genellikle bir Dizin formülü bir değer döndürür, ancak başvuru işleci onu bir başvuru döndürmeye zorlar). Başlangıç noktası olarak $A$2 ayarladığımız için, formülün nihai sonucu $A$2:$A$5 aralığıdır.
Yeni oluşturulan dinamik aralığı test etmek için COUNTA'nın öğe sayısını getirmesini sağlayabilirsiniz:
=COUNTA(Öğeler)
Her şey düzgün yapılırsa, listeye öğe eklediğinizde veya listeden öğe çıkardığınızda formülün sonucu değişecektir:
Not: Yukarıda tartışılan iki formül aynı sonucu verir, ancak performans açısından bilmeniz gereken bir fark vardır. OFFSET, bir sayfadaki her değişiklikte yeniden hesaplanan uçucu bir işlevdir. Güçlü modern makinelerde ve makul boyuttaki veri kümelerinde bu bir sorun olmamalıdır. Düşük kapasiteli makinelerde ve büyük veri kümelerinde, bu Excel'inizi yavaşlatabilir. Bu durumda, şunları yaparsınızdinamik adlandırılmış bir aralık oluşturmak için INDEX formülünü kullanmak daha iyidir.
Excel'de iki boyutlu dinamik aralık nasıl oluşturulur
Yalnızca satır sayısının değil sütun sayısının da dinamik olduğu iki boyutlu bir adlandırılmış aralık oluşturmak için INDEX COUNTA formülünde aşağıdaki değişikliği kullanın:
first_cell :INDEX($1:$1048576, COUNTA( first_column ), COUNTA( first_row )))Bu formülde, boş olmayan son satırı ve boş olmayan son sütunu almak için iki COUNTA işleviniz vardır ( row_num ve column_num sırasıyla INDEX fonksiyonunun argümanları). dizi argümanına göre, tüm çalışma sayfasını beslersiniz (Excel 2016 - 2007'de 1048576 satır; Excel 2003 ve daha düşük sürümlerde 65535 satır).
Şimdi de veri setimiz için bir dinamik aralık daha tanımlayalım: şu aralık satış Bu tablo 3 aylık (Ocak-Mart) satış rakamlarını içerir ve siz tabloya yeni ürünler (satırlar) veya aylar (sütunlar) ekledikçe otomatik olarak ayarlanır.
B sütunu, 2. satırda başlayan satış verileri ile formül aşağıdaki şekli alır:
=$B$2:INDEX($1:$1048576,COUNTA($B:$B),COUNTA($2:$2))
Dinamik aralığınızın olması gerektiği gibi çalıştığından emin olmak için aşağıdaki formülleri sayfanın bir yerine girin:
=TOPLA(satış)
=TOPLA(B2:D5)
Aşağıdaki ekran görüntüsünde görebileceğiniz gibi, her iki formül de aynı toplamı döndürür. Fark, tabloya yeni girişler eklediğiniz anda ortaya çıkar: ilk formül (dinamik adlandırılmış aralık ile) otomatik olarak güncellenirken, ikincisinin her değişiklikte manuel olarak güncellenmesi gerekecektir. Bu büyük bir fark yaratıyor, değil mi?
Excel formüllerinde dinamik adlandırılmış aralıklar nasıl kullanılır?
Bu eğitimin önceki bölümlerinde, dinamik aralıkları kullanan birkaç basit formül görmüştünüz. Şimdi, bir Excel dinamik adlandırılmış aralığının gerçek değerini gösteren daha anlamlı bir şey bulmaya çalışalım.
Bu örnek için, Excel'de Vlookup gerçekleştiren klasik INDEX MATCH formülünü kullanacağız:
İNDEKS ( return_range , MATCH ( lookup_value , lookup_range , 0))...ve dinamik adlandırılmış aralıkları kullanarak formülü nasıl daha da güçlü hale getirebileceğimizi görün.
Yukarıdaki ekran görüntüsünde gösterildiği gibi, kullanıcının H1'e bir ürün adı girdiği ve H2'de bu ürün için toplam satışları aldığı bir gösterge tablosu oluşturmaya çalışıyoruz. Gösterim amacıyla oluşturulan örnek tablomuz yalnızca 4 öğe içerir, ancak gerçek hayattaki sayfalarınızda yüzlerce ve hatta binlerce satır olabilir. Ayrıca, günlük olarak yeni öğeler eklenebilir, bu nedenle referansları kullanmak birçünkü formülü tekrar tekrar güncellemeniz gerekir. Ben bunun için çok tembelim! :)
Formülü otomatik olarak genişlemeye zorlamak için 3 ad tanımlayacağız: 2 dinamik aralık ve 1 statik adlandırılmış hücre:
Lookup_range: =$A$2:INDEX($A:$A, COUNTA($A:$A))
Return_range: =$E$2:INDEX($E:$E, COUNTA($E:$E))
Lookup_value: =$H$1
Not: Excel tüm referanslara geçerli sayfanın adını ekleyecektir, bu nedenle adları oluşturmadan önce kaynak verilerinizin bulunduğu sayfayı açtığınızdan emin olun.
Şimdi, formülü H1'de yazmaya başlayın. İlk bağımsız değişkene gelindiğinde, kullanmak istediğiniz adın birkaç karakterini yazın; Excel mevcut tüm eşleşen adları gösterecektir. Uygun ada çift tıklayın; Excel bunu hemen formüle ekleyecektir:
Tamamlanan formül aşağıdaki gibidir:
=INDEX(Return_range, MATCH(Lookup_value, Lookup_range, 0))
Ve mükemmel çalışıyor!
Tabloya yeni kayıtlar eklediğiniz anda, formülde tek bir değişiklik yapmanıza gerek kalmadan hesaplamalarınıza hemen dahil edilecektir! Ve formülü başka bir Excel dosyasına taşımanız gerekirse, hedef çalışma kitabında aynı adları oluşturmanız, formülü kopyalayıp yapıştırmanız ve hemen çalıştırmanız yeterlidir.
İpucu: Formülleri daha dayanıklı hale getirmenin yanı sıra, dinamik aralıklar dinamik açılır listeler oluşturmak için kullanışlıdır.
Excel'de dinamik adlandırılmış aralıkları bu şekilde oluşturabilir ve kullanabilirsiniz. Bu eğitimde tartışılan formüllere daha yakından bakmak için örnek Excel Dinamik Adlandırılmış Aralık Çalışma Kitabımızı indirebilirsiniz. Okuduğunuz için teşekkür eder, gelecek hafta blogumuzda görüşmek dileğiyle!