Birleşik Ad Soyad Bilgisini Excel Üzerinde Ayrıştırın
Adı ve soyadı KTF ile ayırma dosyası, aynı hücrede bulunan kişi adlarını iki ayrı sonuç alanına dönüştüren makrolu bir Excel örneğidir. Çalışma kitabında ADI ve SOYADI isimli iki kullanıcı tanımlı işlev bulunmaktadır. Bu işlevler, kaynak hücredeki metni okuyarak ad bölümünü ve soyadı bölümünü ayrı hücrelerde gösterir. Birden fazla sözcükten oluşan adlar birlikte tutulur. Ayrıştırma kuralında son sözcük soyadı olarak kabul edilir. Bu nedenle sonuç, metnin yapısına dayalı bir ayrımdır ve kişinin kimlik kaydını doğrulamaz.Dosya tek görünür çalışma sayfasından oluşur. Sayfa1 isimli bu sayfada birleşik ad soyad sütunu, ad sonucu sütunu ve soyadı sonucu sütunu yan yana yer almaktadır. Örnek kayıtlar üzerinde formüllerin nasıl kullanıldığı gösterilir. Kaynak hücredeki metin değiştiğinde karşısındaki iki sonuç yeniden hesaplanır. Çalışma kitabının uzantısı xlsm olarak korunmalıdır. İşlevler VBA koduyla tanımlandığından yalnız sayfa formüllerini kopyalamak, kodu taşımayan başka bir çalışma kitabında aynı hesabın yapılmasını sağlamaz.
Dosya Ne İşe Yarar
Tek sütunda saklanan ad soyad bilgisi, ayrı ad ve soyadı sütunları gerektiren listeler için dönüştürülebilir. Örneğin bir kişi listesinin farklı sütunlara aktarılması sırasında birleşik alanın iki parçaya ayrılması gerekebilir. Dosya, bu ayrımın kullanıcı tanımlı iki işlevle nasıl yapılacağını somut örnekler üzerinden göstermektedir. Ayrıştırılan sonuçlar kaynak satırlarıyla aynı hizadadır. Böylece her kaydın giriş metni, ad bölümü ve soyadı bölümü birlikte kontrol edilebilir.Adı birden fazla sözcükten oluşan kişilerde ilk sözcükten sonra hemen ayrım yapılmaz. Bunun yerine metindeki son boşluk konumu esas alınır. Örneğin Ayşe Nur Öztürk ifadesinde ad bölümü Ayşe Nur, soyadı bölümü Öztürk olur. Bu mantık, birden fazla verilen adı birlikte tutmaktadır. Ancak iki ayrı sözcükten oluşan soyadlarının gerçek sınırını kendiliğinden belirlemez. Böyle kayıtların kurumun kaynak verisiyle ayrıca karşılaştırılması gerekir. Dosyada kişi bilgilerini sorgulayan bir dış hizmet veya kimlik doğrulama bağlantısı bulunmamaktadır.
Sayfa Düzeni ve Hücreler
B2 hücresinde Adı ve Soyadı başlığı yer alır. B3:B13 aralığında on bir örnek birleşik ad soyad kaydı bulunmaktadır. D2 hücresindeki Adı başlığının altında ad sonuçları, E2 hücresindeki Soyadı başlığının altında soyadı sonuçları gösterilir. Kaynak ve sonuç sütunları arasında bırakılan boş sütun, giriş metnini hesaplanan alanlardan görsel olarak ayırmaktadır. Sayfada ikinci bir veri tablosu veya ayrı bir sonuç sekmesi bulunmaz.D3 hücresindeki ADI formülü B3 hücresine başvurur. E3 hücresindeki SOYADI formülü de aynı B3 hücresini kullanır. Sonraki örnek satırlarda başvuru ilgili satıra göre ilerler. Örneğin D4 ve E4, B4 içeriğini işler. Bu yapı on bir örnek satır boyunca devam etmektedir. Çalışma sayfasında toplam yirmi iki formül bulunur. Bunların on biri ad, on biri soyadı sonucunu üretir. Formüller aynı kayıt için iki farklı metin parçası döndürür.
Örnek satırlar yeni bir isim listesiyle değiştirilebilir. Kaynak metin B sütununa yazılırken D ve E sütunlarındaki formüller korunmalıdır. Yeni satırlar eklenecekse ilgili iki formül yeni satıra kopyalanmalı ve kaynak hücre başvurusu kontrol edilmelidir. Sayfada yapılandırılmış Excel tablosu bulunmadığından yeni satır eklenmesinin bütün formülleri otomatik genişlettiği varsayılmamalıdır. Formül kopyalama işlemi sonucunda aynı satırdaki B hücresinin kullanıldığı ayrıca doğrulanmalıdır.
Kullanıcı Tanımlı İşlevlerin Mantığı
ADI ve SOYADI işlevleri tek hücrelik bir Range girdisi alır. Önce kaynak metindeki boşluklar düzenlenir. Baştaki ve sondaki boşluklar kaldırılır, art arda gelen boşluklar tek boşluğa dönüştürülür. Sekme karakteri, satır sonu karakterleri ve bölünemez boşluk da normal boşluk olarak değerlendirilir. Bu hazırlık, özellikle başka kaynaklardan kopyalanmış isimlerde görülebilen görünmeyen ayırıcıların sonuç üzerindeki etkisini azaltır. B sütunundaki özgün metin değiştirilmez, düzenleme işlevin hesapladığı metin üzerinde yapılır.Düzenlenmiş metindeki son boşluk bulunarak iki çıktı oluşturulur. ADI işlevi bu boşluktan önceki bölümün tamamını döndürür. SOYADI işlevi son boşluktan sonraki bölümü verir. Ad çıktısının sonunda ayırıcı boşluk bırakılmaz. Böylece sonuç hücresindeki metin başka işlemlerde kullanılacağı zaman gereksiz bir son boşluk taşımaz. Büyük ve küçük harfler kaynak metindeki biçimiyle korunur. İşlevler adları büyük harfe çevirmek veya Türkçe karakterleri dönüştürmek için ayrı bir kural uygulamaz.
Boş hücre her iki sonuçta da boş metin verir. Yalnız tek sözcük içeren kayıtta sözcük ad alanına yazılır ve soyadı alanı boş bırakılır. Bu yaklaşım, soyadı bulunmayan girdinin açıkça görünmesini sağlar. Tek sözcüklü bir metnin mutlaka gerçek bir ad olduğu doğrulanmış sayılmaz. Bu kayıtların eksik bilgi içerip içermediği ayrıca değerlendirilmelidir. Kaynak hücre Excel hata değeri taşıyorsa işlev bu hatayı sonuçta korur. Birden fazla hücrelik aralık verilmesi ise geçerli tek kayıt girdisi olarak kabul edilmez.
Nasıl Kullanılır
Çalışma kitabı masaüstü Microsoft Excel uygulamasında açılır. Kullanıcı tanımlı işlevlerin çalışabilmesi için dosyanın VBA kodunun kurumun güvenlik politikası çerçevesinde çalışmasına izin verilmelidir. Genel makro güvenliğinin kapatılması gerekmez. Makrolar engellendiğinde kayıtlı sonuçların ekranda görünmesi, yeni girişlerin hesaplanabildiği anlamına gelmez. Dosyanın çalıştığını değerlendirmek için örnek bir kaynak hücre değiştirilmeli ve karşısındaki iki sonuç alanının güncellendiği görülmelidir.Birleşik ad soyad metni B sütunundaki ilgili örnek hücreye yazılır veya yapıştırılır. D sütununda ad bölümü, E sütununda soyadı bölümü incelenir. Birden fazla verilen ad içeren kayıtların ad alanında birlikte kaldığı kontrol edilir. Girişin sonunda veya başında boşluk bulunuyorsa sonuç alanlarında gereksiz boşluk taşınmaması beklenir. Tek sözcüklü kayıtların soyadı sonucunun boş olması, kaynak listenin gözden geçirilmesine yardımcı olur. Sonuçlar gerektiğinde başka bir listeye değer olarak aktarılabilir.
Dosyanın işlevleri farklı bir makrolu çalışma kitabında kullanılacaksa ilgili VBA modülünün de taşınması gerekir. ADI ve SOYADI, Excel'in her boş çalışma kitabında hazır bulunan standart işlevleri değildir. Kodun bulunmadığı bir dosyaya yalnız formül yazılması aynı sonucu üretmez. Bu nedenle çalışma kitabı biçimi, işlev kodu ve hücre başvurusu birlikte değerlendirilmelidir. Başka programlarda veya tarayıcı önizlemelerinde VBA hesabının desteklendiği varsayılmamalıdır.
Yapılan Güncelleme ve İşlev Kontrolleri
Önceki dosyada ad çıktısının sonunda ayırıcı boşluk kalabildiği ve girişin sonundaki boşlukların soyadı sonucunu boş bırakabildiği görülmüştür. Güncel sürümde bu davranışlar düzeltilmiştir. Tek sözcüklü kayıtların hangi alana aktarılacağı açık biçimde tanımlanmıştır. Sekme ve bölünemez boşluk içeren kayıtlar için de düzenleme eklenmiştir. Sayfanın düzeni, örnek girişler, iki kullanıcı tanımlı işlev adı ve mevcut hücre formülleri korunmuştur. Eski sürümler yeni sürümün yerine silinmemektedir.İşlevler gerçek Microsoft Excel uygulamasında yeniden hesaplanarak test edilmiştir. İki sözcüklü normal isim, birden fazla verilen ad, başında ve sonunda boşluk bulunan isim, art arda boşluklar, Türkçe karakterli isim, boş giriş ve tek sözcüklü giriş ayrı örneklerle kontrol edilmiştir. Sekme ve bölünemez boşluk içeren metinler de aynı yöntemle denenmiştir. Güncel dosya kaydedilip yeniden açıldıktan sonra bu örneklerde beklenen ad ve soyadı çıktıları elde edilmiştir.