Tablolar
Tablolar(Eski adıyla Liste) gücünü ve önemini geç keşfettiğim araçlardan birisidir. Naçizane benim görüşüm MIS'le ilgilenen kişilerin bunları mutlaka bilmesi ve kullanması gerektiğidir.
Tablolar belirli bir dış veri kaynağını içeriyor olabilecekleri gibi düz listeleri de Tablo haline getirebilir ve Tabloların gücünden faydalanabiliriz. Biz burada düz listelerin nasıl Table haline getirileceğini göreceğiz. Dış veri kaynaklarını başka bir bölümde ele alıyor olacağız.
Home menüsünden Format as Table düğmesi ile bir listeyi çok sayıdaki formatlı tablolardan birine dönüştürebilirsiniz. Aşağıdaki resimde bunlardan bazılarını görebilirsiniz.
Gördüğünüz üzere tablo formatları genelde zebra desenlidir, yani bi açık bi koyu. Ve işin güzel tarafı bu format, yeni data eklense veya aradaki kayıtlar silinse dahi korunmaya devam eder. Mesela ben aşağıdaki tablodan Anadolu2 bölgesini silersem Başkent1'in olduğu altıncı satır otomatikman beyaz ve sonrakiler de bi mavi bi beyaz olarak güncellenir. Manuel zebra deseni uygulanmış bir listede ise Anadolu1 de Başkent1 de mavi olacak ve desen bozulmuş olacaktı.
Bu da Anadolu2'nin silinmiş halidir.
Data alanını Table haline getirmeden önce kontrol edilmesi gereken bazı noktalar bulunmaktadır.
- Listenin ilk satırında benzersiz kolon başlıkları olmalıdır ve boş hücre olmamasına dikkat edilmelidir.
- Listede tamamen boş bir satır olmamasına özen gösterilmelidir.
- Liste, sayfadaki başka veri kümelerinden en az bir boş satır ve bir boş kolon ile ayrı olmalıdır.
Tabloların normal listelere göre 5 ana üstünlüğünden bahsedebiliriz. Bunlar;
- Format avantajı
- Name davranışı
- Pivot(Özet) Tablo kaynağı olması
- Slicer kullanımı
- Formül kolaylığı
Bunlardan Format faydasını yukarda görmüştük. Şimdi diğer 4 maddeye bakalım.
Tablolar, sadece belirli bir veri kümesinin formatlanması demek değildir. Aynı zamanda özel bir alan oldukları için bir Named Range gibi davranırlar ve birçok durumda(VBA dahil) Name olma avantajlarını kullanırlar.
Mesela aşağıdaki formülle bu tabloda ne kadar kayıt olduğunu saydırabilirsiniz. (NOT:Table isimleri sadece DSUM gibi Veritabanı fonksiyonlarında kullanılamazlar)
=ROWS(Table1)
Veya aşağıdaki gibi bir VBA kodu içinde Named Range olarak kullanılabilirler.
Sub tableornek()
Range("Table1").Select
End Sub
Tablolar, Özet tablolara veri kaynağı teşkil edebilirler. Üstelik normal data kaynaklarından farklı olarak tek sefer tanımlanmaları yeterlidir. Böylece veri listesine yeni data eklendikçe Özet tabloyu güncellemek için veri kanağını genişletmenize gerek kalmamaktadır. Bu konuyu ÖzetTablolar bölümünde gördüğümüz için burada ayrıca detaylara girilmeyecektir.
Normal data listelerinde Slicer türü filtreler uygulanamazken Table'lara 2013 versiyonundan itibaren Slicer da uygulanabilmekte ve böylece data kümeniz Dashboard ekranları hazırlamaya daha uygun hale gelmektedir. Slicerlar hakkındaki detaylı bilgiye buradan ulaşabilrisiniz.
Table'larda hem Table içi formül yazmak, hem de başka bir yerden formül başvurusunda bulunmak çok kolaydır.
Önce Table içine formül yazmaya bakalım. Aşağıdaki gibi bir listede G kolonuna sonradan Barem diye bir kolon ekedim. Şimdi buraya bir formül yazarak Tutar'a göre çeşitli baremler(gruplar) oluşturacağız.
Formül yazmaya başladığımda seçtiğim hücreler D2 gibi görünmek yerine "@" işaretini takiben kolon başlıkları şeklinde görünürler.
Formülü yazıp Enter'a basılınca formül otomatik aşağı iner.
Burada önemli bir husus var: Eğer tablomuz bir veritabanından beslenen bir tablo ise sonraki refreshlerde yeni gelen data için formüllerin aşağı inme sorunu yaşanabilmektedir. Böyle olmaması için gereken bazı ayarlamalar var, ona dış data bölümünde ayrıca değineceğimiz için burada girmiyoruz.
Bu arada, çok isteyeceğinizi sanmam ama olur da formüllerin otomatik olarak aşağı inmesini istemiyorsanız Options>Proofing>AutoCorrect Options altında aşağıdaki işaretli ticki kaldırabilirsiniz.
Başka bir yerden tablomuza formülle de başvurulduğunda aynı rahatlığı görebiliriz. Aşağıdaki resimde gördüğünüz gibi formülde D:D gibi kolon harfleri yerine kolon başlıkları yer almakta ve bu da sonradan yapılacak formül kontrolü, bakım, düzeltme gibi işlemleri kolaylaştırmaktadır.
Burda tabi dikkat edilmesi gereken nokta, kolonu seçerken kolon harfine değil, ilgili Table başlığına tıklayarak seçmektir.
Mesela şu seçim şekli yanlışkken,
KANAL'ın üzerindeyken çıkan siyah ok varken seçmek doğrudur.
En temizi ise, ekranı bir iki satır scrolldown yapıp Gri renkli Tablo başlıklarının çıkmasını sağlayıp o şekilde seçmektir.
Bu arada sadece başlık hücreleri seçildiğinde de aşağıdaki gibi bir ifade yazar. "Yani Table1'in Başlıklarından TUTAR".
Bunu da özellike başlıklarda çeşitli kategorilerin olduğu durumlarda, OFFSET ve MATCH formülüyle birlikte kullanabilirsiniz. Aşağıdaki örnekte bir kesişim noktası bulunmaktadır. Kesişim formüllerine Lookup Formülleri bölümünde detaylıca değinilecektir.
NOT:Table'lara yapılan başvuruların daha etkin kullanımı için MSDN'deki bu sayfaya da göz atmak isteyebilirsiniz.
Table'ı normal alana çevirme
Bir nedenle data kümenizi Table olmaktan çıkarıp normal bir alana çevirmek istediğinizde Table menüsünden Convert to Range demeniz yeterli. Bunu yaptığınızda listeniz, format olarak hala Table formatını korumuş görünse de, aradan bir satır sildiğinizde otomatik zebra deseninin devam etmediğini görürsünüz.
Diğer
Tablo oluşturduğunuzda ona Table1 gibi otomatik bir isim verilmektedir. Ancak siz bunu isterseniz aşağıdaki ilk dairedeki gibi değiştirebilirsiniz.
Tablolara yukardaki gibi Diptoplam satırı da ekleyebilirsiniz(ikinci dairedeki seçim ile), ve bunları sadece Toplam şeklinde değil Min/Max/Ortalama gibi diğer grup fonksiyonları şeklinde de kullanabilirsiniz.
Table menüsünde yine diğer ilgili menülerden de ulaşabileceğiniz Özet Tablo, Slicer, Remove Duplicates(Mükerrerleri kaldırma) toollarına da erişebilirsiniz.