• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Çözüldü İsimlerden Sonra Gelen İyelik Eklerini Bulan Fonksiyon

mahmut011

Altın Üye
Altın Üye
Katılım
22 Eylül 2013
Mesajlar
111
Excel Vers. ve Dili
2021 Türkçe 64-bit
Merhaba,
Yapmak isteğim isimlerin sonra gelen iyelik eklerini bulan bir kullanıcı tanımlı fonksiyon yazmak.
Örneğin Eren Demir'in derken -in ekini bulan bir fonksiyon.

Kelimenin son üç harfinde A harfi varsa ve bu durumda A harfi sonda ise -nın eki, sonda değilse -ın eki;
Kelimenin son üç harfinde E harfi varsa ve bu durumda E harfi sonda ise -nin eki, sonda değilse -in eki;
Kelimenin son üç harfinde İ harfi varsa ve bu durumda İ harfi sonda ise -nin eki, sonda değilse -in eki;
.....
Bu fonksiyonu son üç harfte for döngüsüyle döndürerek yaptım(sadece büyük harfler için) ancak uzun oldu.
find, right fonksiyonlarıyla(veya başka fonksiyonlarla) ve büyük küçük tüm Türkçe sesli harfler için bir fonksiyon olmasını istiyorum.
Yardımcı olabilir misiniz
 
Teşekkürler, buradaki formülü kullanıcı tanımlı fonksiyona dönüştürebilir misiniz?(formüllerin ingilizce karşılıklarını yazarak koda dönüştürmeye çalışıyorum hata veriyor)
 
Son düzenleme:
Kod:
=B5&"'"&CHOOSE(MATCH(1;--ISNUMBER(MATCH(MID(B5;LEN(B5)-{0;1;2};1);{"a";"e";"ı";"i";"o";"ö";"u";"ü"};0));0);"n";"";"")&CHOOSE(INDEX(MATCH(MID(B5;LEN(B5)-{0;1;2};1);{"a";"e";"ı";"i";"o";"ö";"u";"ü"};0);MATCH(1;--ISNUMBER(MATCH(MID(B5;LEN(B5)-{0;1;2};1);{"a";"e";"ı";"i";"o";"ö";"u";"ü"};0));0));"ın";"in";"ın";"in";"un";"ün";"un";"ün")

deneyin.
 
Cevabınız için teşekkürler,
Kod:
Function ek(str As String) As String
ek=CHOOSE(MATCH(1;--ISNUMBER(MATCH(MID(str;LEN(str)-{0;1;2};1);{"a";"e";"ı";"i";"o";"ö";"u";"ü"};0));0);"n";"";"")&CHOOSE(INDEX(MATCH(MID(str;LEN(str)-{0;1;2};1);{"a";"e";"ı";"i";"o";"ö";"u";"ü"};0);MATCH(1;--ISNUMBER(MATCH(MID(str;LEN(str)-{0;1;2};1);{"a";"e";"ı";"i";"o";"ö";"u";"ü"};0));0));"ın";"in";"ın";"in";"un";"ün";"un";"ün")
End Function

Bu kısım çalışması için nasıl düzenlenmeli?(Bu haliyle hata veriyor)
 
Merhaba,
Alternatif KTF olsun.
Ekler, hal ekleri, ilgi ekleri vb için özelleştirilebilir.
Kod:
Function EKEKLE(kelime As String, ayrac As String) As String
kokler = Array("*a", "*e", "*ı", "*i", "*o", "*ö", "*u", "*ü", _
                "*A", "*E", "*I", "*İ", "*O", "*Ö", "*U", "*Ü", _
                "*a?", "*e?", "*ı?", "*i?", "*o?", "*ö?", "*u?", "*ü?", _
                "*A?", "*E?", "*I?", "*İ?", "*O?", "*Ö?", "*U?", "*Ü?", _
                "*a??", "*e??", "*ı??", "*i??", "*o??", "*ö??", "*u??", "*ü??", _
                "*A??", "*E??", "*I??", "*İ??", "*O??", "*Ö??", "*U??", "*Ü??")
ekler = Array("nın", "nin", "nın", "nin", "nun", "nün", "nun", "nün", _
                "NIN", "NİN", "NIN", "NİN", "NUN", "NÜN", "NUN", "NÜN", _
                "ın", "in", "ın", "in", "un", "ün", "un", "ün", _
                "IN", "İN", "IN", "İN", "UN", "ÜN", "UN", "ÜN", _
                "ın", "in", "ın", "in", "un", "ün", "un", "ün", _
                "IN", "İN", "IN", "İN", "UN", "ÜN", "UN", "ÜN")
For a = LBound(kokler) To UBound(kokler)
    If kelime Like kokler(a) Then
        EKEKLE = kelime & ayrac & ekler(a)
        Exit For
    End If
Next
End Function
=EKEKLE(A1;"'")
İyi çalışmalar...
 
Teşekkürler
 
Geri
Üst