• DİKKAT

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

Bir cümlenin ilk 3 kelimesini yazdırmak

  • Konbuyu başlatan Konbuyu başlatan nokmen
  • Başlangıç tarihi Başlangıç tarihi
Katılım
25 Ocak 2013
Mesajlar
188
Excel Vers. ve Dili
2013 Professional Plus Türkçe
Merhabalar arkadaşlar,

Bir sorum olacaktı, diyelim A1 hücresinde bir firmanın tam ismi var :

A1=BİLMEMNE inşaat taahhüt temizlik gıda turizm pazarlama A.Ş.

Bunu B1 hücresine sadece ilk 3 kelimesiyle çağırabilir miyiz?

B1 : BİLMEMNE İnşaat Taahhüt

Teşekkürler.
 
.

Kod:
=MID(A1;SMALL(IF(MID(" "&A1;ROW(INDIRECT("1:"&LEN(A1)+1));1)=" ";ROW(INDIRECT("1:"&LEN(A1)+1)));1);SUM(SMALL(IF(MID(" "&A1&" ";ROW(INDIRECT("1:"&LEN(A1)+2));1)=" ";ROW(INDIRECT("1:"&LEN(A1)+2)));1+3*{0\1})*{-1\1})-1)

Kod:
=PARÇAAL(A1;KÜÇÜK(EĞER(PARÇAAL(" "&A1;SATIR(DOLAYLI("1:"&UZUNLUK(A1)+1));1)=" ";SATIR(DOLAYLI("1:"&UZUNLUK(A1)+1)));1);TOPLAM(KÜÇÜK(EĞER(PARÇAAL(" "&A1&" ";SATIR(DOLAYLI("1:"&UZUNLUK(A1)+2));1)=" ";SATIR(DOLAYLI("1:"&UZUNLUK(A1)+2)));1+3*{0\1})*{-1\1})-1)


Bu bir dizi formülüdür.

Dizi formülleri, formül, Formül Çubuğunda iken (veya formül hücresini seçip. F2 tuşuna basıldıktan sonra) CTRL, SHIFT tuşları basılı tutularak, ENTER ile girilir. Formül { } ayraçlar arasına alınır. { } ayraçları klavyeden girilirse, formül çalışmaz.

Formül, yukarıda belirtildiği şekilde girilmezse #VALUE! - #DEĞER! hatası verir.

.
 
Hemen deniyorum zahmet oldu teşekkürler.
 
A1 hücresine 5 kelimelik bir cümle yazarak formülü (ctrl-shift ile) girdim ancak #AD? hatası verdi.

Beklediğimden zahmetli bir formülmüş, ancak nedense çalışmadı.
 
A1 hücresine 5 kelimelik bir cümle yazarak formülü (ctrl-shift ile) girdim ancak #AD? hatası verdi.

Beklediğimden zahmetli bir formülmüş, ancak nedense çalışmadı.

.

Örnek dosya ekleyin. Bakalım.

Ben deneyerek formülü kurdum. Bir dosyada bunu denemeden formülü havadan kurduğumu sanmıyorsunuz, değil mi?

.
 
Merhaba,
Sayın yurttas'ın affına sığınarak;makrolu bir çözüm önerisi sunuyorum.
Bu arada formülde bir hata olmadığını ve Sayın yurttas'ın açıklamaları doğrultusunda işlem yapıldığında istenileni yaptığını belirtmeliyım.
Kod:
Sub Ayır()
    a = Split([A1], " ")
    [B1] = a(0) & " " & a(1) & " " & a(2)
End Sub
 
Makro çok fazla fonksiyonel olmayacak sanırım, dilimleyiciye bağlı bir pivot tablo'daki değişken satıra göre veriyi çağıracağım için. Yine de teşekkürler.

Eğer formül sizde DE çalıştıysa, kesin ben bir yanlışlık yapıyorum demektir. Tekrar formüle bir bakayım ben. :))
 
.

Kod:
=MID(A1;SMALL(IF(MID(" "&A1;ROW(INDIRECT("1:"&LEN(A1)+1));1)=" ";ROW(INDIRECT("1:"&LEN(A1)+1)));1);SUM(SMALL(IF(MID(" "&A1&" ";ROW(INDIRECT("1:"&LEN(A1)+2));1)=" ";ROW(INDIRECT("1:"&LEN(A1)+2)));1+3*{0\1})*{-1\1})-1)

Kod:
=PARÇAAL(A1;KÜÇÜK(EĞER(PARÇAAL(" "&A1;SATIR(DOLAYLI("1:"&UZUNLUK(A1)+1));1)=" ";SATIR(DOLAYLI("1:"&UZUNLUK(A1)+1)));1);TOPLAM(KÜÇÜK(EĞER(PARÇAAL(" "&A1&" ";SATIR(DOLAYLI("1:"&UZUNLUK(A1)+2));1)=" ";SATIR(DOLAYLI("1:"&UZUNLUK(A1)+2)));1+3*{0\1})*{-1\1})-1)


Bu bir dizi formülüdür.

Dizi formülleri, formül, Formül Çubuğunda iken (veya formül hücresini seçip. F2 tuşuna basıldıktan sonra) CTRL, SHIFT tuşları basılı tutularak, ENTER ile girilir. Formül { } ayraçlar arasına alınır. { } ayraçları klavyeden girilirse, formül çalışmaz.

Formül, yukarıda belirtildiği şekilde girilmezse #VALUE! - #DEĞER! hatası verir.

.

Ekteki dosyaya bakabilir misiniz? Formülün doğru olduğunu biliyorum da ben nerede hata yapıyorum bulamadım. (Cursor formül çubuğunda iken ctrl-shift-enter yapıyorum)
 

Ekli dosyalar

Ekteki dosyaya bakabilir misiniz? Formülün doğru olduğunu biliyorum da ben nerede hata yapıyorum bulamadım. (Cursor formül çubuğunda iken ctrl-shift-enter yapıyorum)

.

Dosyanız ekte.

.
 

Ekli dosyalar

.

Dosyanız ekte.

.

Mükemmel oldu. Sanırım topla ile toplam arasındaki küçük bir fark neden olmuş. Teşekkürler.

NOT : İlgilenenler için, yukardaki formül A1 hücresinde yazılı bir cümlenin (şirket adı, adres vs.) ilk 3 kelimesini çağırır (Dizi formülüdür ctrl-shift-enter).
 
Sn.Yurttaş ve Sn.DeDe'ye teşekkürler. Her zaman olduğu gibi yanıtlarından, farklı yöntemler öğrendim.

Benim de katkım olsun. Aşağıdaki formül de (Hamal usulü :)) değişik bir çözüm.

=SOLDAN(A1;BUL(" ";A1))&SOLDAN(PARÇAAL(A1;BUL(" ";A1)+1;50);BUL(" ";PARÇAAL(A1;BUL(" ";A1)+1;50)))&SOLDAN(PARÇAAL(PARÇAAL(A1;BUL(" ";A1)+1;50);BUL(" ";PARÇAAL(A1;BUL(" ";A1)+1;50))+1;50);BUL(" ";PARÇAAL(A1;BUL(" ";A1)+1;50)))
 
Son düzenleme:
Alternatif olarak şu formül de kullanılabilir:
Kod:
=SOLDAN(A1;BUL(" ";A1)-1)&" "&SOLDAN(YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";"");BUL(" ";YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";""))-1)&" "&SOLDAN(YERİNEKOY(YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";"");SOLDAN(YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";"");BUL(" ";YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";""))-1)&" ";"");BUL(" ";YERİNEKOY(YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";"");SOLDAN(YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";"");BUL(" ";YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";""))-1)&" ";""))-1)
 
3 den az kelime varsa ?

Diğer alternatif çözümler için teşekkürler. Bu arada küçük bir değişiklik gerekecek sanırım formülde :) (excel de her zaman olageldiği gibi ...).

Baktım bazı isimlerde #SAYI! hatası veriyor. Meğer kelime sayısı 3'den az olduğunda bu hatayı veriyormuş :). Yani tüm formül ,

EĞER(kelime sayısı<=3;cümlenin kendisi;.... ) şeklinde olması gerekiyor sanırım.

Buna dair olarak, diğer alternatifleri deneyeceğim. Gerekirse kendim bu tarz eklemeyi yaparım. Bakalım hangisiyle çözülecek bu sorun. :)
 
Son düzenleme:
Diğer alternatif çözümler için teşekkürler. Bu arada küçük bir değişiklik gerekecek sanırım formülde :) (excel de her zaman olageldiği gibi ...).

Baktım bazı isimlerde #SAYI! hatası veriyor. Meğer kelime sayısı 3'den az olduğunda bu hatayı veriyormuş :). Yani tüm formül ,

EĞER(kelime sayısı<=3;cümlenin kendisi;.... ) şeklinde olması gerekiyor sanırım.

Buna dair olarak, diğer alternatifleri deneyeceğim. Gerekirse kendim bu tarz eklemeyi yaparım. Bakalım hangisiyle çözülecek bu sorun. :)

Bütün formüller çalışıyor ancak hepsi de aynı hatayı veriyor ve 3'den fazla kelime koşulunu sanırım ben ekleyemeyeceğim :). Formüle yukarıdakine benzer bir koşul ekleyebilirseniz çok sevinirim. Teşekkürler.
 
Aşağıdaki formül işinizi görür ancak çok fazla içiçe düzey kullanıldığı için bende çalışmadı.

Kod:
=EĞER(UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";""))>=3;SOLDAN(A1;BUL(" ";A1)-1)&" "&SOLDAN(YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";"");BUL(" ";YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";""))-1)&" "&SOLDAN(YERİNEKOY(YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";"");SOLDAN(YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";"");BUL(" ";YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";""))-1)&" ";"");BUL(" ";YERİNEKOY(YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";"");SOLDAN(YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";"");BUL(" ";YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";""))-1)&" ";""))-1);A1)

Formül çalışmazsa bunun yerine formülü ikiye bölerek yapabilirsiniz. Önceki mesajımda verdiğim formül A2 hücresindeyse A3 hücresine aşağıdaki formülü yazarak düzgün çalışmasını sağlayabilirsiniz:

Kod:
=EĞER(UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";""))>=3;A2;A1)
 
Aşağıdaki formül işinizi görür ancak çok fazla içiçe düzey kullanıldığı için bende çalışmadı.

Kod:
=EĞER(UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";""))>=3;SOLDAN(A1;BUL(" ";A1)-1)&" "&SOLDAN(YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";"");BUL(" ";YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";""))-1)&" "&SOLDAN(YERİNEKOY(YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";"");SOLDAN(YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";"");BUL(" ";YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";""))-1)&" ";"");BUL(" ";YERİNEKOY(YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";"");SOLDAN(YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";"");BUL(" ";YERİNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";""))-1)&" ";""))-1);A1)

Formül çalışmazsa bunun yerine formülü ikiye bölerek yapabilirsiniz. Önceki mesajımda verdiğim formül A2 hücresindeyse A3 hücresine aşağıdaki formülü yazarak düzgün çalışmasını sağlayabilirsiniz:

Kod:
=EĞER(UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";""))>=3;A2;A1)

İlk formül gayet güzel çalıştı. 3'ün altındaki kelime sayısında de hata vermiyor :). Teşekkürler.
 
Şu formül de olabilir:

Kod:
= EĞERHATA(SOLDAN(A1;BUL(" ";A1)-1)&" "&SOLDAN(YERÝNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";"");BUL(" ";YERÝNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";""))-1)&" "&SOLDAN(YERÝNEKOY(YERÝNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";"");SOLDAN(YERÝNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";"");BUL(" ";YERÝNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";""))-1)&" ";"");BUL(" ";YERÝNEKOY(YERÝNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";"");SOLDAN(YERÝNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";"");BUL(" ";YERÝNEKOY(A1;SOLDAN(A1;BUL(" ";A1)-1)&" ";""))-1)&" ";""))-1);A1)
 
Maşallah Yusuf Bey sizden formül saçılıyor etrafa:) Bu formülü de koydum depoya, yedekte olması iyidir her zaman teşekkürler.
 
Eyvallah :) Ben de sayenizde ve sitedeki diğer arkadaşar sayesinde öğreniyorum zaten. şimdiye kadar hiç böyle bir ihtiyacım olmadığından böyle bir formül oluşturmamıştım ancak ihtiyaç hasıl olunca nasıl çözerim diye yaklaşıp çözmeye çalışıyorum.
 
Geri
Üst