Excel formülü: Belirli bir karakterle başlayan kelimeyi ayıklayın -

İçindekiler

Genel formül

=TRIM(LEFT(SUBSTITUTE(MID(txt,FIND("@",txt),LEN(txt))," ",REPT(" ",100)),100))

Özet

Belirli bir karakterle başlayan sözcükleri ayıklamak için, altı işlevi temel alan bir formül kullanabilirsiniz: KIRP, SOL, YEDEK, ORTA, UZUNLUK ve TEKRAR. Bu yaklaşım, başka metinler içeren bir hücreden Twitter kullanıcı adı gibi şeyler çıkarmanız gerektiğinde kullanışlıdır.

Gösterilen örnekte, C5'teki formül şöyledir:

=TRIM(LEFT(SUBSTITUTE(MID(B5,FIND("@",B5),LEN(B5))," ",REPT(" ",100)),100))

Açıklama

İçten dışa başlayarak, MID işlevi "@" sonrasındaki tüm metni çıkarmak için kullanılır:

MID(B5,FIND("@",B5),LEN(B5))

FIND işlevi başlangıç ​​noktasını sağlar ve toplam karakterlerin çıkarılması için orijinal metinde yalnızca UZUNLUK kullanırız. Bu biraz özensizdir, ancak çıkarılacak karakterlerin tam sayısını hesaplamak zorunda kalmaz. MID, bu sayının kalan karakterlerden daha büyük olup olmadığını umursamaz, sadece "@" 'den sonraki tüm metni çıkarır.

Daha sonra, tek bir boşluğu SUBSTITUTE ve REPT kombinasyonunu kullanarak 100 boşlukla değiştirerek kalan metni boşluk karakterleriyle "doldururuz":

SUBSTITUTE("@word and remaining text"," ",REPT(" ",100))

Bu çılgınca görünüyor, ancak mantık aşağıda netleşiyor.

Sonra, sadece istediğimiz kelimeyi (yani @word) çıkarmak için, soldan ilk 100 karakteri çıkarmak için SOL'u kullanırız. Bu bize "@word" artı birçok ek boşluk kazandırır. Görselleştirmek için, aşağıdaki kısa çizgiler boşlukları temsil eder:

@word ---------------------

Şimdi tüm fazladan boşlukları kaldırmamız gerekiyor. Bunun için TRIM işlevini kullanıyoruz.

Not: 100, özel karakterle başlayan bulmayı beklediğiniz en uzun kelimeyi temsil eder. İhtiyaçlarınıza uyacak şekilde artırın veya azaltın.

Bunu yapmanın daha iyi bir yolu var mı? Aşağıdaki yorumlarda bana bildirin!

Ilginç makaleler...