Excel formülü: Metni ve sayıları bölme -

İçindekiler

Genel formül

=MIN(FIND((0,1,2,3,4,5,6,7,8,9),A1&"0123456789"))

Özet

Metni ve sayıları ayırmak için, metni veya sayıyı ayıklamak isteyip istemediğinize bağlı olarak BUL işlevine, MİN işlevine ve LEFT veya RIGHT işleviyle LEN işlevine dayalı bir formül kullanabilirsiniz. Gösterilen örnekte, C5'teki formül şöyledir:

=MIN(FIND((0,1,2,3,4,5,6,7,8,9),B5&"0123456789"))

3 sayısının "elmalar30" dizesindeki konumu olan 7 değerini döndürür.

Açıklama

Genel Bakış

Formül karmaşık görünüyor, ancak mekanik aslında oldukça basit.

Metni bölen veya çıkaran çoğu formülde olduğu gibi, anahtar, aradığınız şeyin konumunu bulmaktır. Pozisyona sahip olduğunuzda, ihtiyacınız olanı çıkarmak için diğer işlevleri kullanabilirsiniz.

Bu durumda, sayıların ve metnin birleştirildiğini ve sayının metinden sonra göründüğünü varsayıyoruz. Bir hücrede görünen orijinal metinden, metni ve sayıları aşağıdaki gibi ayrı hücrelere bölmek istersiniz:

Orijinal Metin Numara
Elmalar30 Elmalar 30
şeftali24 şeftaliler 24
portakallar12 portakallar 12
şeftali0 şeftaliler 0

Yukarıda belirtildiği gibi, bu durumda anahtar, aşağıdaki gibi bir formülle yapabileceğiniz sayının başlangıç ​​konumunu bulmaktır:

=MIN(FIND((0,1,2,3,4,5,6,7,8,9),A1&"0123456789"))

Konumu elde ettiğinizde, yalnızca metni çıkarmak için şunu kullanın:

=LEFT(A1,position-1)

Ve sadece sayıyı çıkarmak için şunu kullanın:

=RIGHT(A1,LEN(A1)-position+1)

Yukarıdaki ilk formülde, sayının başlangıç ​​konumunu bulmak için FIND işlevini kullanıyoruz. Bul_metni için, dizi sabitini (0,1,2,3,4,5,6,7,8,9) kullanıyoruz, bu, FIND işlevinin dizi sabitindeki her bir değer için ayrı bir arama yapmasına neden olur. Dizi sabiti 10 sayı içerdiğinden, sonuç 10 değerli bir dizi olacaktır. Örneğin, orijinal metin "elmalar30" ise, ortaya çıkan dizi şöyle olacaktır:

(8,10,11,7,13,14,15,16,17,18)

Bu dizideki her sayı, orijinal metin içindeki dizi sabitindeki bir öğenin konumunu temsil eder.

Daha sonra, MIN işlevi, listedeki en küçük değeri döndürür ve bu, orijinal metinde görünen ilk sayının konumuna karşılık gelir. Temelde, FIND işlevi tüm sayı konumlarını alır ve MIN bize ilk sayı konumunu verir: 7'nin dizideki en küçük değer olduğuna dikkat edin, bu da orijinal metindeki 3 sayısının konumuna karşılık gelir.

Bul işlevindeki metin_içinin garip yapısını merak ediyor olabilirsiniz :

B5&"0123456789"

Formülün bu bölümü, olası her 0-9 sayısını B5'teki orijinal metinle birleştirir. Maalesef FIND, bir değer bulunamadığında sıfır döndürmez, bu nedenle bu, bir sayı bulunamadığında meydana gelebilecek hataları önlemenin akıllıca bir yoludur.

Bu örnekte, sayının her zaman orijinal metinde ikinci görüneceğini varsaydığımız için, bu iyi işliyor çünkü MIN döndürülecek sayının yalnızca en küçük veya ilk oluşumunu zorlar. Orijinal metinde bir sayı göründüğü müddetçe, o konum döndürülecektir.

Orijinal metin herhangi bir sayı içermiyorsa, orijinal metnin + 1 uzunluğuna eşit bir "sahte" konum döndürülür. Bu sahte konumla, yukarıdaki SOL formül yine de metni döndürür ve SAĞ formül boş bir dize ("") döndürür.

İyi bağlantılar

Mr Excel'de Rick Rothstein tarafından hazırlanan formül

Ilginç makaleler...