cümle-kelime-hece

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,640
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
Altın Üyelik Bitiş Tarihi
18-03-2025
merhabalar sayın hocalarım
A1 hücresinde bir cümle olacak
bu cümledeki önce kelimeleri ayıracak sonra her kelimedeki hecelemeyi ayıracak bir formülasyon bir çalışma yapılabilir mi
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

Sayın SERDAR'ın verdiği çözümden farklı ise alternatif olsun. Hazırlamıştım göndereyim bari.

Hece olayı ile ilgili olarak aşağıdaki konu sayfasındaki açıklamaları gözden geçiriniz. Hece olayı ile ilgili olarak ben de Sayın SERDAR'a katılıyorum.

Heceleme

Cümlenin A1 hücresinde olduğu varsayılmıştır.
Formülü B1 hücresine uygulayın ve BOŞ sonuç elde edinceye kadar sağa doğru kopyalayın.
.
Kod:
=[COLOR="red"]EĞER[/COLOR]([COLOR="red"]SÜTUN[/COLOR](A1)>[COLOR="red"]UZUNLUK[/COLOR]([COLOR="red"]KIRP[/COLOR]($A1))-[COLOR="red"]UZUNLUK[/COLOR]([COLOR="red"]YERİNEKOY[/COLOR]([COLOR="red"]KIRP[/COLOR]($A1);" ";""))+1;"";[COLOR="red"]PARÇAAL[/COLOR]([COLOR="red"]KIRP[/COLOR]($A1)&" ";[COLOR="red"]EĞER[/COLOR]([COLOR="red"]SÜTUN[/COLOR](A1)=1;1;[COLOR="red"]BUL[/COLOR]("|";[COLOR="red"]YERİNEKOY[/COLOR]([COLOR="red"]KIRP[/COLOR]($A1);" ";"|";[COLOR="red"]EĞER[/COLOR]([COLOR="red"]SÜTUN[/COLOR](A1)=1;"";[COLOR="red"]SÜTUN[/COLOR](A1)-1)))+1);[COLOR="red"]BUL[/COLOR]("|";[COLOR="red"]YERİNEKOY[/COLOR]([COLOR="red"]KIRP[/COLOR]($A1)&" ";" ";"|";[COLOR="red"]SÜTUN[/COLOR](A1)))-[COLOR="red"]EĞER[/COLOR]([COLOR="red"]SÜTUN[/COLOR](A1)=1;1;[COLOR="red"]BUL[/COLOR]("|";[COLOR="red"]YERİNEKOY[/COLOR]([COLOR="red"]KIRP[/COLOR]($A1)&" ";" ";"|";[COLOR="red"]EĞER[/COLOR]([COLOR="red"]SÜTUN[/COLOR](A1)=1;"";[COLOR="red"]SÜTUN[/COLOR](A1)-1)))+1)))
 

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,640
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
Altın Üyelik Bitiş Tarihi
18-03-2025
cevaplarınız için teşekkür ederim
heceleme ile ilgili inşallah bir çalışması olan vardır
 

klop01

Altın Üye
Katılım
19 Aralık 2016
Mesajlar
638
Excel Vers. ve Dili
2021 Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
07-02-2028
İyi Geceler,

Konuyu okuyunca ilgimi çekti. Yapılabilirse her zaman ve her yerde ihtiyaç duyulabilecek bir çalışma olabilir.

Türk Dil Kurumunun Genel Ağ'daki sayfasında bulunan güncel Yazım Kılavuzu'ndan heceleme ile ilgili kuralları aşağıda yazdım.

Toplam 5 maddeye göre heceleme yapılmaktadır. Kurallara bakıldığında bana excel ortamında heceleme yapılabilirmiş gibi geldi.

Çalışma -ki bu oldukça faydalı olacaktır- yapmak isteyen uzmanlara kılavuz olması açısından ilgili kurallar şöyle:




1. Türkçede kelime içinde iki ünlü arasındaki ünsüz, kendinden sonraki ünlüyle hece kurar: a-ra-ba, bi-çi-mi-ne, in-sa-nın, ka-ra-ca vb.

2. Kelime içinde yan yana gelen iki ünsüzden ilki kendinden önceki ünlüyle, ikincisi kendinden sonraki ünlüyle hece kurar: al-dı, bir-lik, sev-mek vb.

3. Kelime içinde yan yana gelen üç ünsüz harften ilk ikisi kendinden önceki ünlüyle, üçüncüsü kendinden sonraki ünlüyle hece kurar: alt-lık, Türk-çe, kork-mak vb.

4. Batı kökenli kelimeler, Türkçenin hece yapısına göre hecelere ayrılır: band-rol, kont-rol, port-re, prog-ram, sant-ral, sürp-riz, tund-ra, volf-ram vb.

5. İlk heceden sonraki heceler ünsüzle başlar. Bitişik yazılan kelimelerde de bu kurala uyulur: ba-şöğ-ret-men, il-ko-kul, Ka-ra-os-ma-noğ-lu vb.

Yazım kuralları(heceleme) konusunda bilgi düzeyinde destek verebilirim.

TDK: http://www.tdk.gov.tr/index.php?option=com_content&view=article&id=208:Hece-Yapisi-ve-Satir-Sonunda-Kelimelerin-Bolunmesi&catid=50:yazm-kurallar&Itemid=132
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
Selamlar,
Makro ile yapılabilir diye düşünüyorum. Makro düşünür müsünüz?
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
Fikir vermesi açısından makro ile bir çalışma yaptım. Denediğim kelimelerde hecelemeyi doğru sonuçlandırdı.

Kod:
Sub heceleme()
harf = "aâeıiîoöuûüAÂEIİÎOÖUÛÜ"
deg = [a1]
If Len(deg) = 1 Then
MsgBox deg
Exit Sub
End If
For x = Len(deg) To 1 Step -1
t = t + 1 'geçilen harf sayısı
If x <> Len(deg) Then
say = InStr(harf, Mid(deg, x, 1))
unlusay = InStr(harf, Mid(deg, x + 1, 1))
If x = 2 And say = 0 Then
    If InStr(harf, Mid(deg, x - 1, 1)) = 0 Then
        hece = hece & "-" & StrReverse(Mid(deg, x - 1, t + 1))
        Exit For
    End If
End If
If unlusay > 0 Or x = 1 Then
If say > 0 And x <> 1 Then
hece = hece & "-" & StrReverse(Mid(deg, x + 1, t - 1))
t = 1
Else
hece = hece & "-" & StrReverse(Mid(deg, x, t))
t = 0
End If
End If
End If
Next
MsgBox Mid(StrReverse(hece), 1, Len(hece) - 1)
End Sub
 

Ekli dosyalar

klop01

Altın Üye
Katılım
19 Aralık 2016
Mesajlar
638
Excel Vers. ve Dili
2021 Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
07-02-2028
Sayın leumruk,
Çalışmanız için teşekkürler.
İki konu dikkatimi çekti:
1. Heceleme yapılınca sonucu bir hücreye yazsa daha iyi olur.
2. Uzun ünlülerde sonuç vermiyor.
duyûn, irfân, âlâ vb.
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
Sayın leumruk,
Çalışmanız için teşekkürler.
İki konu dikkatimi çekti:
1. Heceleme yapılınca sonucu bir hücreye yazsa daha iyi olur.
2. Uzun ünlülerde sonuç vermiyor.
duyûn, irfân, âlâ vb.
Kod:
3. 2 Ünlü yan yana geldiğinde sonuç vermiyordu.
Kodları bu 2 hata giderilmiş şekilde güncelledim.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Mustafa Bey;

Elinize sağlık, ilginç bir çalışma olmuş. Ben yaptığım birkaç denemede, sesli harfle başlayan "araba", "evli" gibi kelimelerde sıkıntı olduğunu gördüm. Bir de; "kalemtraş" kelimesinde beklenen sonucu vermedi. Belki kelimenin türetilmiş olması özelliğindendir bilemiyorum.

Elinize sağlık,

.
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
Mustafa Bey;

Elinize sağlık, ilginç bir çalışma olmuş. Ben yaptığım birkaç denemede, sesli harfle başlayan "araba", "evli" gibi kelimelerde sıkıntı olduğunu gördüm. Bir de; "kalemtraş" kelimesinde beklenen sonucu vermedi. Belki kelimenin türetilmiş olması özelliğindendir bilemiyorum.

Elinize sağlık,

.
Teşekkür ederim, Haluk Bey,
araba kelimesindeki sorunu düzelttim.
"kalemtraş"ı imlâ klavuzuna göre "kalemtıraş" şeklinde yazmak gerekiyor.:)
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Teşekkür ederim, Haluk Bey,
araba kelimesindeki sorunu düzelttim.
"kalemtraş"ı imlâ klavuzuna göre "kalemtıraş" şeklinde yazmak gerekiyor.:)
Dil bilgisinde zayıf olduğum ortaya çıktı...

Kodlarınızın işi yarayacağı kesinleşti :)

Elinize sağlık,
.
 

klop01

Altın Üye
Katılım
19 Aralık 2016
Mesajlar
638
Excel Vers. ve Dili
2021 Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
07-02-2028
Haluk Bey,
"kalemtraş" olarak yazılınca yukarıdaki 5. mesajımdaki 3. maddeye göre kod aslında doğru işlem yapıyor.
"kalemtıraş" olarak yazılınca doğru heceye ayırıyor. Kelimenin yazılışında "ı" harfi de var.

Sayın leumruk,
Kodun ulaştığı sonucu açılan bir pencereye değil de herhangi bir hücreye yazdırabilir miyiz?
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
Ama, tespitiniz doğru elektrik, yeşilimtırak gibi kelimlerede sorun var. Onunla da uygun bir zaman diliminde ilgileneceğim.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

Ben de bir şey söyleyeyim.
-- Heceleme işlemiyle ilgili farklı yapıdaki kelimelerle denemelere devam etmek lazım.
-- Bir de sanırım noktalama işaretlerini temizlemek gerekecek.

Ayrıca; kod'un sonuna End Sub satırından önce aşağıdaki satırları da eklersek, A1'deki cümleyi,
B1'den itibaren sağa doğru herbir kelime bir hücrede olmak üzere hecelere ayrılmış olarak sayfada görüntülemiş oluruz.
.
Kod:
[B1] = Replace(Replace(Mid(StrReverse(hece), 1, Len(hece) - 1), " -", " "), "- ", " ")
[B1].TextToColumns Destination:=[B1], Space:=True
Cells.EntireColumn.AutoFit
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
TDK,
Batı kökenli kelimeler, Türkçenin hece yapısına göre hecelere ayrılır: band-rol, kont-rol, port-re, prog-ram, sant-ral, sürp-riz, tund-ra, volf-ram vb.

Bu açıklamaya göre kodlarda sorun görünmüyor. Tespit edebildiğim plan, tren gibi kelimelerde sorun var. Sizin de tespit edebildiğiniz kelimeler varsa belirtin, kodlamayı ona göre yapayım.
 

klop01

Altın Üye
Katılım
19 Aralık 2016
Mesajlar
638
Excel Vers. ve Dili
2021 Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
07-02-2028
Hoca'm,
"yeşilimtırak" doğru ayrılıyor.
"maatteessüf(ne yazık ki)" gibi ilginç yapıdaki bir kelime de doğru ayrılıyor.

Türkçede olmayan 4 sessiz harfin yan yana olma durumu yabancı dillerde var.
Rusça "lekarstvo(ilaç)" kelimesi mesela. Programınız le-karst-vo diye ayırdı ama doğruluğu konusunda emin değiliz(Mantık olarak bence doğru ayrılıyor.).
TDK 3 ünsüz için açıklama yapmış, yabancı diller de Türkçe kelimelerdeki gibi ayrılır demiş.
Dört sessizin yan yana geldiği yabancı kelimelerle ilgili bir açık kapı kalmış.
katki@tdk.gov.tr adresine yazayım bir. Cevabı uzun sürebiliyor.
 

klop01

Altın Üye
Katılım
19 Aralık 2016
Mesajlar
638
Excel Vers. ve Dili
2021 Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
07-02-2028
"tren" ve "plan" kelimeleri büyük harfle yazılınca doğru ayrılıyor.
Kodlar büyük ve küçük harfi önemsiyor mu?
 

klop01

Altın Üye
Katılım
19 Aralık 2016
Mesajlar
638
Excel Vers. ve Dili
2021 Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
07-02-2028
traktör, plan, tren, spor, stil vb. kelimeler için şöyle bir şey düşünülebilir:
1. Türkçede başta çift ünsüz olmayacağına göre kelime yabancı.
2. Bu durumda çift ünsüzle başlayan sonra bir ünlü bir ünsüz ile devam eden kelimelerde ilk dört harfi bir hece olarak tanıtmak sorunu çözebilir.
Önceki mesajımda büyük harflerden bahsetmiştim. Programın tamamı büyük olan hiçbir kelimeyi ayırmadığını şimdi fark ettim, belirteyim dedim.

İyi geceler dileklerimle.
 
Son düzenleme:

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
Kodları yeniledim.
 
Üst