30.09.2018 tarihinde Excel bölümüne Dış Verilerle çalışmak sayfası eklenmiştir

04.08.2018 tarihinde VBA bölümüne ObjelerDünyası sayfası eklenmiştir

25.07.2018 tarihinde VBA bölümüne Outlook programlama sayfası eklenmiştir

13.07.2018 tarihinde VBA bölümüne Formlar-Kontroller sayfası eklenmiştir

25.05.2018 Hosting şirketi dğeiştirmekten kaynaklı bir hata nedeniyle Excelent add-ini indirirken hata alınmaktaydı. Bu hata düzeltilmiştir. İki ayrı download alternatifi sunulmuştur. Kurumunuzun BT politikalarının veya şahsi PC’nizdeki güvenlik ayarlarının izin vermesi durumunda yöntemlerden biriyle kurulum yapabilmelisiniz. Bi sorun olursa bana iletebilirseniz sevinirim.

Excel Insert Menüsü 2

Grafikler

Grafikler elimizdeki ham veriyi görselleştirme ve daha hızlı anlayıp yorumlamamızı sağlayan en güçlü araçlardandır. Hatta Excelle o kadar bütünleşmiştir ki, birçok Excel kitabı/sitesi logosunda veya giriş görselinde bir grafik kullanır.

Bu kadar bilindik oldukları ve bu siteyi inceleyenlerin temel grafik bilgilerine sahip olduklarını düşündüğüm için bunlar hakkında genel bilgileri burada vermeyeceğim. Onun yerine birkaç püf noktası ve önemli birkaç grafik türüne değineceğim.

Sayfa boyunca işlediğim örnekleri içeren dosyayı buradan indirebilirsiniz.

Şık Grafikler için ipuçları

Bu ilk kısımda gerek kendi deneyimlerimden, gerekse grafik gurularının tavsiyelerinden ortaya çıkan tavsiyeleri bulacaksınız.

Grafikleri, elmizdeki datanın dış dünyaya açılan kapısı olarak görebiliriz. Bu nedenle onları ihmal etmemek ve gereken önemi vermek lazım gelir. Zira binbir zorlukla ürettiğiniz(belki uzun bir SQL yazdınız, Excel içine gömdünüz, Excelde bunu otomatize etmek için yine uzunca bir makro yazdınız v.s) datayı zayıf bir şekilde sunarsanız emekleriniz heba olabilir. Özetle işin pazarlamasını iyi yapmamız gerekiyor. Bu, aynı zamanda insanların sizi sadece "Datacı" etiketiyle yaftalamalarını da engellemiş olur :)

Şimdi tavsiyelere bakalım.

Doğru grafik türü

Öncelikle doğru grafik türünü seçerek başlayalım. Bu, çoğu durumda çubuk veya çizgi grafik olacaktır. Kategorilerin birbirine göre durumu daha çok çubuk grafikle gösterilirken trendler ise daha çok çizgi grafik olarak gösterilmektedir.

Aşağıda bölgelerin hacimsel grafiği bulunmakta.

Trend örneği ise şöyle olacaktır.

Ancak her trend grafiği illa çizgi grafik olmak zorunda değil. Bu örnekte sürekli üzerine eklenen(arada istisnalar olabilir, sezonsallık v.s nedeniyle düşüş) türde bir trend sözkonusu. Ancak aşağıdaki gibi günlük satış trendi dalgalanan bir yapıda olabileceği için bunu çubuk olarak izlemek daha uygun olacaktır. Zira buna bir de aşağıda göreceğimiz gibi ortalama çizgisi de eklemek istenmesi muhtemeldir, iki çizgi de genelde çok şık durmaz.

Bazen de Çubuk ve Çizginin bir kombinasyonu da gösterilebilir. Aşağıda bunun nasıl yapıldığı ayrıca gösterilecektir.

Eğer karşılaştırma yapacağınız bir data kümesi varsa ve bu küme çok kalabalık değilse, ve bunlardan özellikle biri diğerlerinden önemli ölçüde büyükse Pie grafikler de seçilebilir.

Sıralama şekli

Eğer, kategorideki eleman sayısı çok fazlaysa alfabetik gösterim yerine rakama göre sıralanmış şekilde gösterim daha uygun olabilir.

Arkaplan çizgilerini kaldırın

Arkaplan çizgileri(Gridlines) çok zaruri değilse kaldıralım.

Grafiklerimiz bu yukardaki kadar basit olmayacaktır, bunlara ortalama çizigisi, trend çizgisi gibi diğer unsurlar da eklendiğinde arkaplan çizgileri iyice kalabalık olur, o zaman mutlaka kaldırın.

Aşırı formatlamadan uzak durun

Aşırı renklendirme, arkaplan deseni ekleme, 3D efektleri abartma gibi yolalra başvurmayın. Bunları dozunda kullanmak iyi bir fikirken aşırı kullanım grafiğinizi, makyajı abartmış kokoş bir kadına benzetebilir. Özetle, Grafiğinizin güzelliğini aşırı makyajla berbat etmeyin.

Aşağıdaki gibi orta karar bir formatlama yeterli olacaktır.

Öne çıkarmak istediğiniz grafiğin rengini ve ağırlığını da daha çarpıcı hale getirebilirsiniz. Aşağıda iki eksenli grafikteki gibi.(Farkettiyseniz ben kırmızı çizgiyi biraz abarttım, işte bu aşırı makyajdır, bundan bir ton daha ince olabilir)

Legend kullanmalı mı kullanmamalı mı

Tek boyutlu bir grafikse kesinlikle kullanmayın. Gerekirse Başlık içinde boyut ismini geçirin. İki boyutlu grafiklerde özellikle combo(2 eksenli) grafikse neyin ne olduğu belliyse yine Legend kullanmanıza gerek yoktur.

Mesela aşağıdaki grafikte sol eksen büyük rakamlara aittir ve bunlar kredi kullandırım tutarını gösterirken, sağ eksen kullandırım adedini gösterir ve çizgi ile gösterilir. Genelde Büyük rakamlar çubukla, küçük rakamlar çizgi ile gösterilebilir.(Bu bir norm değildir, sadece bizim kurumdaki genel kullanım şeklidir, sizin dünyanızda tersi durum da olabilir)

Gerekli yerlerde not kutuları kullanın

Soru işareti olabilecek yerlerde(aşırı dalgalanma gibi) gerekli açıklamaları mümkünse grafik üzerinde gösterin. Böyle birden fazla durum varsa grafik üzerinden göstermek yerine, grafik altında dipnot olarak gösterilebilir.

Ölçeklendirmeye dikkat edin

Aşağıdaki grafiğe baktığımızda sanki günler arasında çok dalgalanma varmış gibi görünüyor. Bu, dataya çubuk grafik şablonu uyguladığımda çıkan otomatik grafikti. Y eksenine bakacak olursanız en küçük değer 2.940.000'tan başlıyor.

Halbuki başlangıç noktasını 0'a çekersek o kadar da bir dalgalanma olmadığını görebiliriz.

Hangi durumlarda başlangıç değerinin 0, hangi durumlarda ise daha yukarda bir değer olacağını iyi netleştirin.

İnsanların kafasını yana yatırtmayın

Eksenlerdeki kategori isimlerinin uzun olduğu durumlarda eğimli gösterim şeklini tercih etmeyin. Mesela aşağıda grafik çok şık görünmüyor.

Alternatif olarak şunu da denemeyin(Her ne kadar yukarıdaki bazı örneklerde bu şekilde kullanmış olsam da)

Onun yerine biraz daha basit düşünüp grafiği yatay çubuklar şekline dönüştürebilirsiniz. Duruma göre Axis'te Dates in reverse order seçeneğini işaretlemeniz gerekebilir.

Tabi bu seçeneği kullandığınızda da grafiğin aşağı doğru çok fazla uzamamasına dikkat etmelisiniz.

Grafik Örnekleri

İki eksenli grafik çizimi

İki eksenli grafik yapmak 2013 öncesi versiyona kadar biraz uğraştırıcıydı. Hani ilk bakışta nasıl yapılacağını bilemediğniz, mulaka araştırmanız gereken konulardan biriydi. Ama sağolsun Microsofttaki geliştiriciler her yeni sürümde işleri biraz daha basitleştiriyor ve ilave araştırma yapmadan kullanılabilecek tarzda araçlar geliştiriyorlar. 2 eksenli grafikler de bulardan biri. Bunun için tek yapmanız gereken mevcut alışkanlıklarınızın dışına çıkmak ve "ne yenilikler varmış" diye yeni versiyonu şöyle bi kurcalamak.

Excel 2013 kullandığı halde aşağıdaki bu grafik türünü (2 eksenli)  görmeyen veya görüp de içine bakmayan çok kişi olduğuna eminim, hatta bazılarını tanıyorum bile :)

Şimdi şöyle bir data kümemiz olsun.

Tek yapmanız gereken hangi alanın çubuk hangisinin çizgi(veya başka kombinasyonlar da olabilir, ama en yaygını budur) ve bunlardan hangisinin 2.eksen olacağını seçmek.

Sonuç aşağıdaki gibi olacaktır.

İki eksen geldiğinde grafiğin orta alanı iyice daralır, o yüzden eksenleri uygun metrik dilimde göstermek akıllıca olacaktır. Mesela bu örnekte 1.ekseni milyonlar halinde gösterelim.

Bunun için bu eksene sağ tıklayıp Format Axis diyoruz ve Display Units bölümünü Millions olarak değiştiriyoruz.

Ve sonuç:

Not:İsterseniz sağ ekseni de 1000ler şeklinde gösterebilirsiniz.

Ortalama çizgisi ekleme

Microsoft geliştiricileri şüphesiz her yeni versiyonda güzel şeyler ekliyorlar ancak anlayamadığım şekilde grafiklere ortalama çizgisi ekleme seçeneğini hala yapmadılar. Bunun için kendi alternatif yöntemlerimizi geliştirmemiz gerekiyor.

Ortalama çizgisini tek eksenli grafiklerde ekleyebileceğimiz gibi çift eksenlilere de ekenebilir. Gelin biz bir üstteki çift eksenli grafiğe ekleyelim.

Yapacağımız şey, datamıza yeni bir kolon ekleyip ilgili sütunun ortalamasını almak olacak.

Sonra grafiğimizin kaynak datasını D kolonuna uzayacak şekilde genişletelim.

O da ne! İsteğimiz şey olmadı. Tamam, Ort Tutar kolonu istediğimiz gibi çizgi şeklinde geldi ama yanlış eksende duruyor.

Change Chart Type diyoruz. Ortalama Tutarımız, eksen türü olarak 2.eksende seçiliydi, bundaki tick işaretini kaldırıyoruz. Bu kadar.

Şimdi tamamdır.

Çizeceğimiz çizgi illa ortalama olmak zorunda değildir. Belirlenen herhangi bir eşik değer de grafiğe aynı şekilde eklenebilir. Mesela günlük 3 mio Kullandırım altında kalınan günleri görmek isterseniz, Ortalama formülü yazdığınız kolona direkt 3.000.000 yazabilrsiniz. Veya hem ortalama hem de eşik değeri ikisni de kullanabilirsiniz.

Pareto Grafiği ile kümülatif toplam görme(2016)

Bir başka faydalı geliştirme örneği daha. 2016 öncesinde bir pareto grafiği çizmek için datayı sıralamak ve ilgili datanın yanında iki yardımcı kolon açmak  gerekiyordu. Biri kümülatif toplamı, diğeri kümülatif yüzdeyi göseren iki kolon. Sonra bunları iki eksenli grafik haline getirmek gerekiyordu. 2016 versiyonunda bu grafiği tek seferde çizdirebiliyoruz.

Bu arada pareto grafiği de nedir derseniz kısa bir açıklama yapalım, daha detaylı bilgiyi küçük bir google araştırmasıyla bulabilirsiniz. Pareto teorisine göre herhangi bir aktivitede bir sonucun %80sini, o aktiviteye katılanların %20si oluşturur. Mesela bankacılık örneğinde gidersek, bir şubenini müşterilerinin %20si, o şubenin karının %80ini oluşturur. (Bilgi:bu durum o şube için iyi bişrşey değildir, zira müşteriler tabana yaygın durumda değildir. En büyük müşterinin çıkmasıyla şubenin karlılığı altüst olabilir.) Perakende tarafından örnek verecek olursak, bir marketler zincirinin karının %80ini, marketlerin %20si oluşturmaktadır. Tabi bu 80-20 kuralı işin teorisi. Pratikteki durumu görmek için bu grafiği çizdirmemiz gerekiyor. Ayrıca banka şubesi örneğinde olduğu gibi çıkan değerin iyi mi kötü mü olduğunu ayrıca yorumlamak gerekiyor.

Şimdi önce datamıza bakalım. Bir banka bölge müdürlüğünün şubelerinin belirli bir kalemdeki rakamları aşağıda gibi olsun.

Recommended Charts içinde en altta Paretoyu seçiyorum.

Bu grafik türüne All charts içinden, Histogram türündeki grafiklerden ikincisini seçerek de ulaşabilirsiniz.

Grafiğimiz Önizlemedeki gibi aynen gelir. Farkettiyseniz şubeleri boy sırasına dizmediğim halde grafiğimiz boy sırasına göre geldi.

Çizgi olarak görünen şey, kümülatif yüzdesel değerleri ifade eder ve sağ eksen üzerinden okunur. Burada %80lik dilime gelen grubu görebilirsiniz. Ancak spesifik olarak tam neresi %80in altında kalıyor diye görmek isterseniz bunun için eski yöntemle Pareto grafiği çizmemiz gerekiyor. Zira 2016 sürümünde malesef %80 çizgisi ekleme diye bir seçenek yok. Sanırım bunu da bir sonraki versiyona sakladılar.

Şimdi bir de eski yöntemle grafiğimizi oluşturalım, böylece 2016 versiyonu kullanmayanlara da Pareto grafiğini çizme yöntemini göstermiş olalım.

İlk olarak datamızı boy sırasına sokalım ve sonra Kümülatif Toplam ile Kümülatif Yüzde kolonlarını oluşturalım.

Datamız hazır olduğuna göre şimdi Combo grafik hazırlayabiliriz. Kümülatif Hacim datasına grafikte ihtiyacımız yok, ister bu kolonu gizleyip grafiğiniz oluşturun, isterseniz grafik oluştuğunda bunun çubuklarına tıklayıp silin. (Tabiki Kümülatif yüzde kolonunu tek bir formülle de yazabilir ve Kümülatif yüzde kolonuna hiç ihtiyaç duymayabilirdiniz)

Son olarak bu grafiğe bir de eşik değer olarak %80 kolonunu ekleyeceğiz. Bunu da datamıza yeni kolon ekleyerek yapacağız. Sonra da Grafiğimizi seçip Select Data der ve yeni alanımızı seçeriz(Gerekmesi durumunda eksenleri tekrar ayarlarız)

Ve işte grafiğimizin nihai hali aşağıdaki gibidir. Gördüğünüz gibi 5.şubeden itibaren %80lik dilimi yakalıyoruz. Yani bu durumda şubelerin %41'i(5/12si) toplam hacmin %80ini üretiyormuş.

Stacked Column/Bar ile değerleri sağlı sollu(aşağı yukarı) görme

Aşağıdaki gibi biri pozitif diğeri negatif olan iki veri kümeniz olsun. Bunları birarada göstermenin en iyi yöntemi Stacked grafik türleridir.

Recommended Charts altında da çıkan olan Stacked Bars'a ilk önerimiz olarak bakalım.

Bölge isimlerini en solda görmek için bu ekseni seçip Format Axis diyelim ve Label Position olarak Low ayarlayım.

 

Bu arada bölgeleri Bölge1 yukarda olacak şekilde dizmek istersek, Format Axis içinde Categories in Reverse Order seçeneğini işaretleriz.

Bunun Çubuk versiyonu da aynı şekilde kullanılabilir. Kategori sayısı arttıkça Çubuk yerine Bar kullanımı daha uygun olacaktır, zira aşağıdakinde olduğu gibi Bölge isimlerini tam okumak için kafalar hafif yana yatmak durumunda kalıyor.

Bu grafik türlerinin ikisinin de %100 versiyonları da var. Bu, eksenleri mutlak değere göre değil, iki değerin mutlak büyüklüklerini %100 olacak şekilde bölümlere ayırmak anlamına geliyor. Aşağıda Stacked Column'nın %100 versiyonu görünüyor.

Bir diğer alternatif de negatifleri pozitif yaptıktan sonra Stacked grafik uygulamak. Benim tercihim, pozitif ve negatifin ayrı ayrı olduğu versiyonlardır, zira iki pozitif olduğunda sanki beyin olayı anlamak için ekstradan çabaya giriyor gibi geliyor bana. İşte bu da aşağıda.

İki pozitifli datayı Stacked %100 yapınca hepsinin uzunluğu sabit olduğu için bölgelerin birbirine göre durumu daha iyi karşılaştırılabiliyor. Bu da seçenekler arasında olabilir.

XY(Scatter) grafiği ile dağılım yoğunluğunu görme

Aşağıdaki gibi bir data kümeniz var ve siz hem Hedef Gerçekleştirme Oranı(HGO%) hem de geçen yıla göre artış oranı küçük bölgeleri yakın izlemeye almak istiyorsunuz diyelim. Bununla beraber diğer 3 kombinasyonu da görmek istiyorsunuz, kim nerede diye. Bunu basit bir IF formülü ile de yapabilirsiniz, ancak bu yöntemde 2 soru karşımıza çıkar. 1- Hangi spesifik değer altını/üstünü hangi kategoriye koyacaksınız, bunu seçmek zor olabilir 2-Seçtiniz diyelim, bunları görsel olarak görmenin rahatlığını elde debilecek misiniz?Çok büyük ihtimalle hayır.

İşte böyle durumlarda XY(Scatter) Grafikleri en uygun çözümü sunar. Recommended Charts içinden seçelim kendisini.

Bu haliyle çok yavan, yine de üç aşağı beş yukarı yoğunlaşma bölgelerini görebiliyorsunuz, ama daha işimiz var, şimdi biraz bu grafiğe çeki düzen verelim.

Öncelikle her iki eksendeki min ve max noktalarını iyi belirleyelim ki, boş alanlar gereksiz yer kaplamasın. Bunun için X eskenine sağ tıklayıp Axis Options'a girip Bounds>Minimum değerini 0,6 yapıyorum. Bu arada arka plandaki grid çizgilerini kaldırıyorum.

Şimdi Y ekseninin X eksenini tam ortasından kesmesini sağlayacağım, aynı zamanıda X ekseni de 0 çizgisinden değil, Y ekseninin min ve max değerlerinin ortasından geçsin isityorum.(İlla orta noktalardan geçmek zorunda değil, isterseniz belirlediğiniz referans değerlerden de geçebilir)

Önce Y'yi halledelim: 0,6 ile 1,60'ın ortası 1,10. Şimdi burası biraz karışık gelebilir. Y eksenini ayarlıyoruz dedik ama beklediğinizin aksine Y eksenini değil X eksenini seçip Axis Options deriz ve Vertical(yani Y) eksenin geçtiği noktayı Automaticten Axis Value=1,1'e değiştiririz.

 

Hemen arkasından Y eksenini seçip Label Position olarak Low deriz, ve Fill&Line alt sekmesinden de Line formatını Solid Line seçip rengini de siyah olarak belirleyelim.

ve bu haliyle grafiğimiz biraz daha istediğimiz şekle bürünmüş oldu.

Şimdi de X eksenini biraz yükseltelim. -20 ile +40'ın ortası +10dur. Bu sefer Y eksenini seçip, Eksenin geçtiği nokta olarak 0,1 değeri girilerek, X eskeni için Label Position'ı Low ve Solid Black line seçimleri yapılır. Bu arada Y ekseni için max değeri %50den %40a da çekelim, onu unutmuşuz, yukarda %10luk alan boş yere işgal olmasın.

Son olarak otomatik gelen başlığı da daha anlamlı hale getirelim.

Vee işlem tamamdır.

Şimdi aklınıza şöyle bir soru gelebilir. Bu eksenlerin ikisi de yüzdesel, bunlardan hangisi hangisi? Grafiğe Axis Title ekleyerek bu sorunu çözebileceğiniz gibi grafik alanınızı daraltmamak adına akıl yürütme yoluna da başvurabilirsiniz. Siz bilirsiniz ki HG% oranı genelde %100 etrafındadır ve asla negatif olamaz; artış oranları ise hem negatif olabilir hem de göreceli daha düşük değerlerdir. Bu bilgiyle Y ekseninin artış ekseni, X ekseninin de HGO ekseni olduğunu anlarsınız. Tabi bazı durumlarda bir eksen mutlak değer bir eksen yüzdesel olur, ki böye durumlarda neyin ne olduğu zaten bellidir.

Buraya istenise 4 adet textbox konarak bölmelerin açıklaması ve önem sırasına göre numaralandırılması yapılabilir.

Peki hangi yuvarlak nokta hangi Bölgeyi ifade ediyor. İşte bu sorunun cevabı Excel 2013e kadar verilemiyordu. 2013 ile birlikte bu sorun da çözüldü. Bunun için öncelikle grafiğimize Data Labels eklememiz lazım.

Sonrasında bu Data Labellara tıklarayarak, Value From Cells seçimi yapılır, istenirse Y değerlerinin gösterilmemesi de sağlanır, zira ne kadar çok veri o kadar karmaşa demektir.

Alan olarak bölge isimlerinin olduğu yer seçilir.

Nihai grafiğimiz aşağıdaki gibi olacaktır

Dinamik Seçimler

Her bölgenin şubeleri için böyle bir çalışma yapmanız gerekti diyelim. İşler o zaman biraz karmaşıklaşır. Bi kere her bölgenin min/max değerleri farklı olacağı için her bölge seçiminde ona göre min max ve orta noktaların ayarlanması için makro yazımı gerekir. Bu arada esas soru seçimin ve seçilen bölgeye göre şubelerin gelme işinin nasıl yapılacağıdır. Bu işlem, Data Validation ile bölge seçimi ve Dinamik Named Range ile  şubelerin listelenmesi şeklinde olabileceğini gibi, daha basit olarak Table üzerinde Slicer kullanımı ile de sağlanabilir, ancak bunun için en az 2013 versiyonu gereklidir. Her iki örneği de Çeşitli Örnekler bölümünde ele alıyor olacağız.

Treemap ve Sunburst ile hiyerarşik grafik oluşturma(2016)

Veri kümenizi hiyerarşik bir bakış açısıyla incelemek istiyorsanız 2016 ile gelen Treemap ve Sunburst grafik seçenekleri bu iş için uygundur. Özellikle bir bölgenin belli bir kalemdeki en büyük bir iki şubesi kimlermiş diye görmek istediğinizde ama bunu tek seferde tüm bölgeler için yapmak istediğinizde idealdirler.

Treemap

Bu grafik türünde sadece 2 boyut bulunur:Ana ve alt kategori(Bölge ve şube gibi). Alt kategoriler birbirlerinden bulunduklar dikdörtgenin büyüklüklerine göre kolayca ayrıştırılabilir ve boy sırasına göre büyük dörtgenlerden küçük dörtgenlere doğru dizilirler.

Bölge isimlerini sol üstte görmek yerine başlık olarak da görmek mümkündür. Bunun için grafiğe sağ tıklayın, Format Data Series deyin, Series options altında Label Options'ı Banner olarak seçin.

Banner ilk başta gri idi, gri genelde pasif alanların rengi olduğu için ben her bir bölgeyi seçerek ayrı ayrı başlıklarıyla birlikte renklendirdim.

Değerleri de grafikte görmek isterseniz labellara sağ tıklayıp Format data label dedikten sonra Value seçeneğini işaretleyin. Değerleri sadece alt kategoride gösterdiğine dikkat edin.

Sunburst

Eğer, kategori altında birden fazla seviyede alt kategori varsa Treemap yerine Sunburst kullanmakta fayda var, zira Treemap her zaman ana kategori ile en sondaki alt kategoriyi ele alır, aradaki diğer seviyeleri eler.

Data kümemiz şöyle olsun:

Sunburst uygulanınca;

Kategorileri tek tek seçerek odağınızı keskinleştirebilirsiniz.

Bir seviye daha inelim, Ürün1e tıkladım.

Bi tane daha inelim, Şube7'ye tıklayalım, ayrıca üzerinde bekleyerek değerini de görelim.

Rakamları grafiğin içinde de gösterebilirsiniz ancak kategori sayısı çok olduğu için zaten iyice sıkışk bir alanımız vardır, bunun yerine yukarıdaki gibi alanların üzerine gelerek görme yöntemini tercih etmenizi öneririm. Ama ille de grafikte görünsün isterseniz Treemaps'te yaptığımız gibi Labellara sağ tıklayarak Value kutusunu işaretleriz. Yine Treemaps'te olduğu gibi sadece en alt seviyede rakam gösterildiğine dikkat edin.

YORUMLAR