Soru A1 Hücresinde ilk 150 kelimeyi B1'e almak.

Katılım
16 Mart 2007
Mesajlar
46
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
13.12.2022
Merhaba değerli üstadlar,

A1 Hücresindeki ilk 150 kelimeyi B1'e almak istiyoruz fakat 150 kelimeden önceki ilk .(nokta)'ya kadar alsın istiyoruz.
Yani belki de B1 de toplam 140 kelime olacak.

Yardımlarınızı rica ediyorum
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Kod:
=SOLDAN(A1;BUL(".";SOLDAN(A1;150)))
 
Katılım
16 Mart 2007
Mesajlar
46
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
13.12.2022
@Muzaffer Ali bey cevabınız için teşekkürler fakat çalışmadı.

Sizin belirttiğin fonksiyon bende sadece ilk cümleyi aldı.
Ayrıca ilk 150 karakter değil,ilk 150 kelimeyi almaya çalışıyoruz

yardımlarınız için teşekkürler.
 

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
Aşağıdaki kod A1 hücresindeki metnin içindeki ilk 150 kelimeyi B1 hücresine yazar. Sonrasında ne istediğinizi anlamadım....

Kod:
Sub Test()
'   Haluk - 31/01/2021
'   sa4truss@gmail.com

    Dim regExp As Object, i As Integer
    Dim objMatches As Object
    
    Set regExp = CreateObject("VBScript.RegExp")
    
    With regExp
      .IgnoreCase = True
      .Global = True
      .Pattern = "([^\s]+)"
    End With
    
    Set objMatches = regExp.Execute(Range("A1").Text)
    
    For i = 0 To 149
        myStr = myStr & objMatches(i).SubMatches(0) & Space(1)
    Next
    
    Range("B1") = Left(myStr, Len(myStr) - 1)
End Sub
.
 

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
Sizden olumlu veya olumsuz bir cevap gelmedi ama, anladığım kadarıyla formüllü bir çözüm geliştirdim.

Denersiniz...

Kod:
=SOLDAN(KIRP(SOLDAN(A1;BUL("|";YERİNEKOY(A1;" ";"|";150)&"|")));ARA(2;1/(PARÇAAL(KIRP(SOLDAN(A1;BUL("|";YERİNEKOY(A1;" ";"|";150)&"|")));SATIR(DOLAYLI("1:"&UZUNLUK(KIRP(SOLDAN(A1;BUL("|";YERİNEKOY(A1;" ";"|";150)&"|"))))));1)=".");SATIR(DOLAYLI("1:"&UZUNLUK(KIRP(SOLDAN(A1;BUL("|";YERİNEKOY(A1;" ";"|";150)&"|"))))))))
.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,230
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alternatif;

C++:
=EĞER(UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";""))<=150;A1;SOLDAN(YERİNEKOY(A1;" ";"|";150);BUL("|";YERİNEKOY(A1;" ";"|";150))-1))
 
Katılım
16 Mart 2007
Mesajlar
46
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
13.12.2022
teşekkürler sağolun
 
Üst