Excel Hücresinden Yalnızca Sayılar Nasıl Çıkarılır (7 Kolay Yol)

  • Bunu Paylaş
Hugh West

Microsoft, aşağıdakiler için düz bir formül veya sözdizimi sağlamamış olsa da yalnızca sayıları ayıklayın Excel hücresinden, geniş bir yelpazeyi dahil edebiliriz Excel formülleri Excel hücrelerinden sadece sayıları veya rakamları çıkarmak için kullanılabilecek tek bir fonksiyon yapmak. Bu makalede, birkaç kriter altında uygun formüllerle hücrelerden sadece sayıları nasıl çıkarabileceğimizi ayrıntılı olarak göstermeye ve açıklamaya çalışacağız.

Alıştırma Çalışma Kitabını İndirin

Bu makaleyi hazırlamak için kullandığımız alıştırma kitabını ücretsiz olarak indirin. Seçili hücrelere metin değerlerini sayılarla girebilir ve gömülü formüller aracılığıyla sonuçları hemen bulabilirsiniz.

Cell.xlsm'den Sayıları Çıkarma

Excel Hücresinden Yalnızca Sayıları Çıkarmanın 7 Etkili Yolu

Bir hücreden sayıları çıkarmanıza yardımcı olacak bir VBA kodu, bir Excel özelliği ve beş pratik formül olacaktır. Aşağıdaki resimde olduğu gibi, başında rakamların bulunduğu rakamlar ve harfler içeren bazı kodlarımız var. Yalnızca bu rakamları veya sayıları çıkarmamız gerekiyor.

1. Metnin Başından Sayıları Çıkarma

Bu ilk yöntemde, birleşik SOL , SUM , LEN ve YEDEK işlevlerini kullanarak bir metin dizesinin başından sayıları çekebiliriz. İlk olarak, bu formülü hücreye yazacağız ve ardından Doldurma Kolu 'yi seçerseniz, bu formülü diğer hücrelere kopyalayacağız.

Adımlar:

  • İlk olarak, hücreye formülü yazın C5 .

=LEFT(B5,SUM(LEN(B5)-LEN(SUBSTITUTE(B5,{"0","1","2","3","4","5","6","7","8","9"},""))))

  • İkinci olarak, basın Girin ve ilk kod için 34 sayısını alırsınız.

  • Üçüncü olarak Doldurma Kolu sonra sütundaki diğer tüm hücreleri otomatik doldurmak için C .

🔎 Formül Dağılımı

SUBSTITUTE(B5,{"0″, "1″, "2″, "3″, "4″, "5″, "6″, "7″, "8″, "9″},"")

  • İşte, burada YEDEK işlevi (0-9) rakamlarını art arda bulacak ve bulursa, hücredeki o rakamı değiştirecektir B5 Dolayısıyla, fonksiyon {"34DTXRF", "34DTXRF", "34DTXRF", "4DTXRF", "3DTXRF", "34DTXRF", "34DTXRF", "34DTXRF", "34DTXRF", "34DTXRF", "34DTXRF"} şeklinde dönecektir.

LEN(SUBSTITUTE(B5,{"0″, "1″, "2″, "3″, "4″, "5″, "6″, "7″, "8″, "9″},"")

  • Bu LEN fonksiyonu bir dizedeki karakter sayısını belirler. Yani, burada LEN fonksiyonu, metinlerde bulunan tüm karakterleri tek tek sayacaktır. YEDEK fonksiyonu. Ortaya çıkan değerler bizim durumumuzda {7,7,7,6,6,7,7,7,7,7,7} olacaktır.

LEN(B5)-LEN(SUBSTITUTE(B5,{"0″, "1″, "2″, "3″, "4″, "5″, "6″, "7″, "8″, "9″},""))

  • Şimdi, bu kısım hücredeki karakter sayısından çıkarma işlemidir B5 Formülün önceki bölümünde ayrı ayrı bulunan diğer tüm karakter sayılarına. Dolayısıyla, burada ortaya çıkan değerler - {0,0,0,1,1,0,0,0,0,0} olacaktır.

SUM(LEN(B5)-LEN(SUBSTITUTE(B5,{"0″, "1″, "2″, "3″, "4″, "5″, "6″, "7″, "8″, "9″},""))

  • Bu SUM fonksiyonu daha sonra &'de bulunan tüm çıkarılmış değerleri basitçe toplayacaktır; böylece sonuç burada olacaktır, 2 (0+0+0+1+1+0+0+0+0+0).

=LEFT(B5,SUM(LEN(B5)-LEN(SUBSTITUTE(B5,{"0″, "1″, "2″, "3″, "4″, "5″, "6″, "7″, "8″, "9″},""))))

  • Ve şimdi de son kısma geldik. SOL işlevi, formülün önceki bölümünde bulunan soldan tam karakter sayısına sahip değerleri döndürecektir. Toplam değeri 2 olarak aldığımız için SOL fonksiyonu burada sadece 34 metinden 34DTXRF .

İlgili: Excel'de Formül Kullanarak Sayılar Nasıl Ayrılır (5 Yol)

2. Bir Metnin Sağ Tarafından Sayıları Çıkarma

Bu bölümde, metin dizesinin sağ tarafındaki sayıları veya rakamları ayıklayacağız. DOĞRU , MIN ve ARAMA fonksiyonlar burada.

Adımlar:

  • Başlangıç olarak, veri setimizde hücreye yazmamız gerekenler C5 is-

=RIGHT(B5,LEN(B5) - MIN(SEARCH({0,1,2,3,4,5,6,7,8,9}, B5& "0123456789") +1)

  • Daha sonra, tuşuna basın Girin ve ardından Doldurma Kolu hücrelerin geri kalanını otomatik olarak doldurmak için.

🔎 Formül Dağılımı

B5& "0123456789″

  • Burada, aşağıdaki değerleri birleştiriyoruz B5 ile hücre 0123456789 kullanarak ve işareti (&) ve sonuç değerini DTXRF340123456789 olarak elde edeceğiz.

SEARCH({0,1,2,3,4,5,6,7,8,9}, B5&”0123456789″)

  • Şimdi ARAMA fonksiyonu, önceki bölümden elde edilen sonuç değerindeki tüm rakamları (0-9) tek tek arayacak ve bu 10 rakamın karakterlerdeki konumlarını döndürecektir. DTXRF340123456789 Yani, burada ortaya çıkan değerlerimiz {8,9,10,6,7,13,14,15,16,17} olacaktır.

MIN(SEARCH({0,1,2,3,4,5,6,7,8,9}, B5&”0123456789″))

  • Bu MIN fonksiyonu bir dizideki en düşük rakamı veya sayıyı bulmak için kullanılır. Yani, burada minimum veya en düşük değer- 6 Formülün önceki bölümünde bulunan {8,9,10,6,7,13,14,15,16,17} dizisinden.

LEN(B5) - MIN(SEARCH({0,1,2,3,4,5,6,7,8,9}, B5& "0123456789″)) +1)

  • Şimdi, karakter sayısı B5 tarafından bulunacaktır. LEN Daha sonra 6 değerini (son bölümde bulunan) çıkaracak ve ardından 1 ekleyerek sonucu döndürecektir. 2 (7-6+1) .

RIGHT(B5,LEN(B5) - MIN(SEARCH({0,1,2,3,4,5,6,7,8,9}, B5& "0123456789″)) +1)

  • Bu DOĞRU fonksiyonu, bir dizenin son veya sağ tarafından belirtilen sayıda karakteri döndürür. Önceki bölümde çıkarma işlemiyle bulunan sonucun ardından, burada DOĞRU işlevi hücredeki son 2 karakteri gösterecektir B5 ve bu olacak 34 .

Daha fazlasını okuyun: Excel'de Bir Hücredeki Sayılar Nasıl Ayrılır (5 Yöntem)

3. Metin Dizesinin Herhangi Bir Bölümünden Sayıları Çıkarma

Şimdi, burada tüm durumlar için geniş bir çözüm var. Bu yöntem, bir metin dizesindeki herhangi bir konumdan sayıları veya rakamları çekecektir. TEXTJOIN , IFERROR , DOLAYLI , MID ve SIRA bu yöntemdeki işlevler.

Adımlar:

  • İlk olarak, formülü hedef hücrenize aşağıdaki gibi yazın-

=TEXTJOIN("",TRUE,IFERROR((MID(B5,ROW(INDIRECT("1:"&LEN(B5)),1)*1),"")

  • Sonra, eğer kullanıyorsanız Excel 2016 veya daha yüksek bir sürümü seçin ve ardından Girin , aksi takdirde tuşuna basın Ctrl+Shift+Enter bu dizi formülünün sonucunu almak için.
  • Bu adımdan sonra, diğer hücreleri otomatik doldurmak için Doldurma Kolu ve işin bitti.

🔎 Formül Dağılımı

INDIRECT("1:"&LEN(B5))

  • Bu DOLAYLI işlevi, bir dizi hücre değerini referans metin olarak saklamak için kullanılır. Burada ve işareti (&) komutu, hücre karakterlerinin uzunluğunu birleştirir B5 eksik aralık sözdizimi ile (1:) .
  • Yani, burada DOLAYLI işlevi 1 ile karakterlerin uzunluğu arasındaki tüm sayıları hücrede depolayacaktır B5 referans metin olarak.

ROW(INDIRECT("1:"&LEN(B5))

  • Bu SIRA işlevi genellikle bir hücrenin satır numarasını söyler. Ancak burada DOLAYLI işlevinde, herhangi bir referans hücresinden bahsedilmediği için, bu durumda SIRA işlevi, aşağıdaki dosyada depolanan referans metinlerinden tüm değerleri veya sayıları çıkaracaktır DOLAYLI fonksiyon.
  • Şimdi, 1. hücre için B5 , bu değerler aracılığıyla ortaya çıkan SIRA ve DOLAYLI fonksiyonları- {1;2;3;4;5;6;7;8;9} olacaktır.

(MID(B5,ROW(INDIRECT("1:"&LEN(B5)),1))

  • Bu MID fonksiyonu, bir başlangıç konumu & uzunluğu verilen bir metin dizesinin ortasındaki karakterleri belirlemenizi sağlar.
  • Dolayısıyla, burada önceki bölümde bulunan 9 pozisyonun tamamı için MID fonksiyonu şimdi her pozisyon & için tüm karakterleri tek tek gösterecektir; böylece değerleri {"1″; "9″;" "; "D"; "X"; "2″; "M"; "N"} olarak döndürecektir.

IFERROR((MID(B5,ROW(INDIRECT("1:"&LEN(B5)),1)*1),"")

  • Şimdi IFERROR bir dizenin sayı mı yoksa başka bir şey mi olduğunu belirleyen mantıksal bir işlevdir. Sayı veya rakam içeren bir dize tanımlamazsa, değeri tanımlanmış bir metin komutuyla döndürür.
  • Bizim durumumuzda, son bölümde bulunan tüm değerler 1 ile çarpılacak ve çarpılamayan harfler veya metin değerleri için sonuçlar değer hatası olarak döndürüldüğünde, bunların IFERROR fonksiyonu hataları boş dizelere dönüştürecektir. Dolayısıyla, sonuç değerlerimiz {1;9;"";"";"";"";2;"";""} olacaktır.

=TEXTJOIN("",TRUE,IFERROR((MID(B5,ROW(INDIRECT("1:"&LEN(B5)),1)*1),"")

  • Ve şimdi son kısım şu yolla yürütülecek TEXTJOIN Bu fonksiyon, belirtilen bir sınırlayıcı ile iki dizeyi birleştirmek veya birleştirmek için kullanılır.
  • Dolayısıyla, önceki bölümde bulduğumuz sonuç değerleri şimdi bununla birlikte birleştirilecektir TEXTJOIN fonksiyonunu kullanacağız. Ve böylece 192.

Daha fazlasını okuyun: Excel'de Dizeden Birden Çok Sayı Nasıl Çıkarılır (6 Yöntem)

4. Yalnızca Sayıları Ortaya Çıkarmak için Birden Fazla Fonksiyonu İç İçe Yerleştirme

Şimdi, bir Excel hücresinden herhangi bir konumdan yalnızca sayıları çıkarmak için başka bir formül göstereceğiz. Oldukça karmaşık görünse de, tüm formülü parçalara ayıracağız ve tüm kompakt işlevleri kolaylıkla açıklamaya çalışacağız. EĞER , BÜYÜK , İNDEKS , SUMPRODUCT ve ISNUMBER bu formüldeki fonksiyonlar.

  • Başlamak için, hücreye şu formülü yazın C5 Hücre referansını yalnızca elektronik tablodaki kendi hücrenize göre değiştirmeniz gerekir ve ardından bu formülü yerleştirerek beklenen sonucu hemen alırsınız. Ve bu formül Excel'in herhangi bir sürümünde mükemmel şekilde çalışır.

=IF(SUM(LEN(B5)-LEN(SUBSTITUTE(B5, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, SUMPRODUCT(MID(0&B5, LARGE(INDEX(ISNUMBER(--MID(B5,ROW(INDIRECT("$1:$"&LEN(B5))),1))* ROW(INDIRECT("$1:$"&LEN(B5))),0), ROW(INDIRECT("$1:$"&LEN(B5))))+1,1) * 10^ROW(INDIRECT("$1:$"&LEN(B5)))/10),"")

  • Bundan sonra, şu tuşa basmanız gerekir Girin sadece tüm formülü yazdıktan sonra ve işiniz bitti.

🔎 Formül Dağılımı

Bu devasa & kompakt formülün dökümüne başlamadan önce, onu aşağıdaki gibi bazı parçalara ayırabiliriz

=IF(A>0, SUMPRODUCT(B 1 *C 1 , B 2 *C 2 , ..........B n C n ),"")

Bu sözdizimi şu anlama gelir A 'nin tüm çarpımları 0'dan büyüktür. B n ve C n nihai sonuca ulaşacaktır. Ve eğer A 0'dan büyük değilse, sonuç boş veya boş bir hücre olarak döndürülür.

  • A = SUM(LEN(B5)-LEN(SUBSTITUTE(B5, {"0″, "1″, "2″, "3″, "4″, "5″, "6″, "7″, "8″, "9"}, ""
  • B = MID(0&B5, LARGE(INDEX(ISNUMBER(-MID(B5,ROW(INDIRECT("$1:$"&LEN(B5)),1))* ROW(INDIRECT("$1:$"&LEN(B5)),0), ROW(INDIRECT("$1:$"&LEN(B5))))+1,1)
  • C = 10^ROW(INDIRECT("$1:$"&LEN(B5)))/10),""

A Bölümünün Dökümü = SUM(LEN(B5)-LEN(SUBSTITUTE(B5, {"0″, "1″, "2″, "3″, "4″, "5″, "6″, "7″, "8″, "9"}, ""

SUBSTITUTE(B5, {"0″, "1″, "2″, "3″, "4″, "5″, "6″, "7″, "8″, "9"}, "")

  • Bu YEDEK fonksiyonu metindeki tüm rakamları (0-9) tek tek bulacaktır 19 DDX2MN ve bu rakamları rakamların konumlarında boş bir dize ile değiştirecektir.
  • Böylece bir dizide ortaya çıkan değerler - {"19 DDX2MN", "9 DDX2MN", "19 DDXMN", "19 DDX2MN", "19 DDX2MN", "19 DDX2MN", "19 DDX2MN", "19 DDX2MN", "19 DDX2MN", "1 DDX2MN"} olacaktır.

LEN(SUBSTITUTE(B5, {"0″, "1″, "2″, "3″, "4″, "5″, "6″, "7″, "8″, "9"}, ""))

  • Bu LEN fonksiyonu şimdi önceki bölümden elde edilen tüm dize değerlerindeki karakter sayısını sayacaktır. Dolayısıyla, bu fonksiyon {9,8,8,9,9,9,9,9,8} olarak dönecektir.

LEN(B5)-LEN(SUBSTITUTE(B5, {"0″, "1″, "2″, "3″, "4″, "5″, "6″, "7″, "8″, "9"}, "")

  • Şimdi formülün bu kısmında, hücredeki bir dizi karakter B5 önceki bölümde bulunan tüm sayıları çıkaracaktır. Sonuç değerler {0,1,1,0,0,0,0,0,1} olacaktır.

SUM(LEN(B5)-LEN(SUBSTITUTE(B5, {"0″, "1″, "2″, "3″, "4″, "5″, "6″, "7″, "8″, "9"}, ""))

  • Yardımları ile SUM fonksiyonunda, son bölümde bulunan dizinin içindeki değerlerin toplamı 3 olacaktır (0+1+1+0+0+0+0+0+1).
  • Yani, formülümüzün ilk kısmına göre, A>0 (3>0) Şimdi, dökümün bir sonraki kısmına geçiyoruz.

B Bölümünün Dökümü = MID(0&B5, LARGE(INDEX(ISNUMBER(-MID(B5,ROW(INDIRECT("$1:$"&LEN(B5)),1))* ROW(INDIRECT("$1:$"&LEN(B5)),0), ROW(INDIRECT("$1:$"&LEN(B5))))+1,1)

INDIRECT("$1:$"&LEN(B5))

  • Bu DOLAYLI fonksiyonu, dize değerlerini diziye referans olarak saklayacaktır. Parantezin içinde, ve işareti (&) komutu hücrede bulunan karakter sayısına katılacaktır B5 Bu, 1'den tanımlanan karakter sayısına kadar her birinin bir dizi referansı olarak saklanacağı anlamına gelir.

ROW(INDIRECT("$1:$"&LEN(B5))

  • Şimdi, bu SIRA fonksiyonu dizideki tüm sayıları çekecek ve hücre için sonuç değerleri B5 olacak- {1;2;3;4;5;6;7;8;9}.

MID(B5,ROW(INDIRECT("$1:$"&LEN(B5)),1)

  • Formülün bu kısmında MID işlevi hücredeki tüm karakterleri ifade edecektir B5 Dolayısıyla, çıkarılan değerler bu bölümden sonra bulunacaktır- {"1″; "9″;" "; "D"; "D"; "X"; "2″; "M"; "N"}.

ISNUMBER(-MID(B5,ROW(INDIRECT("$1:$"&LEN(B5)),1))

  • As ISNUMBER mantıksal bir fonksiyondur, önceki bölümde bulunan değerlerin sayı dizeleri olup olmadığını tek tek belirleyecektir. Eğer evet ise, o zaman DOĞRU olarak görüntülenir, aksi takdirde YANLIŞ .
  • Dolayısıyla, bizim durumumuzda sonuç - {TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE} olacaktır.

INDEX(ISNUMBER(-MID(B5,ROW(INDIRECT("$1:$"&LEN(B5)),1))*ROW(INDIRECT("$1:$"&LEN(B5)),0)

  • Yukarıdaki fonksiyonun içinde dikkat ederseniz, çift tire işareti olarak bilinen Çift Tekli kullanılmıştır. Tüm mantıksal değerleri sayı dizilerine dönüştürmek için kullanılır- 1(DOĞRU) veya 0(FALSE) Şimdi İNDEKS fonksiyonu bu sonucu {1;1;0;0;0;1;0;0} olarak döndürecektir.
  • Bundan sonra, ortaya çıkan değerler, aşağıdakilerden elde edilen değerlerle çarpılacaktır SIRA fonksiyonunu dizinin içine yerleştirdiğinizde sonuç {1;2;0;0;0;7;0;0} olacaktır.

LARGE(INDEX(ISNUMBER(-MID(B5,ROW(INDIRECT("$1:$"&LEN(B5)),1))*ROW(INDIRECT("$1:$"&LEN(B5)),0), ROW(INDIRECT("$1:$"&LEN(B5))))

  • Bu BÜYÜK fonksiyonu şimdi dizideki en büyük değerleri, dizide bulunan sayılara göre konumlarına göre yeniden düzenleyecektir. SIRA fonksiyonları. & formülün bu bölümü için sonuç değerlerimiz- {7;2;1;0;0;0;0;0} olacaktır.

MID(0&B5, LARGE(INDEX(ISNUMBER(-MID(B5,ROW(INDIRECT("$1:$"&LEN(B5)),1))*ROW(INDIRECT("$1:$"&LEN(B5)),0), ROW(INDIRECT("$1:$"&LEN(B5))))+1,1)

  • Şimdi, fonksiyonun bu kısmı şunları birleştirecektir 0 hücredeki metinlerle B5 . Sonra ekleyecektir 1 son bölümde bulunan tüm sayılarla tek tek ve aşağıdaki karakterleri gösterin B5 tanımlanan sayı konumlarına dayalı olarak hücre.
  • Dolayısıyla, bu bölümden elde edeceğimiz sonuç - {"2″; "9″; "1″; "0″; "0″; "0″; "0″; "0″; "0"} olacaktır.

C Bölümünün Dökümü = (10^ROW(INDIRECT("$1:$"&LEN(B5)))/10),"")

  • Bu bölüm 10 &'in kuvvetlerini belirleyecektir; bunları dizinin içinde saklayın. Kuvvetlerin rakamları, 10 &'in kuvvetlerinden bulunan sayılardır. SIRA fonksiyonunu daha önce kullanmıştım.
  • Formülün bu kısmı değerleri {1;10;100;1000;10000;100000;1000000;10000000;100000000} olarak döndürecektir.

B'nin çarpımı n ve C n

  • Şimdi, B ve C'nin son iki ana kırılımından elde edilen değerler dizinin içinde çarpılacaktır. Daha sonra çarpımlardan bulunan ürünler - {2;90;100;0;0;0;0;0} olacaktır.
  • Ve son olarak SUMPRODUCT fonksiyonu dizide bulunan bu değerleri toplayacaktır. Böylece, nihai sonucumuz 192 (2+90+100+0+0+0+0+0+0) hücresinden çıkarılan sayılar olan B5 .

Daha fazlasını okuyun: Excel'de Metin ve Sayılar Nasıl Ayrılır (4 Kolay Yol)

5. Dizeden Beş Haneli Sayıların Çıkarılması

Excel'de bir dizenin herhangi bir bölümünden beş basamaklı sayıları çıkarmak için başka bir formül kullanacağız. CONCAT ve SIRA fonksiyonlarını ilk kez bu bölümde kullandık. Ayrıca, bu yöntem için veri setimizi biraz değiştirdik.

Adımlar:

  • İlk olarak, hücre aralığını seçin C5:C12 .
  • İkinci olarak, aşağıdaki formülü yazın.

=CONCAT(IFERROR(0+MID(B5,SEQUENCE(LEN(B5)),1),"")

  • Son olarak, tuşuna basın Ctrl+Enter .

🔎 Formül Dağılımı

  • LEN(B5)
    • Çıktı: 11 .
    • Bu fonksiyon dizenin uzunluğunu döndürür.
  • SIRA(11)
    • Output: {1;2;3;4;5;6;7;8;9;10;11} .
    • Bu fonksiyon ilk on bir sayıyı döndürür.
  • MID(B5,{1;2;3;4;5;6;7;8;9;10;11},1)
    • Çıktı: {"1″; "9″;" "; "D"; "D"; "X"; "2″; "M"; "N"; "3″; "3″} .
    • Bu kısmı kullanarak, dizeden tek tek karakterleri alıyoruz.
  • 0+{"1″; "9″;" "; "D"; "D"; "X"; "2″; "M"; "N"; "3″; "3″}
    • Çıktı: {1;9;#VALUE!;#VALUE!;#VALUE!;#VALUE!;2;#VALUE!;#VALUE!;3;3} .
    • Bir dize ile sıfır eklediğimizde hata döndürür.
  • IFERROR({1;9;#VALUE!;#VALUE!;#VALUE!;#VALUE!;2;#VALUE!;#VALUE!;3;3},"")
    • Çıktı: {1;9;"";"";"";"";2;"";"";3;3} .
    • Tüm hata değerleri için boş alıyoruz.
  • CONCAT({1;9;"";"";"";"";2;"";"";3;3})
    • Çıktı: 19233 .
    • Son olarak, yalnızca beş basamaklı sayıları elde etmek için tüm değerleri topluyoruz.

6. Bir Aralık İçindeki Sayıları Çıkarmak için Flaş Dolgu Kullanma

Kullanma ve Flaş Dolgu özelliği yukarıda bahsedilen diğer yöntemlerden daha kolay ve basittir. Metin dizelerindeki herhangi bir konumdan sayıları çıkaracağız. Bu yöntemi düzgün bir şekilde yürütmek için, yalnızca ilk iki değer için çıkarma işlemi yaparak Excel'in bir sütun veya satırdaki hücre değerlerinin modelini bulmasına yardımcı olmalıyız.

Adımlar:

  • Başlangıç olarak, sayıları hücreye manuel olarak yazın C5 .

  • Ardından, hücredeki sayıları yazmaya başlayın B6 hücreye C6 ve Excel deseni otomatik olarak tanıyacaktır.
  • Son olarak, tuşuna basın Girin .

Notlar: Bu yöntemin bazı dezavantajları vardır, bu nedenle metin dizelerinden sayıları çıkarmanız gereken tüm durumlar için önerilmez. Flaş Dolgu Bu nedenle, ilk 2 veya 3 ayıklama veya hesaplama, Excel'in sonuç değerlerinin ortak modelini özümsemesine yardımcı olmak için manuel olarak yapılmalıdır. Ancak bazen, ihtiyacımız olan tam modeli takip etmez ve bu nedenle kendi modelini takip eder ve size uyumsuz bir sonuç verir.

Örneğin, verilen verilerden iki sıfır (00) çıkarmamız gerekirse, iki değil yalnızca bir sıfır gösterecektir. Ardından, bir hücredeki başlangıç veya son konumlardan sayıları çıkarmak isterseniz, sayılarla birlikte metin değerlerini de çıkaracaktır.

Daha fazlasını okuyun: Excel'de Belirli Bir Metinden Sonra Sayılar Nasıl Çıkarılır (2 Uygun Yol)

7. Excel Hücresinden Yalnızca Sayıları Çıkarmak için VBA Kodu Uygulama

Kullanmakla ilgileniyorsanız Excel VBA Makrosu hücrelerden yalnızca sayıları çıkarmak istiyorsanız, aşağıdaki adımları izlemeniz gerekir. VBA Modülü Bu kod kullanıcıdan giriş ve çıkış hücre aralıklarını belirtmesini isteyecektir.

Adımlar:

  • İlk olarak, Basın ALT+F11 açmak için VBA Pencere.
  • Sonra da Ekleme sekmesini seçin, ardından Modül komutunu verin. Kodları yazacağınız yeni bir modül penceresi açılacaktır.

  • Üçüncü olarak, modülünüzün içine aşağıdaki kodları kopyaladıktan sonra yapıştırın.
 Option Explicit Sub ExtractNumbersOnly() Dim CellValue As Range Dim InBx1 As Range Dim InBx2 As Range Dim NumChar As Integer Dim StartChar As Integer Dim XtrNum As String Dim DBxName1 As String Dim DBxName2 As String Dim Iteration As Integer DBxName1 = "Giriş Veri Seçimi" DBxName2 = "Çıkış Hücre Seçimi" Set InBx1 = Application.InputBox("Metin Hücrelerinin Giriş Aralığı:", _ DBxName1, "", Type:=8)If TypeName(InBx1) = "Nothing" Then Exit Sub Set InBx2 = Application.InputBox("Select Output Cells:", _ DBxName2, "", Type:=8) If TypeName(InBx2) = "Nothing" Then Exit Sub Iteration = 0 XtrNum = "" For Each CellValue In InBx1 Iteration = Iteration + 1 NumChar = Len(CellValue) For StartChar = 1 To NumChar If IsNumeric(Mid(CellValue, StartChar, 1)) Then XtrNum = XtrNum & Mid(CellValue,StartChar, 1) End If Next StartChar InBx2.Item(Iteration) = XtrNum XtrNum = "" Next CellValue End Sub 

  • Daha sonra, tuşuna basın F5 Kodu çalıştırmak için " Giriş Verisi Seçimi " yazısı görünecektir.
  • Ardından, tüm metin hücrelerini seçin (örn. B5:B12 ) ve tuşuna basın TAMAM. .

  • Bundan sonra, " Çıkış Hücresi Seçimi ", çıktı verilerini veya değerlerini görmek için belirli bir hücreyi veya hücre aralığını seçmeniz gereken yerde görünecektir.
  • Son olarak, hücre aralığını seçin C5:C12 ve basın Girin .

  • Sonuç olarak, metinlerden çıkarılan sayıları bir kerede göreceksiniz. Böylece, yalnızca Excel hücresinden sayıları çıkarmak için yedi hızlı yöntemi bitireceğiz.

🔎 VBA Kod Dökümü

Parametrelerin Bildirilmesi

 Option Explicit Sub ExtractNumbersOnly() Dim cellValue As Range Dim InBx1 As Range Dim InBx2 As Range Dim NumChar As Integer Dim StartChar As Integer Dim XtrNum As String Dim DBxName1 As String Dim DBxName2 As String Dim Iteration As Integer DBxName1 = "Girdi Veri Seçimi" DBxName2 = "Çıktı hücre Seçimi" 
  • Bu bölümde ilk olarak tüm parametrelerimizi tamsayılar, dize değerleri veya hücre aralıkları olarak bildiriyoruz. Ardından diyalog kutularımızın adlarını "Giriş Verisi Seçimi" ve "Çıkış Hücresi Seçimi" .

Diyalog Kutuları için Girdi ve Çıktı Türlerinin Tanımlanması

 Set InBx1 = Application.InputBox("Metin Hücrelerinin Giriş Aralığı:", _ DBxName1, "", Type:=8) If TypeName(InBx1) = "Nothing" Then Exit Sub Set InBx2 = Application.InputBox("Select Output Cells:", _ DBxName2, "", Type:=8) If TypeName(InBx2) = "Nothing" Then Exit Sub Iteration = 0 XtrNum = "" 
  • Şimdi diyalog kutuları için parametreleri ve bunların türlerini tanımlıyoruz. Burada Type:=8 eklenmesi, girdi ve çıktı verilerinin referans hücrelerden veya bir hücre aralığından oluşacağı anlamına gelir.
  • Ayrıca, girdi verisi bulunamazsa, alt yordamın duracağını da tanımlıyoruz. Bu makrodan bahsederek, alt yordam eksik veri için bozulmayacak, bunun yerine çalışmayı durduracaktır.

Yinelemeler için Kod Döngülerinin İçindeki İşlevleri Birleştirme

 For Each cellValue In InBx1 Iteration = Iteration + 1 NumChar = Len(cellValue) For StartChar = 1 To NumChar If IsNumeric(Mid(cellValue, StartChar, 1)) Then XtrNum = XtrNum & Mid(cellValue, StartChar, 1) End If Next StartChar InBx2.Item(Iteration) = XtrNum XtrNum = "" Next cellValue End Sub 
  • Son olarak, dizelerden elde edilen değerleri bulmak için metinlere atamamız gereken işlevleri veya formülleri uyguladığımız en önemli kısım burasıdır.
  • Excel için bir fonksiyon kodlamanın en büyük avantajlarından biri, önceki yöntemlerde yapmak zorunda olduğumuz gibi büyük bir formül yazmanın gerekli olmamasıdır, çünkü VBA, bir metin dizesindeki her bir ayrıntı için yinelemenin herhangi bir güçlük çekmeden yürütülebileceği For veya While döngülerini kullanmak için yerleşik komutlara sahiptir.

Daha fazlasını okuyun: Excel VBA'da Sayılar Metinden Nasıl Ayrılır (3 Yöntem)

Sonuç

Size aşağıdakiler için 7 kolay yöntem gösterdik yalnızca sayıları ayıklayın Bir metin dizesinden yalnızca sayıları ayıklamak göründüğü kadar basit değildir çünkü birden fazla işlevin birleşimini gerektirir ve bu da son formülü veya sözdizimini karmaşık hale getirir. Ancak, iç işlevleri parçalara ayırarak formülleri nasıl göstermeye çalıştığımızın sözdizimini biraz rahat ve kolay bir şekilde anlamanıza yardımcı olduğunu umuyoruz.

Buraya eklememiz gereken başka işlevler veya formüller bulursanız, lütfen değerli yorumlarınızla bize bildirin. Veya bu web sitesindeki Excel işlevleriyle ilgili daha bilgilendirici ve ilginç makalelerimize göz atabilirsiniz.

Hugh West, sektörde 10 yılı aşkın deneyime sahip oldukça deneyimli bir Excel eğitmeni ve analistidir. Muhasebe ve Finans alanında lisans derecesine ve İşletme alanında yüksek lisans derecesine sahiptir. Hugh öğretme tutkusuna sahiptir ve takip etmesi ve anlaması kolay benzersiz bir öğretim yaklaşımı geliştirmiştir. Excel konusundaki uzman bilgisi, dünya çapında binlerce öğrencinin ve profesyonelin becerilerini geliştirmesine ve kariyerlerinde başarılı olmasına yardımcı olmuştur. Hugh, blogu aracılığıyla bilgisini dünyayla paylaşıyor, bireylerin ve işletmelerin tam potansiyellerine ulaşmalarına yardımcı olmak için ücretsiz Excel eğitimleri ve çevrimiçi eğitimler sunuyor.