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.

ExcelHome Menüsü2

Filling (Otomatik doldurma işlemleri)

Doldurma işlemleri üzerinde çok konuşmaya değer konular değildir ancak Excel 2013'le gelen efsanevi Flashfill özelliği ile konuşmaya değer hale geldi. O yüzden kısaca klasik doldurma işlemlerinden bahsedelim ve sonrasında Flashfill'e geçelim.

Klasik Doldurma işlemleri

Aslında burda Fill menüsünden ziyade Options>Advanced sekmesindeki Edit Custom List'ten bahsetmek istiyorum. Zira Fill menüsünde çok kayda değer birşey yok, en azından ben hiç kullanmıyorum.

Bildiğiniz gibi bir hücreye Ocak yazıp sağa veya aşağı doğru kaydırdığınızda bu Şubat, Mart diye devam etmektedir. Bunun sebebi, ayların Excel'e bir Liste/Seri olarak tanıtılmış olmasıdır. Edit Custom List (Advanced sekmesinin en altına gitmeniz gerekiyor) butonuna bastığımızda bunu görebiliriz.

Biz de buraya kendi listemizi ekleyebiliriz. Bunu istersek manuel girişle veya hazırda bulunan bir listeyi import ederek yapabiliriz. Biz hazır listeyi import edelim. Diyelim ki kurumumuzun bölge isimlerine sık sık ihtiyaç duyuyoruz. Liste tanımlayarak bunları ikide bir bölge dosyasından almaktan kurtulmuş olacağız.

Bundan sonra bir hücreye Akdeniz yazıp aşağı/sağa sürüklersem sırayla Batı Karadeniz, Doğu Anadolu diye yazmaya başlayacak.

Dikkat: Buraya sadece sayılardan oluşan bir liste girilemez. Mesela bu bölgelerin bölge kodlarını giremeyiz. Ayrıca Listeye girilen metinlerin toplam uzunluğu 255 karakter olmalıdır. Yani burya bölge isimleri belki sığacaktır ama şube isimlerinden bir liste yapmak pek olası görünmüyor.

FlashFill

Uzuuuunca bir listeniz var diyelim. Mesela Bir Ad Soyad listesi. Bunu Ad ve Soyad olarak ikiye bölmek istiyorsunuz.

Önünüzde birkaç seçenek var(Tabiki tek tek elle yazmayı bir seçenek olarak düşünmüyoruz :))

  1. Bir formül yazıp bunu aşağı doğru çekmek.Bu yöntemin sakıncası 2 isimli kişilerde formülün karmaşıklaşmasıdır. Karmaşık metin formülleri için buraya tıklayınız.
    • İsim için:=LEFT(A2;FIND(" ";A2))
    • Soyisim için:=RIGHT(A2;LEN(A2)-FIND(" ";A2))
  2. Bir UDF kullanmak(Bu en hızlı yöntemdir, ancak VBA bilmeyi gerektirir)
      Function kelimesec(hucre As Range, kaçıncı As Byte, Optional ayrac As String = " ")
          'normal bir cümlede ayrac boşluk olacğaı için ayracı girmeye gerek yok, zaten default olarak " " atadım.
          'ama mesela içeriği / ile ayrılmış bir hücre varsa 3.parametre / olarak girilir
          Dim kelimeler As Variant
          kelimeler = Split(hucre.Value2, ayrac)
          kelimesec = kelimeler(kaçıncı - 1)
      End Function				
      
  3. Benim burada anlatacağım ise çok daha basit ve pratik bir yöntem:FlashFill(Excel 2013le birlikte aramıza katıldı)

    Hemen baştan belirteyim, Flashfill'in otomatik çalışması için File>Options>Advanced>Editing options altında Automatically Flash Fill seçeneğinin işaretli olması lazım. Aksi halde manuel Flash Fill yapmanız gerkeir, ki bu da oldukça kolaydır.(Klavyeden Ctrl+E kısayolu ile veya Home Menüsü>Fill>Flash Fill komutu ile)

    Şimdi yukardaki resimde B2 hücresine "Ali" yazalım. B2 hücresine gelip "V" harfine basar basmaz, otomatik flash fill yapılacağına dair aşağıdaki görüntü ortaya çıkar:

    Enter'a basar basmaz da otomatik tamamlanır. Sonuç aşağıdaki gibi olacaktır:

    Bu işlemin tersi için de yani farklı kolonlardaki isim ve soyisimi birleştirme işlemleri de aynı mantıkla yapılabilir.

    FlashFill'in çalışma şekli şöyledir:Siz B2'ye Ali yazdığınız zaman, bunun etrafında içinde Ali olan bir hücre var mı diye bakıyor, bulursa bir desen(pattern) oluşturuyor ve bu deseni diğer hücrelere de uygular. Burda oluşturduğu desen şu: "Ali Korkmaz metni içinde Ali, metnin ilk kelimesidir, o yüzden uygulanmak istenen şey, her metnin ilk kelimesini almaktır."

    Bazı karmaşık işlemler Flashfill ile yapılamıyor. Böyle durumlarda yine metin formüllerini uygulamanız gerekebilir.

YORUMLAR