Excel: bir dizeden sayılar nasıl çıkarılır
Excel’deki bir dizeden sayıları ayıklamak için aşağıdaki formülü kullanabilirsiniz:
=TEXTJOIN("",TRUE,IFERROR((MID( A2 ,ROW(INDIRECT("1:"&LEN( A2 ))),1)*1),""))
Bu özel formül, A2 hücresindeki dizedeki tüm sayıları çıkaracaktır.
Örneğin, A2 hücresinde “25 bisiklet” ifadesi varsa bu formül yalnızca 25 değerini döndürür.
Aşağıdaki örnekte bu formülün pratikte nasıl kullanılacağı gösterilmektedir.
Örnek: Excel’deki bir dizeden sayıları ayıklama
Excel’de aşağıdaki dize listesine sahip olduğumuzu varsayalım:
Her dizeden yalnızca sayıları çıkarmak istediğimizi varsayalım.
Bunu yapmak için B2 hücresine aşağıdaki formülü yazabiliriz:
=TEXTJOIN("",TRUE,IFERROR((MID( A2 ,ROW(INDIRECT("1:"&LEN( A2 ))),1)*1),""))
Daha sonra formülü tıklayıp B sütununda kalan her hücreye sürükleyebiliriz:
B sütunu artık yalnızca A sütunundaki eşleşen dizelerin her birindeki sayıları içerir.
Bu formül nasıl çalışıyor?
Dizelerden sayıları çıkarmak için kullandığımız formülü hatırlayın:
=TEXTJOIN("",TRUE,IFERROR((MID( A2 ,ROW(INDIRECT("1:"&LEN( A2 ))),1)*1),""))
Bu formülün işleyişi şöyle:
İlk olarak, ROW(INDIRECT(“1:”&LEN( A2 ))), 1’den dizenin uzunluğuna kadar bir sayı dizisi döndürür.
Daha sonra, (MID( A2 ,ROW(DOLAYLI(“1:”&LEN( A2 ))),1)*1) metindeki tüm karakterleri #DEĞER! Hatalar.
Daha sonra IFERROR((MID( A2 ,ROW(INDIRECT(“1:”&LEN( A2 ))),1)*1),””) tüm $VALUE! Hatalar.
Son olarak, TEXTJOIN(“”,TRUE,IFERROR((MID( A2 ,ROW(INDIRECT(“1:”&LEN( A2 ))),1)*1),””)) kalan tüm sayıları toplar ve boşlukları yok sayar.
Sonuçta her dizeden yalnızca sayıları çıkarabiliyoruz.
Ek kaynaklar
Aşağıdaki eğitimlerde Excel’deki diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
Excel: İki karakter arasındaki metin nasıl çıkarılır
Excel: Bir karakterden sonra metin nasıl çıkarılır
Excel: Bir karakterden önce metin nasıl çıkarılır