Rumus Excel: Pisahkan teks dan angka -

Daftar Isi

Formula umum

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

Ringkasan

Untuk memisahkan teks dan angka, Anda bisa menggunakan rumus berdasarkan fungsi FIND, fungsi MIN, dan fungsi LEN dengan fungsi KIRI atau KANAN, bergantung pada apakah Anda ingin mengekstrak teks atau angka. Pada contoh yang ditunjukkan, rumus di C5 adalah:

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

yang mengembalikan 7, posisi angka 3 dalam string "apel30".

Penjelasan

Gambaran

Rumusnya terlihat rumit, tetapi mekanismenya sebenarnya cukup sederhana.

Seperti kebanyakan rumus yang memisahkan atau mengekstrak teks, kuncinya adalah menemukan posisi benda yang Anda cari. Setelah Anda mendapatkan posisi tersebut, Anda dapat menggunakan fungsi lain untuk mengekstrak apa yang Anda butuhkan.

Dalam hal ini, kami mengasumsikan bahwa angka dan teks digabungkan, dan angka tersebut muncul setelah teks. Dari teks asli, yang muncul dalam satu sel, Anda ingin memisahkan teks dan angka menjadi sel terpisah, seperti ini:

Asli Teks Jumlah
Apel 30 Apel 30
persik24 Persik 24
jeruk12 jeruk 12
persik0 Persik 0

Seperti yang dinyatakan di atas, kunci dalam hal ini adalah menemukan posisi awal bilangan, yang dapat Anda lakukan dengan rumus seperti ini:

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

Setelah Anda mendapatkan posisi tersebut, untuk mengekstrak teks saja, gunakan:

=LEFT(A1,position-1)

Dan, untuk mengekstrak angkanya saja, gunakan:

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

Dalam rumus pertama di atas, kami menggunakan fungsi FIND untuk menemukan posisi awal nomor tersebut. Untuk find_text, kami menggunakan konstanta array (0,1,2,3,4,5,6,7,8,9), ini menyebabkan fungsi FIND melakukan pencarian terpisah untuk setiap nilai dalam konstanta array. Karena konstanta array berisi 10 angka, hasilnya adalah array dengan 10 nilai. Misalnya, jika teks asli adalah "apples30", larik yang dihasilkan akan menjadi:

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

Setiap angka dalam larik ini mewakili posisi item dalam konstanta larik di dalam teks asli.

Selanjutnya fungsi MIN mengembalikan nilai terkecil dalam daftar, yang sesuai dengan posisi di nomor pertama yang muncul di teks asli. Intinya, fungsi FIND mendapatkan semua posisi angka, dan MIN memberi kita posisi angka pertama: perhatikan bahwa 7 adalah nilai terkecil dalam larik, yang sesuai dengan posisi angka 3 dalam teks asli.

Anda mungkin bertanya-tanya tentang konstruksi aneh untuk within_text dalam fungsi find:

B5&"0123456789"

Bagian rumus ini menggabungkan setiap kemungkinan angka 0-9 dengan teks asli di B5. Sayangnya, FIND tidak mengembalikan nol saat nilai tidak ditemukan, jadi ini hanyalah cara cerdas untuk menghindari kesalahan yang dapat terjadi saat nomor tidak ditemukan.

Dalam contoh ini, karena kita mengasumsikan bahwa angka tersebut akan selalu muncul kedua dalam teks asli, itu bekerja dengan baik karena MIN hanya memaksa kemunculan terkecil, atau kemunculan pertama, dari sebuah angka yang akan dikembalikan. Selama angka muncul dalam teks asli, posisi itu akan dikembalikan.

Jika teks asli tidak berisi angka, posisi "palsu" yang sama dengan panjang teks asli +1 akan dikembalikan. Dengan posisi palsu ini, rumus LEFT di atas tetap akan mengembalikan teks dan rumus KANAN akan mengembalikan string kosong ("").

Tautan bagus

Formula oleh Rick Rothstein di Mr Excel

Artikel yang menarik...