Application.WorksheetFunction ile VBA’de VLookup Fonksiyonunu Kullanmak

Merhaba,

Bu makalemizde VBA kodunuza bir Excel fonksiyonu nasıl uygulayabileceğimizi anlatacağım. Makro yazarken bazı durumlarda Excel’in yerleşik fonksiyonlarından birini kullanmak isteyebiliriz. Bu durum makro yazarken mümkündür. Örneğin Düşeyara fonksiyonunu makro kodu içinde Excel’de olduğu şekliyle kullanabiliriz.

VBA’da bulunmayan pek çok fonksiyon vardır ama yerleşik Excel fonksiyonlarından VLookup, Max, Min ve daha birçok Excel işlevini doğrudan VBA makronuzdan çağırmak için Application.WorksheetFunction uygulamasını kullanırız.

Aşağıdaki Excel tablosunda standart bir Excel fonksiyonunu kullanmak isteyelim.


Yukardaki örnekte Oya adlı personelin maaşını VLookup’u kullanarak bulmak istiyoruz . Makro ile bunu aşağıdaki gibi yazarız:

Sub VLookupFonksiyonu()

Dim ArananMaas As Double

ArananMaas = Application.WorksheetFunction.VLookup(“Oya”, Range(“A:F”), 5,0)

MsgBox Format(d1, “Currency”) ,, “VBA Vlookup fonksiyonu”

End Sub

Makro aşağıdaki gibi sonuç üretir:

Vlookup yazmaya başladığımızda altındaki etikette sadece Arg1,Arg2,Arg3,[arg4] yazdığını göreceksiniz. Haliyle Excel’deki gibi çok açıklayıcı bir etiket olmadığı göze çarpıyor ve pek kullanıcı dostu olmayan bir bilgi çıkıyor.

Bu çok kullanışlı değil, ancak sadece WorksheetFunction fonksiyonlarının argümanlarının standart Excel fonksiyonlarının argümanlarıyla aynı olduğunu bilin. Ancak sözdizimi farklı olabilir.

Excel’de formülü nasıl kullanacağınızı biliyorsanız, VBA WorksheetFunction yöntemini kullanarak formülün nasıl kullanılacağını bildiğinizden emin olabilirsiniz.

Application.WorksheetFunction kullanarak arayabileceğiniz düzinelerce işlevin sadece birine değindim . Tam bir liste için VBA Düzenleyicinizi açın ve kod yazmaya başlayın Application.WorksheetFunction. dediğinizde “Sözcük tamamlama” etkinse (Ctrl-Space), VBA makrolarınızda kullanabileceğiniz düzinelerce yerleşik Excel fonksiyonu arasında gezinebilirsiniz!

Yukardaki örnek deki gibi birçok fonksiyonu kod kısmında rahatlıkla kullanabilirsiniz. Bunun birkaç avantajı var bunlardan birisi kodlar çok kısalacaktır ikincisi yerleşik fonksiyonlar çok hızlı çalışırlar.

Özellikle topla, ortalama, mak, min tarzında fonksiyonlar çok sık kullanıldığı için yazdığımız kodlarda büyük avantaj sağlarlar.

Sonuçta var olan bir yapı mevcutsa kısa zamanda etkin kodlar yazmak isteniyorsa Application.WorksheetFunction nesnesi oldukça işe yarar biryapıdır. Bunların yanı sıra bazı fonksiyonlarda bu nesneyi kullanmayız örneğin left ,right gibi metinsel fonksiyonları Exceldeki gibi doğrudan yazarız bu fonksiyonlar için Application.WorksheetFunction nesnesi kullanılmaz.

Aşağıdaki örnekteki fonksiyonlar VBA yerleşik fonksiyonları olduğu için Application.WorksheetFunction yapısı kullanılmaz doğrudan yazılırlar.

Sub MetinselFonksiyonlar()

Dim isim as string

isim = “Cihan Doğan”

buyukharf = UCase(isim)

kucukharf = LCase(isim)

ilk2karakter = Left(isim, 2)

End Sub

Burada dikkat edilmesi gereken konu Excel’de ki fonksiyon adı ile her zaman aynı olmayabilir. Örneğin Büyükharf fonksiyonu Excel’de Upper diye yazılır VBA kısmında ise Ucase olarak yazılır bu farklara dikkat etmek gerekir.

Bir başka makalede görüşmek üzere hoşçakalın.

Makro ile Çok Fazla Sayfayı Hızlıca Silebilirsiniz!

Merhaba,

Excel belgelerinde eğer çok fazla sayfa var ise ve bu sayfaları silmek bir noktadan sonra zorlaşıyor ise bu makromuz, bu iş için tam biçilmiş kaftan…

Bu makalemizde bir veya daha çok sayfayı hızlıca silebileceğimiz bir makro uygulamasını form ara yüzü kullanarak nasıl silebileceğimizi göstereceğim. Uygulamanın çalışan son hali aşağıdaki gibidir. Silmek istediğimiz sayfaları seçerek, tarayarak, arama yaparak veya tümünü seç gibi işlemleri yaparak seçebilir ve silebiliriz. Çoklu seçim için Ctrl tuşuna basarak seçim yapmak oldukça kolay ve pratiktir.

Uygulamamız için ilk etapta yukarda görülen form’u tasarlıyoruz.

Daha sonra Tümünü Seç, Tümünü Kaldır ve Sil düğmeleri için kodlar yazıyoruz. Form arayüzünü açmak için Crtl+j kısayolu ile formu çağırabiliriz.

Form yüklendiğinde yani aktif olduğunda o Excel belgesinde normalde kaç tane sayfa var ise otomatik olarak listeye eklenmesini istiyoruz.

Bunun için aşağıdaki kod bloğunu kullanırız:

Private Sub UserForm_Activate()

‘Form önyükleme

For Each k In Sheets

ListBox1.AddItem k.Name

Next k

End Sub

Form açıldıktan sonra istediğimiz sayfaları tek tek seçerek, taratarak veya arama yaparak seçip Sil düğmesine tıkladığımızda otomatik olarak silebiliriz.

Tümünü seçmek için aşağıdaki kodu kullanırız. Bu kod çalıştığında form içinde kaç tane sayfa var ise hepsinin onay düğmesi seçili hale gelecektir.

Private Sub CommandButton2_Click()

‘Tümünü seç

For i = 0 To ListBox1.ListCount – 1

ListBox1.Selected(i) = True

Next i

End Sub

Seçili olan tüm sayfalarda Tümünü Kaldır düğmesine tıkladığımızda ne kadar seçili sayfa var ise hepsininde seçimleri iptal olur bunun için aşağıdaki kod bloğunu kullanırız.

Private Sub CommandButton3_Click()

‘Tümünü Kaldır

For i = 0 To ListBox1.ListCount – 1

ListBox1.Selected(i) = False

Next i

End Sub

Eğer arama kutucuğunu kullanarak silme yapmak istersek istediğimiz sayfa adını yazarak listbox içinden arama işlemini yaptırıp seçili olan sayfa veya sayfaları silebiliriz. Bu işlem için aşağıdaki kod bloğunu kullanırız.

Private Sub TextBox1_Change()

‘Arama

Dim i As Integer

Dim j As Integer

With ListBox1

.MultiSelect = fmMultiSelectSingle

.ListIndex = -1

.MultiSelect = fmMultiSelectMulti

For i = 0 To .ListCount – 1

For j = 0 To .ColumnCount – 1

If LCase(InStr(1, .Column(j, i), TextBox1.Text, vbTextCompare)) Then

.ListIndex = i

.Selected(i) = True

End If

Next j

Next i

End With

End Sub

Ve son olarak silmek istediğimiz sayfaları seçtikten sonra Sil düğmesine tıklayarak seçili sayfaları kolaylıkla silebiliriz. Bunun için Sil düğmesinin çift tıkladıktan sonra açılan sayfaya aşağıdaki kodu yazmamız yeterlidir. Böylece ne kadar seçili sayfa var ise silinecektir.

Private Sub CommandButton1_Click()

‘Sayfa veya Sayfaları Silme

On Error Resume Next

Application.DisplayAlerts = False

For k = ListBox1.ListCount – 1 To 0 Step -1

If ListBox1.Selected(k) Then

Worksheets(ListBox1.List(k, 0)).Delete

ListBox1.RemoveItem (k)

End If

Next k

Application.DisplayAlerts = False

End Sub

Yukardaki makro kodları ile işlemimizi çok kolaylaştıracağız. Tabi bu formu çağırmak içinde bir kısayol atamamız gerekir. Diğer türlü sayfa içinden bir düğme koyup onu tıklayarak çağırmak çok mantıklı olmayacaktır. Ama kendimize özel bir makro sekmesi yapıp bu makroyu oraya bir ikon aracılığı ile yerleştirip kullanabiliriz. Tüm bunların yanı sıra kısayol işlemi oldukça basit ve daha kullanışlıdır. Formları çağırmak için modül ekleyim ilgili formu çağırmamız gerekmektedir. Bunun için makromuza bir modül ekliyor ve içerisine aşağıdaki kodu yazıyoruz.

Kodda Forma verdiğimiz ismi Show ederek görüntüleyebiliyoruz.

Aynı şekilde Hide ederek de gizleyebiliriz. Ama bunun için formdaki varsayılan çıkış düğmesinden kapatmayı daha uygun gördüm.

Bir başka makro makalesinde görüşmek üzere,

Hoşçakalın.

Pratik 10 Temel Makro Kodu

Merhaba,

Bu makalemizde Excel’de işinize yaracak en temel 10 Makro kodunun ne işe yaradıklarını ele alacağız.

Excel de makro kullanarak çok zor ve zaman işlemlerinizi çok kısa sürelerde yapabilirsiniz. Bu süreler o kadar kısadır ki bir örnek vermek gerekirse 3-5 günlük bir iş 3-5 dk’ya kadar düşebilir diyebiliriz. Hal böyle olunca makroların önemi daha da artıyor. Karmaşık, düzensiz verilerinizi normalleştirirken ya da farklı tablo yapıları oluştururken makrolar olmazsa olmazımızdır.

Makrolar geliştirilirken bazen benzer mantıkta işlemler çok fazla karşımıza çıkar her defasında bu kodları yazmak yerine bu kodları arşivleyerek gerektiği yerlerde birkaç ufak değişiklikle kolaylıkla uygulayabilirsiniz.

Bu makalemizde 1o Temel makro kodunu sizlere ne iş yaptıklarını açıklayarak sunuyoruz. Çalışmanızda daha üretken olmanıza yardımcı olacak bu örnekler oldukça basit ve kullanışlıdırlar. Bu hayat kurtaran temel kodları uygulamak da oldukça basittir. Bundan önce VBA kullanmamış olsanız bile bu kodları kullanabilirsiniz. Tek yapmanız gereken bu kodları VBA editörünüze yapıştırmak.

Bu kodları kullanmadan önce, VB editörüne erişmek için Excel şeridinizde geliştirici sekmenize sahip olmamız gerekiyor veya tüm Office paketlerinde Alt+F11 kısayol tuşu ile (Excel, Word, PowerPoint vb.) ulaşabilirsiniz.

  • Geliştirici sekmenize gidin ve “Visual Basic” üzerine tıklayın.

  • “Proje Penceresi” n de sol tarafta, çalışma kitabınızın adını sağ tıklayın ve yeni bir modül ekleyin.

  • Sadece kodlarınızı modüle yapıştırın ve kapatın. Dilerseniz F5 kısa yolu ile de kodlarınızı çalıştırabilirsiniz.

  • Şimdi geliştirici sekmenize gidin ve makro düğmesine tıklayın.

  • Dosyanızda bulunan makroların listesini içeren bir pencere gösterecektir ve bu listeden seçtiğiniz bir makroyu çalıştırabilirsiniz.

Şimdi kodlarımızı inceleyelim.

  • Seçtiğiniz hücreden itibaren istediğiniz kadar sayıda sağa doğru boş sütun ekler ve diğer sütunları da öteler.

    Sub CokluSutunEkle()

    Dim i As Integer

    Dim j As Integer

    ActiveCell.EntireColumn.Select

    On Error GoTo Son

    i = InputBox(“Eklemek istediğiniz sütun sayısını giriniz”, “Sütun Ekle”)

    For j = 1 To i

    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromRightorAbove

    Next j

    Son: Exit Sub

    End Sub

  • Seçtiğiniz hücreden itibaren istediğiniz kadar sayıda aşağı doğru boş sütun ekler ve diğer satırları da öteler.

    Sub CokluSatirEkle()

    Dim i As Integer

    Dim j As Integer

    ActiveCell.EntireRow.Select

    On Error GoTo Son

    i = InputBox(“Eklemek istediğiniz satır sayısını giriniz “, “Satır Ekle”)

    For j = 1 To i

    Selection.Insert Shift:=xlToDown, CopyOrigin:=xlFormatFromRightorAbove

    Next j

    Son: Exit Sub

    End Sub

  • Seçtiğiniz hücreden itibaren girdiğimiz sayı kadar otomatik doldurma yapar. Örneğin F7 hücresi seçili iken çalıştırdığımızda açılan giriş kutusuna 5 yazarsak F7 hücresinden aşağı doğru 1’den 5’e kadar sayı birer artan sayıları yazdırır.

Sub OtomatikSeriDoldurma()

Dim i As Integer

On Error GoTo Son

i = InputBox(“Değer giriniz”)

For i = 1 To i

ActiveCell.Value = i

ActiveCell.Offset(1, 0).Activate

Next i

Son: Exit Sub

End Sub

  • Seçtiğiniz hücrelerin sütun genişliklerini sütunun içindeki en uzun metne göre otomatik olarak ayarlar.

Sub SutunlariOtomatikAyarla()

Cells.Select

Cells.EntireColumn.AutoFit

End Sub

  • Seçtiğiniz hücrelerin satır genişliklerini satırın içindeki metne göre otomatik olarak ayarlar.

Sub AutoFitRows()

Cells.Select

Cells.EntireRow.AutoFit

End Sub

  • Excel’in tüm hücrelerini çözdükten sonra metni kaydır özelliğini çözer ve satır, sütun genişliklerini otomatik olarak ayarlar.

Sub MetniKaydirTemizle()

Cells.Select

Selection.WrapText = False

Cells.EntireRow.AutoFit

Cells.EntireColumn.AutoFit

End Sub

  • Birleştirilmiş seçili hücreleri eski haline geri döndürür.

Sub UnmergeCells ()

Selection.UnMerge

End Sub

  • Durum çubuğunda makro kodunun işlenmesi sırasındaki ilerlemenin yüzdesini görmek için aşağıdaki kodu kullanabiliriz.

    Sub DurumCubugundaIlerleme()

    Application.StatusBar = “İşlem başlıyor”

    For k= 1 To 5000

    Cells(k, 1) = k

    Application.StatusBar = ” İşlemin bitmesi için lütfen bekleyin ” & Round((k / 5000 * 100), 0) & “%”

    Next

    Application.StatusBar = “”

    End Sub

  • İlgili sayfanın sağ üst köşesine o günün tarihini yazdırır. Üst ortada Satış Raporu ve üst solda ise ABC şirketi yazar.

    Sub UstBilgiyeTarihEkleme()

    With ActiveSheet.PageSetup

    .LeftHeader = “ABC Şirketi”

    .CenterHeader = “Satış Raporu”

    .RightHeader = “&D”

    .LeftFooter = “”

    .CenterFooter = “”

    .RightFooter = “”

    End With

    ActiveWindow.View = xlNormalView

    End Sub

  • Makro ile Excel dosyasında çalışırken PowerPoint programını açmak için aşağıdaki kodu kullanabiliriz. Index değerini 0 yazarsak Hesap Makinası, 1 yazarsak Word, 3 yazarsak Outlook açılır.

Sub PowerPointAc()

Application.ActivateMicrosoftApp Index:=2

End Sub

Yukardaki kod blokları tek başlarına doğrudan bir anlam ifade etmeyebilir. Bizler yazdığımız kodlarda bu pratik kod bloklarını kullanarak daha hızlı uygulama geliştirebiliyoruz. En azından bir kere çalıştırıp sonucunu gördüğünüz zaman kafanızda yer edecek ve böyle bir durum ile karşılaşırsanız uygulamanız kolay olacaktır.

Bir başka makalede görüşmek dileğiyle,

Hoşçakalın.

Makrolar (VBA) ile Excel’de Fonksiyon Yazmak

Bu makalemizde VBA eğitimlerimizde de çok üstünde durduğumuz bir konu olan Makrolar (VBA) ile Excel’de Fonksiyon Yazmak konusunu inceleyeceğiz.

Makrolar (VBA) ile Excel’de Fonksiyon Yazmaya Giriş

Excel’de yerleşik olarak birçok farklı kategoride toplamda 467 tane hazır fonksiyon bulunuyor. Bu fonksiyonlar ile mevcut işlemlerimizi yapmak istediğimizde formülleri kullanıyoruz.

Fakat bazı durumlarda bu fonksiyonlar doğrudan ihtiyaçlarımızı görmeyebilir veya çok fazla sayıda fonksiyonu bir arada kullanarak uzun ve karmaşık bir formül bizim için gerek kurgulanması bakımından gerekse yazılışı bakımından zor olabilir. Örneğin 40 tane eğer fonksiyonunu içiçe yazmak can sıkıcı olabilir.

Böyle durumlarda Excel’de VBA’i yani makroları kullanarak kendimize özel fonksiyonlar yazabiliyoruz.

Makrolar (VBA) ile Excel’de Fonksiyon Yazarak istediğimiz işlevleri rahatlıkla kodlaya biliriz. Üstelik bu fonksiyonları sonra değiştirebiliyor veya istediğimiz kişiler ile kolaylıkla paylaşabiliyoruz.

VBA ile ilgili daha çok bilgiye buradan erişebilirsiniz.

Modül Ekleme ve Kaydetme

Bir fonksiyon yazmak istediğimizde Excel’de kod editörüne geçip Insert sekmesinden bir Modül eklememiz gerekiyor.

Fonksiyonlar sayfalara yazılabilir ve kullanılırlar fakat Excel ara yüzünde eşittir (=) işaretini koyup fonksiyonun adını yazdığımızda fonksiyonun diğer yerleşik fonksiyonlar gibi çıkmasını istiyorsak kesinlikle fonksiyonumuzu bir modül’e yazmamız gerekiyor. Bir modüle birden fazla fonksiyon yazılabilir.

İçindeki modüllerde fonksiyon bulunan Excel belgelerini .xlsm (Makro İçerebilen Excel Çalışma Kitabı) uzantısı ile kaydedip bu belgeleri gönderdiğiniz herkes kullanabilir.

Fakat fonksiyon modülde olduğu sürece sadece o Excel çalışma kitabında çalışır başka bir Excel belgesinde = (eşittir) dediğinizde çıkmaz o yüzden fonksiyonlarımızı modül’e yazdıktan sonra belgede Farklı Kaydet diyerek fonksiyonu .xlam (Excel Eklentisi) olarak Excel’in varsayılan “C:UsersCihanAppDataRoamingMicrosoftAddIns” fonksiyon klasörüne kaydederiz.

Farklı bir adrese de kaydedebilirsiniz fakat o fonksiyonu her defasında göstermek zorunda kalabilirsiniz örneğin Excel’i açtığınızda ilk bakacağı yer AddIns klasörü olduğu için buraya kaydetmenizi tavsiye ederim.

Excel’deki fonksiyonlar aşağıdaki şekilde görünür. Bu tarz Excel dosyaları çift tıklanarak açılmazlar, bunlar bir klasöre yüklenir ve kullanılırlar.

Fonksiyon dosyasının adı ile fonksiyonun adı aynı olmak zorunda da değildir. Bir fonksiyon dosyasında birden fazla farklı isimde fonksiyonlar da bulunabilir.

.xlam dosyalarını Excel’den Çağırmak

Eğer başka bir konuma kaydeder iseniz Excel ara yüzünde =(eşittir) dediğinizde çıkmayacaktır böyle bir durumda da Geliştirici sekmesindeki Excel Eklentilerinden eklemeniz gerekecektir.

Geliştirici sekmesinden Excel eklentilerine tıkladığınızda açılan pencereden ilgili fonksiyonun onay kutusunu işaretleyip tamam dedikten sonra Excel’de kullanılabilir.

Evet şimdi gelelim fonksiyonumuzu yazmayaJ

Fonksiyon yazmak için modül’ümüze gidiyoruz ve Function kelimesi ile yazmaya başlıyoruz. Fonksiyon yazarken sayı ve karakter ile başlamıyoruz, boşluk koymuyoruz ve 255 karakterden uzun bir isim vermiyoruz.

Fonksiyon Yazımı

Function TCkontrol()


‘ VBA Kodları


End Function

Fonksiyonu yazdığımızda fonksiyon adının yanındaki parantez içine bir şey yazmaz iseniz fonksiyon parametre almayan fonksiyondur. Örneğin Excel’in yerleşik fonksiyonları olan Bugün, Şimdi, Pi gibi fonksiyonlar parametre almazlar.

Eğer bir parametre gönderecek isek parantez içinde aralarında virgüllerle ayırarak bu parametreleri tipleri ile belirleyebiliriz. Biz örneğimizde T.C. kimlik numarasını göndereceğiz ve bu T.C. kimlik numarasının doğru olup olmadığını arka planda yapacağı bir hesaplama ile bize doğru veya yanlış şeklide döndürecek bir fonksiyon yazacağız.

Fonksiyona göndereceğimiz TC numarasını fonksiyona metin gibi gönderip sonra her bir karakterini sırayla parçalarına ayıracağız. Daha sonra bu parçalardan bir matematiksel hesap ile 10 haneyi biz bulacağız akabinde 11 haneyi de yine ilk 10 haneden kendimiz elde edeceğiz.

Ve Excel’den gelen TC numarasının 10. ve 11. Hanelerinin benim bulduğum 10 ve 11. Hanelere aynı anda eşit olması durumda TC kimlik numarasının doğru olduğunu saptamış olacağız ve sonuç olarak doğru göndereceğiz aksi durumda yanlış bilgisini göndereceğiz.

Örnek bir fonksiyon: TCKontrol

Function TCKontrol(ByVal tc As String) As Boolean
Dim tc1 As Integer
Dim tc2 As Integer
Dim tc3 As Integer
Dim tc4 As Integer
Dim tc5 As Integer
Dim tc6 As Integer
Dim tc7 As Integer
Dim tc8 As Integer
Dim tc9 As Integer
Dim tc10 As Integer
Dim tc11 As Integer
Dim tc10x As Integer
Dim tc11x As Integer
tc1 = Mid(tc, 1, 1)
tc2 = Mid(tc, 2, 1)
tc3 = Mid(tc, 3, 1)
tc4 = Mid(tc, 4, 1)
tc5 = Mid(tc, 5, 1)
tc6 = Mid(tc, 6, 1)
tc7 = Mid(tc, 7, 1)
tc8 = Mid(tc, 8, 1)
tc9 = Mid(tc, 9, 1)
tc10 = Mid(tc, 10, 1)
tc11 = Mid(tc, 11, 1)
tc10x = ((tc1 + tc3 + tc5 + tc7 + tc9) * 7 – (tc2 + tc4 + tc6 + tc8)) Mod 10
tc11x = (tc1 + tc2 + tc3 + tc4 + tc5 + tc6 + tc7 + tc8 + tc9 + tc10x) Mod 10
If tc10 = tc10x And tc11 = tc11x Then
TCKontrol = True
Else
TCKontrol = False
End If
End Function

Yukarda bulunan fonksiyona Excel ara yüzünden TC numaralarını göndereceğiz ve bu ilgili işlemleri yaptıktan sonra bizlere TC’nin doğru olup olmadığını gönderecektir.

Peki başka neler biliyoruz?

  • Örneğin TC numaraları 11 hane olmak zorundadır.

  • ilk 9 hane elimizde ise 10 ve 11. Haneleri bulabiliriz.

  • TC numaraları kesinlikle çift sayı ile biter. (0,2,4,6,8)

  • 11 hanenin hepsi de rakam olmak zorundadır.

O zaman bu kodu geliştirebiliriz. Örneğin karakter uzunluğu 11 haneden farklı ise hata yazdırabiliriz veya sadece rakamlardan oluşmuyorsa ya da son hanesi çift değilse hiç kontrole girmeden doğrudan hata sonucunu ekrana yazabiliriz.

Fonksiyonumuzu yazdık ve ülkemizde herkesin kullanacağı bir fonksiyon olduğu için istediğimiz kişilerle paylaşabiliriz. Dilerseniz kod kısmına geçip yeni kod ilaveleri yapabilir ve yine aynı isimle aynı şekilde kullanabiliriz. Makrolar (VBA) ile Excel’de Fonksiyon yazmanın güçlü yanlarını gördükçe sürekli yeni fonksiyonlar üreteceksiniz.

Yazdığımız fonksiyonları diğer Excel fonksiyonları içinde kullanabiliriz vb. birçok işlemi kolaylıkla yapabiliriz. Fonksiyonların en büyük avantajlarından biride hızlarıdır. Oldukça verimli ve hızlı çalışmaları sayesinde işlemleri kısa sürelerde halledebiliriz.

Yukardaki fonksiyon örneğinde görüldüğü üzere Makrolar (VBA) ile Excel’de Fonksiyon kullanarak istediğimiz gibi esnetip şekillendirebiliyoruz. Bu esneklik bizlere daha fazla ve doğru iş yapma olanağı sağlıyor.

İşlem Ekle ile fonksiyon çağırmak

Excel’de F(x) işaretine tıkladığınızda açılan pencerede Kategori seçerken Kullanıcı Tanımlı dediğinizde kendi yazmış olduğunuz fonksiyonları da görmeniz mümkündür.

Görüldüğü gibi Makrolar (VBA) ile Excel’de Fonksiyon yazmak oldukça kolay ve kullanışlıdır. Özellikle Makrolar (VBA) ile Excel’de Fonksiyon yazmayı tüm Excel kullanıcılarına öneriyorum.

Bir önceki makalemde ilginizi çekebilir:

https://www.peakup.org/blog/application-worksheetfunction-ile-vbade-vlookup-fonksiyonunu-kullanmak/

Diğer makalelerime buradan erişebilirsiniz.

Bir başka makalede görüşmek üzere,

Hoşçakalın.

Hızlı Doldur (Flash Fill)

Bu makalemizde sizlere Excel eğitimlerimizde keyifle anlattığımız bir özellik olan Hızlı Doldurma özelliğinden bahsedeceğim.

Hızlı doldurma; Excel 2013 ile gelen, hızlı veri girişini sağlamak için geliştirilmiş oldukça başarılı bir çözümdür. Bu özellik sayesinde Excel’e veri girişi yapılırken hücrelerde var olan verilerde bir düzen algıladığında, Excel geriye kalan hücreleri otomatik doldurur ve kolayca veri girişi sağlanmış olur.

Hızlı doldurma özelliği ağırlıklı olarak metinsel ifadeleri ayrıştırma, birleştirme gibi işlemlerde kullanılır. Çeşitli özellikler kullanılarak çok basit bir verinin ayrıştırılmasının yanı sıra çok karmaşık formüllerle ayrıştırılabilen veya ayrıştırılması formüllerle de çok zor olan bir metinsel ifade de istediğimiz kısımları kolaylıkla ayırabildiğimiz bir yöntemdir.

Metin fonksiyonlarıyla yapılan; bir kelimenin ilk harfi, ilk üç harfi ya da her kelimenin üçüncü karakteri vb. metin verilerinin parçalanmasına ilişkin bir kalıbı algılayıp uygulamayı sağlar.

Tipik kalıplar içinde metin parçalarını tanımak, telefon numaraları ve tarih verisinin parçalarını tanımak gibi uygulamalar vardır.

Excel’in 2013 sürümü ile hayatımıza giren Hızlı Doldur özelliğini Excel’de birkaç farklı yerde bulunur.

  1. Excel’de Veri sekmesi‘nin Veri Araçları grubunda görebilirsiniz.

  1. Giriş sekmesinin Düzenle grubunda Doldur özelliğinin altında da bulabilirsiniz.

  1. Bir hücreyi çoğaltmak için hücrenin sağ alt kısmındaki noktadan aşağı doğru çektiğimizde doldurma seçenekleri olarak Hızlı Doldurma’yı görebilirsiniz.

  1. Hızlı Doldur özelliğini Ctrl+E kısayolu ile kullanabilirsiniz.

Hızlı Doldurma varsayılan olarak açıktır ve bir düzen algıladığında verilerinizi otomatik olarak doldurur. Eğer beklendiği gibi çalışmazsa, Hızlı Doldurma’nın açık olup olmadığını aşağıdaki şekilde kontrol edebilirsiniz.

  1. Dosya > Seçenekler‘i tıklatın.
  2. Gelişmiş‘i tıklatın ve Otomatik Olarak Hızlı Doldur kutusunun işaretli olduğundan emin olun.

  3. Tamam‘ı tıklatın ve çalışma kitabınızı yeniden başlatın.

Bir örnekle özelliğimizi detaylıca görelim.

Örnek 1: Aşağıdaki tabloda tek sütunda yazılan Ad ve Soyadları ayrı ayrı sütunlarda gösterelim.

Yapacağımız işlem Adı Sütununa ilk satırına listenin ilk kaydı olan Tarık ismini yazıyoruz ve imlecimiz Tarık yazan hücrenin üzerinde iken Veri Sekmesi Veri Araçları grubuna gidip Hızlı Doldur özelliğine tıklıyoruz veya Ctrl+E kısayol tuşlarına basıyoruz.

Evet hepsi bu kadar başka bir işlem yapmanıza gerek yok sonuç aşağıdaki gibi olacaktır.

Aşağıdaki gif’de birçok farklı senaryoda Hızlı Doldur özelliği ile verilerimizi hızlıca nasıl düzenlediğimizi görebilirsiniz.

 

Başka bir makalede görüşmek üzere hoşça kalın.

Birleştir (Consolidate)

Farklı Sayfalardaki Verileri Birkaç Tıklama İle Hızlıca Birleştirin!

Bu makalemde İleri Excel eğitimlerimizde anlattığımız konulardan biri olan farklı sayfalardaki verileri tek bir sayfada tek kalemde birleştirmeye yarayan Birleştir özelliğimizden bahsedeceğim.

Birleştir özelliği ile bir Excel belgesinin bir sayfasında bulunan verileri ya da farklı sayfaları içinde bulunan aynı sütun isimlerine sahip olan verileri tek kalemde istediğimiz aritmetiksel işlemi (Toplama, Ortalama, En büyük, Say, Standart Sapma vb.) uygulayarak birleştirebiliriz.

Bu özellik var olan verileri kayıt kayıt alt alta birleştirmeye yaramaz aynı sütuna sahip olan birden çok kaydı tek kalemde ilgili matematiksel işlemi yaparak birleştirmeye yarar.

Bu işlemin fonksiyonlar ile yapılması oldukça zahmetli olduğundan ve verilerde çok fazla fonksiyon olacağından çok kullanışlı değildir bu yüzden Birleştir özelliğini kullanmak çok pratik ve hızlı bir çözümdür.

Birleştir özelliği Veri sekmesinin Veri Araçları grubu içinde bulunur.

Aşağıdaki Excel belgesinde Ocak ayından Haziran ayına kadar olan farklı sayfalardaki A:B aralığındaki verileri Birleştir isimli sayfada tek kalemde birleştirilmek istenmektedir. Bu veriler Satış Temsilcisi ve Satış bilgilerinden oluşmaktadır. Satış Temsilcisi alanı isimleri, Satış değeri ise bu isimlerin yapmış oldukları Satış değerlerini göstermektedir.

Yukarıdaki şekilde de görüldüğü üzere her sayfada aynı türden farklı isim ve Satış değerleri vardır. Bizim amacımız bu sayfalardaki verilerinin hepsini Birleştir isimli sayfada ortak Satış temsilcilerinin adlarını sadece bir kez yazılmasını sağlayarak Satış alanındaki değerleri toplamak veya başka bir matematiksel işlem yapmak olacaktır olacaktır.(Ör. Ortalama, Standat Sapma vb.)

Birleştir Özelliğini Kullanmak:

  1. İlk etapta Birleştir isimli sayfaya geliriz ve A1 hücresine tıklarız.
  2. Daha sonra Veri sekmesinin Veri araçları grubunda Birleştir özelliğimize tıklarız ve aşağıdaki pencerenin açılmasını sağlarız.

  3. Bu pencerede Birleştirme işlemin yaptığımızda uygulamak istediğimiz matematiksel işlemi İşlev kısmından seçeriz.
  4. Daha sonra Başvuru yazan kısma bir kere tıklar ve eğer işlem yapılacak sayfalar bu Excel belgesi içinde ise ki bizim Ocak ayından Haziran ayına kadar tüm sayfalarımız bu belge içinde olduğundan ilk Ocak isimli sayfaya gidip tüm A:B aralığındaki veriyi seçeriz ve Ekle düğmesine tıklayarak sırayla tüm sayfalar için aynı işlemi tekrarlayarak tüm sayfaların Tüm
    Başvurular yazan yere eklenmesini sağlarız. Eğer birleştirme işlemi yapmak istediğimiz sayfalar başka belgeler içinde ise Gözalt diyerek ilgili belgelerin konumlarını gösteririz ve gerekli alanları taratırız.

    Eğer verinin Başlıkları varsa onların çıkması için Üst Satır kutucuğu tıklanır.

    Eğer Satış toplamları yanında Satışı kimlerin yaptığı görüntülenmek isteniyorsa Sol Sütun da seçilir. Ayrıca bu verilere bağlantı yapılmak istenirse Kaynak Veriye Bağlantı Oluştur kutucuğuna tıklanır. Yalnız eğer birleştirilecek veriler aynı sayfa içinde ise Kaynak Veriye Bağlantı Oluştur kutucuğu seçilmez. Ben Üst Satır ve Sol Sütun gelsin istediğim için tıklıyorum.


    Tamam düğmesine tıkladığımda birleştir sayfasında aynı isme Sahip tüm temsilcilerin tek kalemde tüm aylardaki Satış toplamlarını aşağıdaki görebiliriz.

    İşlem olarak topla seçtiğimiz için her temsilcinin tüm aylardaki sayfalardan Satış tutarlarını toplattık. Bu işlemi Etopla fonksiyonu ile de gerçekleştirebiliriz ama bu kadar pratik değildir.

    Eğer Kaynak Veriye Bağlantı Oluştur kutucuğuna tıklayıp Tamam düğmesine tıklasaydık ekran görüntüsü aşağıdaki gibi olacaktır.

    Aşağıdaki gif’de işlemin nasıl yapıldığını görebilirsiniz.

    Örnek 2:

    Aşağıda ekran görüntüsü verilen TÜM YILLAR isimli sayfada Ay ve Gün bilgileri olan bir çapraz tablo vardır. Ayrıca 2015, 2016 ve 2017 yılları bulunan sayfalarda ay ve gün bazlı satışlar bulunmaktadır. Amacımız bu tablolardaki değerleri TÜM YILLAR sayfasında birleştirmek.

Aşağıdaki gif’de bu üç yıldaki verileri TÜM YILLAR isimli sayfada nasıl birleştirdiğimizi görebilirsiniz.

 

Başka bir makalede görüşmek üzere hoşça kalın.

Özel Biçimlendirme kodlarının en faydalı kullanımları!

Merhaba,

Bu makalemde Excel’de özel biçimlendirme kodları ile verilerimizi nasıl farklı şekillerde gösterebileceğimizi anlatacağım.

Excel’de verilerimizi farklı bir şekilde göstermek için Hücreleri Biçimlendir’i kullanırız. Excel’in Giriş sekmesinin Sayı grubunda hücre içeriklerimizi Sayı, Tarih, % Yüzde, Para birimi, Ondalık vb. şeklinde gösterebileceğimiz hazır biçimlendirme formatları vardır.


Ancak bazen verilerimize farklı şekillerde görmek için farklı biçimlendirmeler uygulamak isteriz o zaman bu biçimlendirme kodlarını bizim yazmamız gerekir. Böyle durumlarda herhangi bir Excel hücresinde sağ tıklayınca Hücreleri Biçimlendir’i seçersek açılan pencereden isteğe uyarlanmış kendi biçimlendirme kodlarımızı kullanabiliriz.


Veya aşağıdaki gibi sayı grubunun sağ kösesinde ki işaretine tıklayınca da Hücreleri Biçimlendir penceresini açabiliriz. Ya da CTRL+1 kısayolu ile de Hücreleri Biçimlendir penceresini açabilirsiniz.


İsteğe uyarlanmış biçimlendirmede hücrenin içeriği değişmez yalnızca görünen formatı değişir. Özellikle sayısal değerlerini yuvarlanmasında bu durum sizleri yanıltmasın. Excel hücrenin orijinal değerini arka planda tutar ama görseldeki değer yuvarlatıldığından farklı görünebilir. Özellikle hesaplamalarda Excel hücrenin gerçek değerini baz alır.

Özellikle biçimlendirme kodlarında ağırlıklı olarak aşağıdaki karakterler kullanılır;

  • Sayısal değerler için # ve 0 (Sıfır) karakterleri
  • Metinsel değerler için @ karakteri
  • Mtinler çift tırnaklar içinde yazılır. Ör. # “adet”
    gibi.
  • Renkler için Kırmızı, Yeşil, Sarı, Mavi vs. İngilizce ise Red, Green, Yellow, Blue gibi.
  • Tarih Saat değerleri için g,a,y,s,d,n (Gün,Ay,Yıl,Saat,Dakika,Saniye) karakterleri kullanılır. Office İngilizce kullanılıyor ise d,m,y,h,m,s karakterleri kullanılır.

Aşağıdaki tabloda, Giriş sekmesinin Sayı grubunda bulunan kullanılabilir sayı biçimlerinin özeti verilmektedir.

Biçim Açıklama
Genel Bir sayı yazdığınızda Excel’in uyguladığı varsayılan sayı biçimi. Genel biçim ile biçimlendirilmiş sayılar, çoğunlukla tam olarak yazdığınız biçimde görüntülenir. Ancak hücre, sayının tamamını gösterebilecek genişlikte değilse, Genel biçimi ondalık sayıları yuvarlar. Genel sayı biçimi ayrıca, büyük sayılar (12 veya daha çok basamaktan oluşan) için bilimsel (üslü) gösterim kullanır.
Sayı Sayıların genel görüntülenişi için kullanılır. Kullanmak istediğiniz ondalık basamak sayısını, binlik ayırıcı kullanmak isteyip istemediğinizi ve negatif sayıları nasıl görüntülemek istediğinizi belirleyebilirsiniz.
Para birimi Genel para değerleri için kullanılır ve sayılarla varsayılan para birimi simgesini görüntüler. Kullanmak istediğiniz ondalık basamak sayısını, binlik ayırıcı kullanmak isteyip istemediğinizi ve negatif sayıları nasıl görüntülemek istediğinizi belirleyebilirsiniz.
Finansal Bu da para değerleri için kullanılır ancak, bir sütundaki para birimi simgelerini ve sayıların ondalık hanelerini hizalar.
Tarih Tarih ve saat seri numaralarını, belirlediğiniz tür ve yerel ayara (konum) göre tarih değerleri olarak görüntüler. Yıldız işareti (*) ile başlayan tarih biçimleri, Denetim Masası’nda belirlenen bölgesel tarih ve saat ayarlarındaki değişikliklere yanıt verir. Yıldız işareti olmayan biçimler Denetim Masası ayarlarından etkilenmez.
Saat Tarih ve saat seri numaralarını, belirlediğiniz tür ve yerel ayara (konum) göre saat değerleri olarak görüntüler. Yıldız işareti (*) ile başlayan saat biçimleri, Denetim Masası’nda belirlenen bölgesel tarih ve saat ayarlarındaki değişikliklere yanıt verir. Yıldız işareti olmayan biçimler Denetim Masası ayarlarından etkilenmez.
Yüzde Hücre değerini 100’le çarpar ve sonucu yüzde simgesiyle (%) görüntüler. Kullanmak istediğiniz ondalık basamak sayısını belirleyebilirsiniz.
Kesir Sayıyı, belirlediğiniz kesir türüne göre kesir olarak görüntüler.
Bilimsel Sayıyı, sayının bir kısmının yerine E+n kullanarak üslü gösterimle görüntüler. Burada E (Üs), kendinden önceki sayıyı 10 üssü n ile çarpar. Örneğin 2 ondalık basamaklı Bilimsel biçimi, 12345678901 sayısını, 1,23 çarpı 10 üssü 10 anlamına gelen 1,23E+10 olarak görüntüler. Kullanmak istediğiniz ondalık basamak sayısını belirleyebilirsiniz.
Metin Hücre içeriğini metin olarak kabul eder ve sayı yazdığınızda bile içeriği tam olarak yazdığınız gibi görüntüler.
Özel Sayıyı; posta kodu, telefon numarası veya Sosyal Güvenlik numarası olarak görüntüler.
Özel Var olan bir sayı biçimi kod kopyasını değiştirmenize olanak sağlar. Sayı biçim kodları listesine eklenen özel sayı biçimi oluşturmak için bu biçimi kullanın. 200 ve 250 özel sayı biçimleri arasındaki, bilgisayarınızda yüklü Excel’in dil sürümüne bağlı olarak ekleyebilirsiniz.

Şimdi aşağıdaki birçok örnek ile konumuzu iyice pekiştirelim.

1- Değerleri % Formata Dönüştürme

  • % işareti sayıyı yüzdeye çevirir, virgülden sonra koyduğunuz 0 (sıfır) adedi virgülden sonra gösterilecek basamak sayısını belirtir.


Not: Eğer ondalık ayracınız virgül değil nokta ise format kodunu 0.0% olarak yazmalısınız.

2- Virgülden Sonra Gösterilecek Basamak Sayısı

  • Virgülden sonra koyduğunuz 0 (sıfır) adedi virgülden sonra gösterilecek basamak sayısını belirtir.


  • Virgülden sonra 0 (sıfır) koymadık sayıyı yuvarlayarak tek basamaklı değer yazdı.


Not: Eğer ondalık ayracınız virgül değil nokta ise format kodunu 0.0 olarak yazmalısınız.

3- Bindelik Ayracı

  • #.##0 her binlik dilimde bindelik ayracı kullan.


Not: Eğer bindelik ayracınız nokta değil virgül ise #,##0 olarak yazmalısınız.

  • _) Büyük rakamların tamamını sığdırmak için hücre genişliğini arttırır.


  • Formatın soluna gelen her bir . (nokta) işareti sayıdan üç sıfır atar. iki nokta koyar isek altı sıfır atmış oluruz.


Not 1 : Eğer bindelik ayracınız nokta değil virgül ise #,##0,, olarak yazmalısınız.

Not 2 : Burada sayıyı bölmüyoruz görsel olarak sıfır atılmış halini görüyoruz.

4- Sayının Yanına Text Yazma (10 Adet, 100 Milyon Gibi)

  • Tırnak işareti ile sayının yanına metin, birim yazabiliriz.


Not: Sayının yanında metin olması matematiksel işlem yapmamızı engellemez.

5- Sayının Soluna Sıfır Getirme

  • Her bir sıfır girilen rakamın soluna getirilerek rakamı sıfır sayısı dolacak şekilde tamamlar.


6- Pozitif, Negatif Sayılar ve Sıfır’ın Biçimlendirilmesi

  • Formatın başına köşeli parantez ile getireceğimiz renk adları değeri renklendirir.

3 koşullu renklendirme yapalım. Bunun için hücre formatı önüne köşeli parantez içinde renk adı girilmeli.


7- Belli Bir Koşula Bağlı Biçimlendirme

  • [<30][green]0;[>30][blue]0;”-“30 dan küçük ise yeşil, büyük ise mavi, 30 ise “-” olsun.


8- Tarih Gösterimi

  • Eğer Ingilizce Excel kullanıyorsanız tarih formülleri için

(gün) yerine d (day)

a (ay) yerine m (month) yazmalısınız.

yıl ve year ayni harfle başladığı için değişiklik yapmanıza gerek yok.


9- Diğer Biçimlendirmeler

  • @ işareti hücre içindeki değeri simgeler, * işareti bir sonra gelen karakteri hücre genişliği kadar yaz anlamına gelir.


  • 0 (sıfır) sayısı ile kaç basamak sonrası ayıracağımızı belirttik, ile de ayraç tipini koyduk.


Not: Hücreleri metin biçimine getirerek de istediğimiz birimi rakamın yanına yazabiliriz. Ancak metin biçimindeki hücreler üzerinde toplam, çıkarma gibi sayısal işlemler yapamayız.

Yukardaki örneklerden anlaşılacağı üzere Hücre Biçimlendirme kodları hücrelerin gerçek değerlerini değiştirmez sadece farklı bir şekilde görüntülenmesini sağlar.
Bir başka makalede görüşmek üzere hoşça kalın.

PivotTable Hesaplanmış Alan Ekleme

Merhaba,

Bu makalemizde İleri Excel eğitimizde en çok üstünde durduğumuz konu olan PivotTable’a nasıl Hesaplanmış Alan (Calculated Field) ekliyoruz hep birlikte örnekleriyle birlikte görelim.

Hesaplanmış Alan/Calculated Field Ekleme

Excel’de ana veride var olan alanları kullanarak yeni alanları hesaplamak mümkün. Bunun için PivotTable’nın Hesaplanmış Alan Ekleme özelliğini kullanıyoruz. Hesaplanmış alan ekleyerek ana veride yeni hesaplamalar yapmadan PivotTable üzerinde sanal olarak matematiksel işlemleri kolaylıkla yapabileceğimiz alanları ekleyebiliyoruz.

Hemen konuyu daha derinleştirmek için örneğimize başlayalım.

Aşağıdaki tablodan bir PivotTable yapıyoruz.


Ürün bilgisi Satır alanına Satış Tutarı bilgisi de Değerler alanına atıyoruz.


Aşağıdaki gibi bir Pivot elde ettik.


Yukarıdaki PivotTable’da bizim yapmak istediğimiz hesaplama ise Satış Tutarının %18’ni hesaplamak. Bunun için ana veride Satış Tutarının %18’i hesaplanmamış, bu işlemi PivotTable üzerinden yaparak ana veride herhangi bir veri büyümesinin de önüne geçmiş oluyoruz.

Özet Tablo üzerinde iken menüde aktif olan PivotTable araçlarına/PivotTable Tools gidiyoruz ve Çözümle sekmesinin Hesaplamlar grubundan Alanlar/Öğeler ve Kümeler yazan yerden Hesaplanmış Alan/Calculated Field komutuna tıklıyoruz.


Hesaplanmış Alan komutuna tıklayınca aşağıdaki gibi Hesaplanmış Alan Ekle penceresi açılıyor.


Açılan bu pencerede Ad yazan yere alanımıza vermek istediğimiz ismi giriyoruz. Biz KDV adını vereceğiz.

Formül yazan yere de 0 değerini silip Satış Tutarı ifadesine çift tıklayarak bu değerin burada yazılmasını sağlıyoruz daha sonra bu ifadeyi 0,18 değeri ile çarpıyoruz ve Ekle düğmesine tıklayarak alanımızı ekliyoruz.


KDV baslığı adında bir hesaplanmış alan eklenmiş oldu.

Ve PivotTable aşağıdaki gibi hesaplanmış alanımızı kullanabiliyoruz.


Yapılan işlemi aşağıdaki gif’den detaylıca izleyebilirsiniz.

Hesaplanmış alanda formülü güncelleme:

1. Ayni şekilde PivotTable araçlarına/PivotTable Tools gidelim ve seçenekler tabından Hesaplanmış Alan/Calculated Field komutuna tıklayalım.

2. Ad listesinden düzenlemek istediğimiz hesaplanmış alan adını seçelim.

3. Değişiklikleri yaptıktan sonra Değiştir tuşuna ardından da Tamam’a
basalım.


KDV alanını seçtikten sonra aşağıdaki gibi formül gelecektir. Formülü %8 olarak güncelledikten sonra Değiştir düğmesine tıklayarak formülü değiştirmiş olduk.


Hesaplanmış alanı silme:

1.Ayni şekilde PivotTable Araçlarına/PivotTable Tools gidelim ve seçenekler tabından Hesaplanmış Alan/Calculated Field komutuna tıklayalım.

2.Ad listesinden silmek istediğimiz hesaplanmış alan adını seçelim.

3. Sil komutuna tıklayalım.

Görüldüğü gibi PivotTable ile ana veride olmadığı halde PivotTable ile yeni alanlar oluşturmak çok kolay bir işlem. Bu sayede Pivot’u yaptığımız tablodaki verilerimiz hiç büyümeden daha karmaşık hesaplamaları kolaylıkla yapabileceğiz.

Başka bir makalede görüşmek üzere hoşça kalın.

Excel’de ki 3 Joker (Wildcard) Karakter

Yıldız (*), Soru İşareti (?) ve Tilda (~)

Merhaba,

Bu yazımızda, Excel eğitimlerimizde filtreleme işlemlerinde ve fonksiyonlarda özellikle anlattığımız çok kullanışlı olan joker karakterler (Wildcard) hakkında sizleri bilgilendireceğim.

Joker Karakter Nedir?

Bir ifadenin nasıl yazıldığını tam olarak hatırlamadığınız veya bir ifade içinde daha özel bir arama yapmak istediğimizde aradığımız değerleri bulmak için kullandığımız karakterlere Joker karakterler denir.
Joker karakterler metinde bilinmeyen karakterlerin yerine geçebilen özel karakterlerdir ve birbirine benzeyen ancak aynı olmayan verilere sahip birden çok öğeyi bulmak için kullanılırlar.

Excel’de kullanılabilecek üç farklı joker karakter var ve bunların her birinin farklı bir özelliği vardır.

Bu Joker karakterler: Yıldız işareti (*), Soru işareti (?) ve Tilda (~) işaretleridir.

Şimdi bu işaretlerin her birini örnekler ile detaylıca inceleyelim.

1.Yıldız Karakteri (*)

Yıldız (*) karakteri en çok kullanılan karakterdir. Bu karakterimiz farklı birçok program ve sistemde de kullanılabilir. Örneğin Windows, Sap, Access vb.

Yıldız joker karakteri, bir karakterden fazla herhangi bir metni temsil eder.

Örneğin;

Ca* ifadesinde * karakteri; Ca ile başlayan metin uzunluğu fark etmeyen her şey olabilir anlamına gelir. Can, Canan, Cansu, Canlı, Canavar gibi birçok kelimeyi temsil edebilir.

*Ca ifadesi ise; Ca ifadesi öncesinde hangi karakterlerin olduğu ve ne kadar uzunlukta olduğu önemli değil, sonu Ca ile biten bütün kelimeleri temsili eder. Örneğin Almanca, Kanca, Kolayca, Onlarca vb.

Yıldız (*) işaretinin nasıl kullanıldığını bir filtreleme işlemi üzerinde görelim.

Aşağıdaki gibi Ad Soyadlardan oluşan bir verimiz var, amacımız bu veri üzerinde adı Ahmet olan kayıtları filtrelemek istiyoruz.

Önce verimize Filtre uyguluyoruz.

    

Daha sonrasına açılan pencerede Arama kısmına Ahmet* ifadesini yazıyoruz.


Tamam düğmesine tıkladığımızda, listemiz artık Ahmet ile başlayan tüm kayıtlara göre filtreleniyor.


Filterimizi A* diye değiştirirsek bu seferde A karakteri ile başlayan tüm isimler listelenecektir.

Ya da *ka* gibi bir ifade yazarsak içinde ka ifadesi geçen bütün isimler listelenecektir.

2. Soru İşareti Karakteri (?)

Soru işareti joker karakteri herhangi sadece bir karakterin yerini alır. Özellikle daha spesifik aramalarda kullanılır.

Bu karakteri kullandığımız zaman ifadelerin metin uzunluğunda bir sınırlama söz konusudur, yani ifadeler * karakteri gibi sonsuz uzunlukta olmazlar.

Örneğin;

Can?? ifadesinde bu kelimenin toplamda beş karakter ile sınırlı olduğu son iki karakterinin herhangi bir karakter olabileceği anlamına gelir. Bu kelimeler Canan, Cansu, Caner, Canlı gibi olabilir ama Candan olmaz çünkü Candan beş karakterden fazladır.

Yukarıdaki örneği aşağıdaki gibi bir filtreleme işleminde görelim.

Daha sonra Arama kısmına Can?? İfadesini yazalım ve Tamam düğmesine tıklayalım.

Ve sonuç olarak aşağıdaki gibi filtrelemenin yapıldığını görebiliriz.


3. Tilda İşareti Karakteri (~)

Excel, yıldız işareti ve soru işaretini varsayılan olarak joker karakter olarak algılar, bu tür karakterlerin aslında ifademizin bir parçası olduğu durumlarda olabilir. Bu sebepten dolayı Excel’in bunu ayırt etmesi için Tilda karakterlerini kullanırız.

Bazı durumlarda yıldız işareti ve soru işareti karakterlerini Excel’in joker karakter olarak algılamamasını isteriz. Örneğin veriler içinde ? karakteri olabilir veya * karakteri olabilir bunu joker karakter olarak algılamasın diye başına bir Tilda işareti yerleştiririz.

Örneğin bizler aşağıdaki tabloda Monitör* yazan ifadeleri filtreleyelim. Bunun için Monitör* yazarsak bu Monitör kelimesi ile başlayan sonrası herhangi bir karakter olabilir anlamına gelen her şey olabilir. Burada Monitör? İfadesi de gelir, Monitör ifadesi de gelir bu bizim istediğimiz bir durum değildir.

Önce verimize filtre işlemini uygulayalım.

    

Daha sonra filtre penceresinin Arama kısmına Monitör~* ifadesini yazalım. Bu ifade de * işaretinin başına ~ işaretini koyduğumuz için * karakteri Excel tarafından joker karakter olarak algılanmayacaktır ve gerekli filtreleme işlemi yapılacaktır.


Sonuç olarak aşağıdaki sadece iki adet kayıt filtrelenecektir.


Fonksiyonlarda Joker Karakterleri Kullanma

Excel’de verileri filtrelemek ve bulmak için joker karakterler kullanılıyor ama asıl önemli kullanım yerlerinden biride fonksiyonlar. Örneğin Düşeyara kullanıyorsanız aradığınız değer ile tablodaki değerlerin birebir eşleşmesi gerekmektedir. Ancak bazı durumlarda bu olmayabilir. Örneğin kayıtların sonunda boşluk karakteri varsa birebir eşleşme olmayacaktır.

Joker karakterlerini EğerSay, ÇokEğerSay, ETopla, ÇokEtopla, EğerOrtalama, ÇokEğerOrtalama, Ara, YatayAra, DüşeyAra, VSeçTopla vb. birçok fonksiyonda kullanabiliriz.

Bu durumu bir örnek üzerinden anlatalım. Düşeyara ile alakalı bir örnek yapalım.

Aşağıdaki A:B aralığındaki tablolun A sütununda İlçe/İl şeklinde yazmaktadır.

Bizlerin elinde sadece ilçe listesi olsun ve bu kayıtları A:B aralığından çekmek isteyelim.


Bunun için E2 hücresine DüşeyAra fonksiyonunu uygulayacağız.


Fakat sonuç gelmeyecektir çünkü birebir bir eşleşme gerçekleşmedi.

Bizim istediğimiz olay Şişli ifadesi ile başlayan A:B aralığındaki ilk değeri bulmak.

Bunun için iki yöntem vardır.

  1. Doğrudan * karakterini D2 hücresindeki Şişli ifadesinin sağına yazmak.


  2. Diğer yöntem ise ki bu daha kullanışlıdır, * karakterini fonksiyon içine yazmaktır. Bunun için fonksiyonu aşağıdaki gibi değiştiriyoruz.


    Ve sonuç itibari ile aşağıdaki gibi görüyoruz.


    Yukarıdaki örneklerde görüldüğü üzere Joker karakterler gerek filtreleme de gerekse fonksiyonlarda kullanılması çok avantajlıdır.

    Başka bir makalede görüşmek üzere hoşça kalın.

 

Excel Veri Doğrulama (Data Validation)

Bu yazımızda özellikle Excel Eğitimlerimizde detaylıca anlattığımız önemli bir konu olan Excel Veri Doğrulama (Data Validation) Metodları hakkında bilgi vermeye çalışacağız.

Excel’de Veri Doğrulama ile kullanıcıların bir sayfada sadece istenilen hücre aralıklarına sizin koyduğunuz kısıtlamalar dahilinde veri girişi yapmasını sağlayabilirsiniz. Bu özellik ile izin verilmeyen hücre aralıklarına veri girişi yapılmasını engellemiş olursunuz. Veri Doğrulama ile hücreye Tamsayı, Ondalıklı Sayı, Liste, Metin Uzunluğu, Tarih, Saat türlerinden birini kullanabileceğiniz gibi özel bir durumda Formül yazarak da Özel veri doğrulama ölçütleri tanımlayabilirsiniz.

Veri Doğrulama’yı kullandığınızda kullanıcı kural koyulmuş hücrelerden birine tıkladığında bir uyarı mesajı göstererek kullanıcıya hücreye gireceği aralık ve veri türü hakkında bilgi verebilirsiniz. Eğer kullanıcı sizin koyduğunuz kurallar dışında bir değer girdi ise hata mesajı göstererek girilen değerlerin geçersiz olduğunu gösterebilirsiniz.

Veri Doğrulama özelliğine Veri Sekmesi > Veri Araçları gurubunda ulaşabilirsiniz.

Veri Doğrulamanın yanındaki oku tıkladığımızda açılan listeden tekrar Veri Doğrulama seçeneğini seçiyoruz. Ayrıca bu listeden veri doğrulama kuralı oluşturduğumuzda geçersiz olan verileri daire içine alınmasını sağlayan (Geçersiz Veriyi Daire İçine Al) özelliğimizi de kullanabiliriz.

Veri Doğrulama seçeneğini tıkladığımızda aşağıda görülen ayarlarımızı yapacağımız Veri Doğrulama penceresi açılır.

Yukardaki pencere ilk açıldığında İzin Verilen kısmında Herhangi Bir Değer yazan bu ifade sizin Excel hücrelerine istediğiniz her veriyi kısıtlama olmaksızın giriş yapabileceğiniz anlamına gelir.

Bir senaryo üzerinden özelliğimizin uygulamasını yapalım.

Örneğin bir Excel Sayfasında A1:A5 aralığına sadece 18 ile 50 arasıda tamsayı tipinde bir değer girişi yapmak istiyoruz. Kullanıcı bu aralıktan herhangi bir hücreye tıkladığında bir uyarı iletisi göstererek hangi değerleri girebileceği hakkında bir mesaj gösterilmesini sağlayacağız. Eğer kullanıcı izin verilen aralık veya tür dışında bir değer girişi yaparsa Hata Uyarısı göstereceğiz ve duruma göre ya hiç giriş yapamamasını veya bir uyarı gösterip yinede devam et şeklinde bir şeçenek sunarak giriş yaptırabiliriz.

Aşağıdaki pencerede İzin Verilen kısmında Tamsayıyı seçiyoruz ve 18 ile 50 arası bir sayıya izin verecek dediğimiz için Veri kısmına arasında olarak şeçiyoruz en az ve en çok kısımlarına sırayla 18 ve 50 değerlerini giriyoruz. Böylece kuralımızı koymuş olduk bu kadar yapmamız yeterlidir. İstersek Girdi iletisi ve Hata Uyarısı ayarlarınıda yapabiliriz eğer yapmaz isek sistemin varsayılan ayarı geçerli olur.

Şimdide Girdi İletisini hazırlayalım. Bunun için Girdi İletisi sekmesine tıklıyoruz ve aşağıda solda bulunan ekran geliyor. Bu ekranda Başlık kısmına “Lütfen okuyunuz” tarzında bir ileti Girdi iletisi kısmına da detaylı bir mesaj yazabilirsiniz.

Ve son olarak “Hata” Uyarısı ayarını yapalım. Amacımız sadece 18-50 arasında bir değer girişi yapıldı ise izin verilecek aksi durumda kesinlikle giriş yapılmasın şeklinde bir ayar yapacağız Stil kısmında Durma ifadesini seçersek kesinlikle giriş yapamaz ama Uyarı veya Bilgi ifadelerini seçersek önce bir uyarı alır Devam et seçeneğini seçersek giriş yapılır. Başlık kısmında Hata oluştu, Hata İletisi kısmında da Girdiğiniz değer geçerli değildir uyarısını verdirebiliriz.

Yukardaki tüm ayarları yaptıktan sonra kullanıcı veri girdiğinde aşağıdaki gibi bir görüntüyle karşılaşır. Eğer girilen değerler şartları sağlıyor ise bir sorun oluşmaz.

Ama girilen değerler geçersiz olursa seçtiğiniz Stil’e göre ki biz Durma Stilini seçtik hiçbir şekilde o değeri giremeyiz ve aşağıdaki gibi bir hata penceresi açılır.

Eğer Stil olarak Uyarı seçilirse aşağıdaki gibi bir mesaj çıkar.

Yukardaki bu mesajda Evet’i tıklarsak değer girişi kabul edilir. Diyelim ki tüm girişler yapıldı ama bizim kural koyarken sınırladığımız alanlar dışında da veriler girilmiş bunlar hangileridir tespit etmek istersek Geçersiz Veriyi Daire İçine Al seçeneğini seçiyoruz.

Ve bu işlem sonunda geçersiz olan veriler kırmızı daire içine otomatik alınır. Bu kırmızı daireleri temizlemek istersek Doğrulama Dairelerini Temizle seçeneğini seçeriz.

Yukarıda anlatılan süreç diğer veri türleri olan Ondalıklı Sayı, Metin Uzunluğu, Tarih, Saat türleri içinde aynı şekildedir.

Veri Doğrulama ile Açılır Listeler Yapmak

Açılır liste bir hücreye tıkladığımızda seçeneklerin gelmesidir. Bu özellik de bir Veri Doğrulama kuralıdır. Bir örnek ile konuyu anlatalım.

A1 hücresine tıkladığımızda açılır listeden departman bilgileri olan Finans, Muhasebe, Satış alanlarını seçebileceğimiz bir liste oluşturalım bunun için Veri Doğrulama penceresini açtıktan sonra Liste’yi seçip bilgileri arasında noktalı virgül olacak şekilde giriyoruz.

Yukardaki ayarı yaptığımızda A1 hücresinde aşağıdaki gibi açılır listeden seçim yapabiliriz.

Formül ile Veri Doğrulama Kuralı Oluşturmak

Veri Doğrulamada formül kullanmak bize sunulan var olan özellikler ile işin içinden çıkamayacağımız durumlarda kullanılır. Bu formülleri yazarken özellikle durumların sağlanıp sağlanmamasına göre bir formül yapısı kurarız ve bu formüllerin sonuç itibari ile Doğru veya Yanlış ifadelerini oluşturmaları gerekir.

Bir örnek ile konuyu anlatalım. Örnek: A1 hücresine girilecek metin C karakteri ile başlıyor ise hücreye giriş yapılabilir olsun aksi taktirde hiçbir şekilde giriş yapılmayacak.

Bunun için A1 hücresini seçtikten sonra Veri Doğrulama penceresini açıyoruz ve Özel’i seçtikten sonra Formül kısmına =Soldan(A1;1)=”C” formülünü yazıyoruz.

Tamam düğmesini tıkladıktan sonra A1 hücresine sadece C karakteri ile başlayan bir kelime girdiğimizde giriş yapılacak diğer durumlarda giriş yapılamayacak kuralı koymuş oluruz.

Aşağıdaki resimde görüldüğü gibi A1 hücresine Ali yazdığımızda hata alıyoruz çünkü C karakteri ile başlamıyor. (Varsayılan hata uyarısı)

Fakat A1 hücresine C karakteri ile başlayan Cihan ifadesini yazdığımızda herhangi bir sorunla karşılaşmıyoruz.

Böylelikle Veri Doğrulama yöntemleri ile hücreler içerisine rapor ya da hesaplamalar için doğru verilerin girilmesini kesin olarak sağlayabiliriz.

Başka bir yazıda görüşmek dileğiyle.