Excel formülü: Metni n kelimeye kırp -

İçindekiler

Genel formül

=LEFT(txt,FIND("#",SUBSTITUTE(txt," ","#",n))-1)

Özet

Metni belirli sayıda kelimeye kırpmak için YEDEK, BUL ve SOL işlevlerine dayalı bir formül kullanabilirsiniz. Gösterilen örnekte, xxx'deki formül şöyledir:

=LEFT(B5,FIND("#",SUBSTITUTE(B5," ","#",C5))-1)

Açıklama

Metni belirli sayıda kelimeye karşılık gelen belirli bir işaretçide bölmenin bir yolunu bulmamız gerekir. Excel, metni kelime kelime ayrıştırmak için yerleşik bir işleve sahip değildir, bu nedenle "nth boşluk" karakterini pound işaretiyle (#) değiştirmek için SUBSTITUTE işlevinin "örnek" bağımsız değişkenini kullanır, ardından hepsini atmak için BUL ve SOLU kullanır işaretleyiciden sonra metin.

Baştan sona çalışarak, SUBSTITUTE, n'nin C sütunundan, metnin B sütunundan geldiği ve "#" kodunun kodlandığı bir boşluk karakterinin n'inci oluşumunun yerini alacak şekilde yapılandırılmıştır.

=SUBSTITUTE(B5," ","#",C5) =SUBSTITUTE("The cat sat on the mat."," ","#",3) ="The cat sat#on the mat."

Sonuçta elde edilen dize, "#" arayacak şekilde yapılandırılan FIND işlevine döndürülür.

=FIND("#","The cat sat#on the mat.)

"#" Metindeki 12. karakter olduğundan, FIND 12 değerini döndürür. Boşluk karakterinin kendisini dahil etmek istemiyoruz, bu yüzden 1 çıkarıyoruz:

=LEFT(B5,12-1) =LEFT(B5,11)

LEFT, "Kedi oturdu" formülünün nihai sonucunu döndürür.

Not: pound karakteri ("#") keyfidir ve metinde görünmeyen herhangi bir karakterle değiştirilebilir.

Elips veya başka bir karakter ekleyin

Kırpılan metnin sonuna "…" eklemek için, şu şekilde birleştirme kullanın:

=LEFT(B5,FIND("#",SUBSTITUTE(B5," ","#",C5))-1)&"… "

"…" Yerine istediğiniz herhangi bir şey koyabilirsiniz.

Ilginç makaleler...