Cara Mengekstrak Hanya Angka dari Sel Excel (7 Cara Mudah)

  • Bagikan Ini
Hugh West

Meskipun Microsoft belum menyediakan formula atau sintaksis langsung untuk hanya mengekstrak angka dari sel Excel, kita dapat menggabungkan berbagai macam Rumus Excel untuk membuat satu fungsi yang dapat digunakan untuk mengekstrak angka atau digit hanya dari sel Excel. Pada artikel ini, kami akan mencoba menunjukkan dan menjelaskan secara detail bagaimana kami hanya dapat mengeluarkan angka dari sel dengan rumus yang sesuai dengan beberapa kriteria.

Unduh Buku Kerja Praktik

Unduh buku latihan secara gratis yang kami gunakan untuk menyiapkan artikel ini. Anda dapat memasukkan nilai teks dengan angka di sel yang dipilih dan segera menemukan hasilnya melalui rumus yang disematkan.

Mengekstrak Angka dari Cell.xlsm

7 Cara Efektif untuk Mengekstrak Hanya Angka dari Sel Excel

Akan ada satu kode VBA, satu fitur Excel, dan lima rumus praktis untuk membantumu mengekstrak angka dari suatu cell. Seperti pada gambar di bawah ini, kita memiliki beberapa kode termasuk digit dan huruf di mana digit ada di awal. Kita harus mengekstrak digit atau angka tersebut saja.

1. Mencabut Angka dari Awal Teks

Dalam metode pertama ini, kita akan menggabungkan KIRI , SUM , LEN dan SUBSTITUTE untuk menarik angka dari awal string teks. Pertama, kita akan mengetikkan rumus ini di dalam sel, dan kemudian, menggunakan Pegangan Isi , kita akan menyalin rumus itu ke sel lainnya.

Langkah-langkah:

  • Pertama, ketikkan rumus di sel C5 .

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

  • Kedua, tekan Masuk dan Anda akan mendapatkan angka 34 untuk kode pertama.

  • Ketiga, gunakan Isi Gagang lalu untuk mengisi otomatis semua sel lain di kolom C .

🔎 Rincian Formula

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

  • Di sini, yang SUBSTITUTE akan menemukan digit (0-9) secara berurutan dan, jika ditemukan, itu akan menggantikan digit itu di sel B5 Jadi, fungsi akan kembali sebagai- {"34DTXRF", "34DTXRF", "34DTXRF", "34DTXRF", "4DTXRF", "3DTXRF", "34DTXRF", "34DTXRF", "34DTXRF", "34DTXRF", "34DTXRF"}.

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

  • The LEN menentukan jumlah karakter dalam sebuah string. Jadi, di sini, fungsi LEN akan menghitung semua karakter secara individual yang ditemukan dalam teks melalui fungsi SUBSTITUTE Nilai-nilai yang dihasilkan akan berada di sini dalam kasus kita - {7,7,7,7,6,6,7,7,7,7,7}.

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

  • Sekarang, bagian ini adalah pengurangan dari jumlah karakter dalam sel B5 ke semua jumlah karakter lain yang ditemukan secara individual di bagian rumus sebelumnya. Jadi, di sini nilai yang dihasilkan adalah - {0,0,0,1,1,0,0,0,0,0,0}.

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

  • The SUM kemudian hanya akan menjumlahkan semua nilai yang dikurangi yang ditemukan &; jadi hasilnya akan ada di sini, 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"},""))))

  • Dan sekarang inilah bagian terakhir di mana KIRI akan mengembalikan nilai dengan jumlah karakter yang tepat dari kiri yang ditemukan di bagian rumus sebelumnya. Karena kita mendapatkan nilai penjumlahan sebagai 2, maka fungsi KIRI di sini hanya akan mengembalikan 34 dari teks 34DTXRF .

Terkait: Cara Memisahkan Angka di Excel Menggunakan Formula (5 Cara)

2. Mengekstrak Angka dari Sisi Kanan Teks

Di bagian ini, kita akan mengekstrak angka atau digit dari sisi kanan string teks. Kita akan menggunakan KANAN , MIN dan PENCARIAN berfungsi di sini.

Langkah-langkah:

  • Untuk memulainya, dalam dataset kita, apa yang harus kita ketik di sel C5 adalah-

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

  • Setelah itu, tekan Masuk dan kemudian menggunakan Isi Gagang untuk mengisi secara otomatis sisa sel lainnya.

🔎 Rincian Formula

B5 & amp; "0123456789

  • Di sini, kita menggabungkan nilai-nilai di dalam B5 sel dengan 0123456789 dengan menggunakan ampersand (&) di antara mereka dan kita akan mendapatkan nilai yang dihasilkan sebagai- DTXRF340123456789.

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

  • Sekarang, yang PENCARIAN akan mencari semua digit (0-9) satu per satu dalam nilai yang dihasilkan yang diperoleh dari bagian sebelumnya dan akan mengembalikan posisi 10 digit tersebut dalam karakter DTXRF340123456789 Jadi, di sini nilai-nilai yang dihasilkan akan menjadi- {8,9,10,6,7,13,14,15,16,17}.

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

  • The MIN digunakan untuk menemukan digit atau angka terendah dalam sebuah array. Jadi, di sini nilai minimum atau terendah akan menjadi- 6 dari larik {8,9,10,6,7,7,13,14,15,16,17} yang ditemukan dalam bagian rumus sebelumnya.

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

  • Sekarang, jumlah karakter dalam B5 akan ditemukan oleh LEN Kemudian akan mengurangi nilai 6 (ditemukan di bagian terakhir) dan kemudian mengembalikan hasilnya dengan menambahkan 1. Di sini, dalam kasus kami, nilai yang dihasilkan adalah 2 (7-6+1) .

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

  • The KANAN akan mengembalikan jumlah karakter yang ditentukan dari sisi terakhir atau sisi kanan sebuah string. Mengikuti hasil yang ditemukan melalui proses pengurangan pada bagian sebelumnya, di sini fungsi KANAN akan menampilkan 2 karakter terakhir dari sel B5 , dan itu akan menjadi 34 .

Baca selengkapnya: Cara Memisahkan Angka dalam Satu sel di Excel (5 Metode)

3. Mengekstrak Angka dari Bagian Mana pun dari String Teks

Sekarang, inilah solusi yang luas untuk semua kasus. Metode ini akan menarik angka atau digit dari posisi mana pun dalam string teks. Selain itu, kita akan menggunakan TEXTJOIN , IFERROR , TIDAK LANGSUNG , MID dan BARISAN berfungsi dalam metode ini.

Langkah-langkah:

  • Pertama, ketikkan rumusnya di cell tujuanmu sebagai berikut-

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

  • Kemudian, jika Anda menggunakan Excel 2016 atau versi yang lebih tinggi lalu tekan Masuk , jika tidak, tekan Ctrl + Shift + Enter untuk mendapatkan hasil dari rumus array ini.
  • Setelah langkah ini, isi otomatis sel lain menggunakan Isi Gagang dan Anda selesai.

🔎 Rincian Formula

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

  • The TIDAK LANGSUNG digunakan untuk menyimpan larik nilai sel sebagai teks referensi. Di sini ampersand (&) perintah menggabungkan panjang karakter sel B5 dengan sintaksis rentang yang tidak lengkap (1:) .
  • Jadi, di sini TIDAK LANGSUNG akan menyimpan semua angka antara 1 dan panjang karakter dalam sel B5 sebagai teks referensi.

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

  • The BARISAN biasanya memberitahukan nomor baris dari sebuah sel. Tetapi di sini, di dalam fungsi TIDAK LANGSUNG fungsi, karena tidak ada sel referensi yang disebutkan, dalam hal ini, fungsi BARISAN akan mengekstrak semua nilai atau angka dari teks referensi yang tersimpan dalam fungsi TIDAK LANGSUNG fungsi.
  • Sekarang, untuk sel pertama B5 , nilai-nilai yang dihasilkan melalui BARISAN dan TIDAK LANGSUNG fungsi akan menjadi- {1;2;3;4;4;5;5;6;7;8;9}.

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

  • The MID Fungsi ini akan memungkinkan Anda menentukan karakter dari tengah string teks, dengan posisi awal & panjang.
  • Jadi, di sini untuk semua 9 posisi yang ditemukan di bagian sebelumnya, yang MID fungsi sekarang akan menampilkan semua karakter satu per satu untuk setiap posisi & dengan demikian akan mengembalikan nilai sebagai- {"1"; "9";" "; "D"; "D"; "X"; "2"; "M"; "N"}.

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

  • Sekarang, yang IFERROR adalah fungsi logika yang akan menentukan apakah suatu string adalah angka atau sesuatu yang lain. Jika tidak mengidentifikasi string dengan angka atau digit, maka ia akan mengembalikan nilai dengan perintah teks yang ditentukan.
  • Dalam kasus kita, semua nilai yang ditemukan di bagian terakhir akan dikalikan dengan 1, dan ketika hasilnya dikembalikan sebagai kesalahan nilai untuk huruf atau nilai teks yang tidak bisa dikalikan, maka nilai tersebut akan dikalikan dengan 1, dan ketika hasilnya dikembalikan sebagai kesalahan nilai untuk huruf atau nilai teks yang tidak bisa dikalikan, maka nilai tersebut akan dikalikan dengan 1. IFERROR Fungsi akan mengubah kesalahan menjadi string kosong. Jadi, nilai yang dihasilkan akan menjadi- {1;9;"";"";"";"";"";"";2;"";"";""}.

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

  • Dan sekarang bagian terakhir akan dieksekusi melalui TEXTJOIN Fungsi ini digunakan untuk menggabungkan atau menggabungkan dua string dengan pembatas yang ditentukan.
  • Jadi, nilai hasil yang telah kita temukan di bagian sebelumnya, sekarang akan digabungkan bersama dengan ini TEXTJOIN Dan dengan demikian kita akan mendapatkan angka 192.

Baca selengkapnya: Cara Mengekstrak Beberapa Angka dari String di Excel (6 Metode)

4. Menyarangkan Beberapa Fungsi untuk Memunculkan Angka Saja

Sekarang, kami akan menunjukkan kepada Anda rumus lain untuk mengekstrak hanya angka dari posisi apa pun dari sel Excel. Meskipun mungkin tampak cukup rumit, kami akan memecah seluruh rumus dan mencoba menjelaskan semua fungsi ringkas dengan mudah. Selain itu, kami akan menggunakan rumus JIKA , BESAR , INDEX , SUMPRODUCT dan ISNUMBER dalam rumus ini.

  • Untuk memulainya, ketikkan rumus ini dalam sel C5 Kamu harus mengganti referensi cellnya hanya berdasarkan cellmu sendiri dalam spreadsheet dan kemudian dengan menyematkan rumus ini, kamu akan langsung mendapatkan hasil yang diharapkan. Dan rumus ini bekerja dengan sempurna di versi Excel apapun.

=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),"")

  • Setelah itu, Anda harus menekan Masuk hanya setelah mengetikkan seluruh formula dan Anda selesai.

🔎 Rincian Formula

Sebelum memulai uraian dari rumus yang sangat besar ini, kita bisa memisahkannya menjadi beberapa bagian seperti-

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

Sintaksis ini berarti jika A lebih besar dari 0, maka semua produk dari B n dan C n akan dijumlahkan hingga hasil akhir. Dan jika A tidak lebih besar dari 0 maka hasilnya akan kembali sebagai sel kosong atau kosong.

  • 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),""

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

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

  • The SUBSTITUTE akan menemukan semua digit (0-9) satu per satu dalam teks 19 DDX2MN setiap kali dan akan mengganti digit-digit tersebut dengan string kosong pada posisi digit.
  • Dengan demikian, nilai-nilai yang dihasilkan dalam sebuah larik akan menjadi- {"19 DDX2MN", "9 DDX2MN", "19 DDXMN", "19 DDX2MN", "19 DDX2MN", "19 DDX2MN", "19 DDX2MN", "19 DDX2MN", "19 DDX2MN", "1 DDX2MN"}.

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

  • The LEN sekarang akan menghitung jumlah karakter dalam semua nilai string yang diperoleh dari bagian sebelumnya. Jadi, fungsi ini akan kembali sebagai- {9,8,8,9,9,9,9,9,9,8}.

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

  • Sekarang di bagian rumus ini, sejumlah karakter dalam sel B5 akan mengurangkan semua angka yang ditemukan di bagian sebelumnya. Nilai-nilai yang dihasilkan adalah- {0,1,1,0,0,0,0,0,0,0,0,1}.

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

  • Dengan bantuan dari SUM nilai di dalam larik yang ditemukan di bagian terakhir akan berjumlah 3 (0+1+1+0+0+0+0+0+0+0+0+0+1).
  • Jadi, menurut bagian pertama dari rumus kita, A>0 (3>0) Sekarang, kita akan beralih ke bagian berikutnya dari rinciannya.

Perincian Bagian 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)

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

  • The TIDAK LANGSUNG di sini akan menyimpan nilai string sebagai referensi ke larik. Di dalam tanda kurung, tanda ampersand (&) akan menggabungkan jumlah karakter yang ditemukan dalam sel B5 dengan sintaks Range of cells'. Artinya, dari 1 hingga jumlah karakter yang didefinisikan, masing-masing akan disimpan sebagai referensi array.

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

  • Sekarang, ini BARISAN akan mengeluarkan semua angka dari larik dan nilai yang dihasilkan untuk sel B5 akan menjadi- {1;2;3;4;4;5;5;6;7;8;9}.

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

  • Pada bagian rumus ini, yang MID akan mengekspresikan semua karakter dari sel B5 berdasarkan semua posisi yang ditemukan sebagai angka di bagian sebelumnya. Jadi, nilai yang diekstrak akan ditemukan setelah bagian ini- {"1"; "9";" "; "D"; "D"; "X"; "2"; "M"; "N"}.

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

  • Sebagai ISNUMBER adalah fungsi logika, ia akan menentukan satu per satu apakah nilai yang ditemukan di bagian sebelumnya adalah string angka atau bukan. Jika ya, maka ia akan kembali sebagai BENAR , jika tidak, maka akan ditampilkan sebagai SALAH .
  • Jadi, dalam kasus kita, hasilnya akan menjadi- {TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}.

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

  • Jika Anda perhatikan di dalam fungsi di atas, tanda hubung ganda, yang dikenal sebagai Kesatuan Ganda Ini digunakan untuk mengubah semua nilai logika menjadi string angka- 1(TRUE) atau 0 (SALAH) Sekarang, yang INDEX fungsi akan mengembalikan hasil ini sebagai- {1;1;0;0;0;0;0;1;0;0}.
  • Setelah itu, nilai yang dihasilkan akan dikalikan dengan nilai yang diperoleh dari BARISAN fungsi di dalam larik dan hasilnya akan menjadi- {1;2;0;0;0;0;0;7;0;0}.

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

  • The BESAR sekarang akan mengatur ulang nilai terbesar dari larik sesuai dengan posisi berdasarkan angka yang ditemukan dalam fungsi BARISAN fungsi-fungsi. & nilai-nilai yang dihasilkan untuk bagian rumus ini akan menjadi- {7;2;1;0;0;0;0;0;0;0}.

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)

  • Sekarang, bagian fungsi ini akan menggabungkan 0 dengan teks dalam sel B5 Kemudian akan menambahkan 1 secara individual dengan semua angka yang ditemukan di bagian terakhir dan menunjukkan karakter dari B5 sel berdasarkan posisi angka yang ditentukan.
  • Jadi, hasil kita dari bagian ini adalah- {"2"; "9"; "1"; "0"; "0"; "0"; "0"; "0"; "0"; "0"; "0"}.

Perincian Bagian C = (10^ROW(INDIRECT("$1:$"&LEN(B5)))/10),"")

  • Bagian ini akan menentukan pangkat dari 10 & menyimpannya di dalam larik. Digit-digit dari pangkat adalah angka-angka yang ditemukan dari BARISAN fungsi sebelumnya.
  • Bagian rumus ini akan mengembalikan nilai sebagai- {1;10;100;1000;10000;100000;1000000;10000000;100000000}.

Perkalian B n dan C n

  • Sekarang, nilai-nilai yang dihasilkan dari dua rincian besar terakhir dari B dan C sekarang akan dikalikan di dalam larik. Kemudian produk yang ditemukan dari perkalian akan menjadi- {2;90;100;0;0;0;0;0;0;0}.
  • Dan akhirnya, yang SUMPRODUCT akan menjumlahkan nilai-nilai yang ditemukan dalam larik. Jadi, hasil akhir kita adalah 192 (2+90+100+0+0+0+0+0+0) yang merupakan angka yang diekstrak dari sel B5 .

Baca selengkapnya: Cara Memisahkan Teks dan Angka di Excel (4 Cara Mudah)

5. Mengekstrak Angka Lima Digit dari String

Kami akan menggunakan rumus lain untuk mengekstrak lima digit angka dari bagian mana pun dari string di Excel. Kami akan menggunakan rumus CONCAT dan SEQUENCE Selain itu, kami telah mengubah sedikit dataset kami untuk metode ini.

Langkah-langkah:

  • Pertama, pilih rentang sel C5: C12 .
  • Kedua, ketikkan rumus berikut.

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

  • Terakhir, tekan Ctrl + Enter .

🔎 Rincian Formula

  • LEN(B5)
    • Keluaran: 11 .
    • Fungsi ini mengembalikan panjang string.
  • SEQUENCE(11)
    • Output: {1;2;3;4;5;6;7;8;9;10;11} .
    • Fungsi ini mengembalikan sebelas angka pertama.
  • MID(B5,{1;2;3;4;5;6;7;8;9;10;11},1)
    • Keluaran: {"1"; "9";" "; "D"; "D"; "X"; "2"; "M"; "N"; "3"; "3"} .
    • Dengan menggunakan bagian ini, kita mendapatkan karakter individual dari string.
  • 0+{{"1"; "9";" "; "D"; "D"; "X"; "2"; "M"; "N"; "3"; "3"}
    • Keluaran: {1;9;#VALUE!;#VALUE!;#VALUE!;#VALUE!;2;#VALUE!;#VALUE!;3;3} .
    • Ketika kita menambahkan nol dengan string, maka akan mengembalikan error.
  • IFERROR({1;9;#NILAI!;#NILAI!;#NILAI!;#NILAI!;2;#NILAI!;#NILAI!;3;3},"")
    • Keluaran: {1;9;"";"";"";"";""; 2;"";"";"";3;3} .
    • Kami mendapatkan kosong untuk semua nilai kesalahan.
  • CONCAT({1;9;"";"";"";"";"";2;"";"";"";3;3})
    • Keluaran: 19233 .
    • Akhirnya, kami menambahkan semua nilai untuk mengekstrak lima digit angka saja.

6. Menggunakan Flash Fill untuk Mengekstrak Angka dalam suatu Rentang

Menggunakan yang Isi Kilat Untuk mengeksekusi metode ini dengan benar, kita harus membantu Excel menemukan pola nilai sel dalam kolom atau baris dengan melakukan ekstraksi untuk dua nilai pertama saja.

Langkah-langkah:

  • Untuk memulainya, ketik angka-angka secara manual dalam sel C5 .

  • Kemudian, mulailah mengetikkan angka-angka dari sel B6 ke sel C6 dan Excel akan secara otomatis mengenali polanya.
  • Terakhir, tekan Masuk .

Catatan: Metode ini memiliki beberapa kekurangan, itulah sebabnya mengapa metode ini tidak direkomendasikan untuk semua kasus ketika Anda perlu mengekstrak angka dari string teks. Isi Kilat Jadi, 2 atau 3 ekstraksi atau kalkulasi pertama harus dilakukan secara manual untuk membantu Excel menyerap pola umum dari nilai yang dihasilkan. Namun terkadang, ia tidak mengikuti pola persis yang kita butuhkan dan, dengan demikian, ia akan mengikuti polanya sendiri dan memberi Anda hasil yang tidak cocok.

Misalnya, jika kita harus mengekstrak dua angka nol (00) dari data yang diberikan, itu hanya akan menampilkan satu nol, bukan dua. Kemudian jika Anda ingin mengekstrak angka dari awal atau posisi terakhir dalam sel, itu akan mengekstrak nilai teks juga, bersama dengan angka-angka.

Baca selengkapnya: Cara Mengekstrak Angka setelah Teks Tertentu di Excel (2 Cara yang Cocok)

7. Menerapkan Kode VBA untuk Mengekstrak Hanya Angka dari Sel Excel

Jika Anda tertarik untuk menggunakan Makro VBA Excel untuk mengekstrak angka hanya dari sel, maka Anda ingin mengikuti langkah-langkah di bawah ini. Kami akan menunjukkan kepada Anda cara mengetikkan kode di Modul VBA Kode ini akan meminta pengguna untuk menentukan rentang sel input dan output.

Langkah-langkah:

  • Pertama, Tekan ALT+F11 untuk membuka VBA jendela.
  • Kemudian, dari Sisipkan tab, pilih tab Modul Jendela modul baru akan muncul di mana Anda akan mengetikkan kode-kode.

  • Ketiga, di dalam modul Anda, tempelkan kode-kode berikut setelah menyalin.
 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 = "Input Data Selection" DBxName2 = "Output Cell Selection" Set InBx1 = Application.InputBox("Input Range of Text Cells:", _ 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 

  • Setelah itu, tekan F5 untuk mengeksekusi kode. Sebuah kotak dialog bernama " Pemilihan Data Input " akan muncul.
  • Kemudian, pilih semua sel teks (yaitu, sel B5: B12 ) dan tekan OK .

  • Setelah itu, kotak dialog lain bernama " Pemilihan sel keluaran " akan muncul di mana Anda harus memilih sel atau rentang sel tertentu untuk melihat data atau nilai keluaran.
  • Terakhir, pilih rentang sel C5: C12 dan tekan Masuk .

  • Akibatnya, Anda akan melihat angka yang diekstrak dari teks sekaligus. Dengan demikian, kami akan menyelesaikan tujuh metode cepat untuk mengekstrak angka hanya dari sel Excel.

🔎 Perincian Kode VBA

Mendeklarasikan Parameter

 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 = "Pemilihan Data Input" DBxName2 = "Pemilihan Sel Output" 
  • Di sini, di bagian ini, pertama-tama, kita mendeklarasikan semua parameter kita sebagai bilangan bulat, nilai string, atau rentang sel. Kemudian kita memberikan nama kotak dialog kita dengan "Pemilihan Data Input" dan "Pemilihan sel keluaran" .

Mendefinisikan Jenis Masukan &; Keluaran untuk Kotak Dialog

 Set InBx1 = Application.InputBox("Input Range of Text Cells:", _ 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 = "" 
  • Sekarang kita mendefinisikan parameter dan jenisnya untuk kotak dialog. Di sini, menambahkan Type:=8 berarti data input dan output akan terdiri dari sel referensi atau rentang sel.
  • Kita juga mendefinisikan bahwa jika data input tidak ditemukan, maka subrutin akan berhenti. Dengan menyebutkan makro ini, subrutin tidak akan berhenti karena data yang hilang, melainkan akan berhenti berfungsi.

Menggabungkan Fungsi-fungsi di Dalam Loop Kode untuk Iterasi

 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 
  • Terakhir, ini adalah bagian paling penting di mana kita menerapkan fungsi atau rumus yang perlu kita tetapkan ke teks untuk menemukan nilai yang dihasilkan dari string.
  • Salah satu keuntungan utama dari pengkodean fungsi untuk Excel adalah tidak perlu mengetikkan rumus besar seperti yang harus kita lakukan dalam metode sebelumnya, karena VBA memiliki perintah bawaan untuk menggunakan loop For atau While di mana iterasi untuk setiap detail dalam string teks dapat dieksekusi tanpa kerumitan.

Baca selengkapnya: Cara Memisahkan Angka Dari Teks di Excel VBA (3 Metode)

Kesimpulan

Kami telah menunjukkan kepada Anda 7 metode mudah untuk hanya mengekstrak angka Mengekstrak hanya angka dari string teks tidak sesederhana kelihatannya karena memerlukan kombinasi beberapa fungsi, yang membuat rumus atau sintaks akhir menjadi rumit. Tapi kami berharap bagaimana kami mencoba mengilustrasikan rumus dengan memecah fungsi bagian dalam telah membantu Anda memahami sintaks dengan sedikit kenyamanan dan kemudahan.

Jika Anda menemukan fungsi atau rumus lain yang seharusnya kami tambahkan di sini, beri tahu kami melalui komentar Anda yang berharga. Atau Anda dapat melihat sekilas artikel kami yang lebih informatif dan menarik terkait dengan fungsi Excel di situs web ini.

Hugh West adalah pelatih dan analis Excel yang sangat berpengalaman dengan pengalaman lebih dari 10 tahun di industri ini. Beliau meraih gelar Sarjana di bidang Akuntansi dan Keuangan dan gelar Master di bidang Administrasi Bisnis. Hugh memiliki hasrat untuk mengajar dan telah mengembangkan pendekatan pengajaran unik yang mudah diikuti dan dipahami. Pengetahuan ahlinya tentang Excel telah membantu ribuan siswa dan profesional di seluruh dunia meningkatkan keterampilan dan unggul dalam karier mereka. Melalui blognya, Hugh membagikan pengetahuannya kepada dunia, menawarkan tutorial Excel gratis dan pelatihan online untuk membantu individu dan bisnis mencapai potensi penuh mereka.