Excel formülü: Metni sınırlayıcıyla bölme -

İçindekiler

Genel formül

=TRIM(MID(SUBSTITUTE(A1,delim,REPT(" ",LEN(A1))),(N-1)*LEN(A1)+1,LEN(A1)))

Özet

Metni rastgele bir sınırlayıcıda (virgül, boşluk, dikey çizgi vb.) Bölmek için, KIRP, ORTA, YEDEK, TEKRAR ve UZUNLUK işlevlerine dayalı bir formül kullanabilirsiniz. Gösterilen örnekte, C5'teki formül şöyledir:

=TRIM(MID(SUBSTITUTE($B5,"|",REPT(" ",LEN($B5))),(C$4-1)*LEN($B5)+1,LEN($B5)))

Not: B5 ve C4 referansları, formülün çapraz ve aşağı kopyalanmasına izin veren karışık referanslardır.

Açıklama

Bu formülün özü, belirli bir sınırlayıcıyı çok sayıda boşlukla değiştirip YERİNE AL ve TEKRAR kullanarak daha sonra "n'inci oluşum" ile ilgili metni çıkarmak için ORTA işlevini ve fazladan boşluktan kurtulmak için KIRP işlevini kullanmaktır.

Bu kod parçacığında, sınırlayıcı (sınırlayıcı), dizenin toplam uzunluğuna eşit sayıda boşlukla değiştirilir:

SUBSTITUTE(A1,delim,REPT(" ",LEN(A1)))

Daha sonra formül, n'inci alt dizeyi çıkarmak için MID işlevini kullanır. Başlangıç ​​noktası aşağıdaki kodla hesaplanır, burada N "nth" yi temsil eder:

(N-1)*LEN(A1)+1

Çıkarılan toplam karakter, tam metin dizesinin uzunluğuna eşittir. TRIM işlevi daha sonra tüm fazladan boşlukları kaldırır ve yalnızca n'inci dizeyi döndürür.

Sadece bir örneği çıkarın

Örnek, B sütunundaki metinden 5 alt dizeyi çıkaracak şekilde ayarlanmış olsa da, yalnızca 1 örneği kolayca ayıklayabilirsiniz. Örneğin, yalnızca 4. öğeyi (şehir) çıkarmak için şunları kullanabilirsiniz:

=TRIM(MID(SUBSTITUTE(B5,"|",REPT(" ",LEN(B5))),(4-1)*LEN(B5)+1,LEN(B5)))

Sütunlara Metin özelliği

El ile, tek seferlik dönüştürmeler için Excel, hücrelerdeki metni seçtiğiniz bir sınırlayıcıyla bölebilen "Metinden Sütunlara" adlı yerleşik bir özelliğe sahiptir. Bu özelliği, Veri araçları bölümündeki şeridin Veri sekmesinde bulacaksınız.

Ilginç makaleler...