Ketika kamu bekerja dengan data campuran teks dan angka di Excel — seperti "INV12345" atau "ABC2024XYZ" — mungkin kamu hanya ingin mengambil angka saja. Excel tidak menyediakan satu fungsi khusus untuk ini, namun kamu bisa menggunakan kombinasi rumus untuk mengekstrak angka dengan cepat dan efisien.
🔢 1. Rumus Ekstrak Angka dari Teks (Semua Angka)
Gunakan rumus array berikut untuk mengekstrak semua angka dari teks dalam satu sel:
=TEXTJOIN("", TRUE, IF(ISNUMBER(MID(A1, ROW(INDIRECT("1:" & LEN(A1))), 1)*1), MID(A1, ROW(INDIRECT("1:" & LEN(A1))), 1), ""))
Penjelasan:
MID()
mengambil setiap karakter satu per satuISNUMBER(...*1)
memeriksa apakah karakter itu angkaTEXTJOIN()
menyatukan angka-angka yang lolos seleksi
Contoh: Jika A1 berisi "ABC123XYZ"
, hasilnya adalah "123"
Catatan: Jika Excel kamu belum mendukung rumus dinamis, tekan Ctrl + Shift + Enter setelah mengetik rumus ini.
---🧩 2. Rumus Ekstrak Angka Pertama Saja
Jika kamu hanya ingin mengambil angka pertama dari teks (misalnya untuk mengambil angka 2024 dari “Invoice 2024/Bulan 06”):
=LOOKUP(10^10, --MID(A1, MIN(ROW(INDIRECT("1:"&LEN(A1))))*(ISNUMBER(--MID(A1, ROW(INDIRECT("1:"&LEN(A1))), 1))), LEN(A1)))
Ini akan mengekstrak angka pertama dalam urutan, tapi bisa rumit jika teks bercampur.
---🛠️ 3. Menggunakan Fungsi Khusus VBA (Opsional)
Jika kamu sering melakukan ini, lebih efisien menggunakan fungsi custom VBA:
Function AmbilAngka(str As String) As String
Dim i As Integer
Dim hasil As String
For i = 1 To Len(str)
If Mid(str, i, 1) Like "#" Then
hasil = hasil & Mid(str, i, 1)
End If
Next
AmbilAngka = hasil
End Function
Setelah ditambahkan ke editor VBA, kamu bisa gunakan seperti fungsi biasa: =AmbilAngka(A1)
📌 Kapan Gunakan Rumus Ini?
- Membersihkan data hasil impor dari sistem
- Ekstrak nomor dari kode unik seperti “INV123456”
- Ambil tahun, bulan, ID dari string teks campuran
📈 Bonus: Ekstrak Angka lalu Ubah Menjadi Nilai Numerik
Setelah kamu ekstrak angka dalam bentuk teks, kamu bisa ubah ke nilai numerik dengan fungsi VALUE()
:
=VALUE(TEXTJOIN("", TRUE, IF(ISNUMBER(...
Atau cukup tambahkan *1
di akhir rumus:
=TEXTJOIN("", TRUE, IF(...))*1
---
❓ FAQ
- Apakah rumus ini bisa ambil angka dari mana saja dalam teks?
Ya, rumus menggunakan pendekatan per karakter sehingga bisa menangkap angka dari awal, tengah, atau akhir teks. - Bisa digunakan di Excel versi lama?
Bisa, tapi untuk rumus array kamu harus tekanCtrl + Shift + Enter
. - Bagaimana jika ingin ambil angka dan tanda titik/koma desimal?
Kamu perlu modifikasi rumus atau gunakan VBA untuk mendeteksi karakter titik dan koma.
🏷️ Tags:
#ExcelIndonesia #RumusExcel #ExtractAngka #TeksKeAngka #ExcelTips
🔗 Related Posts:
- Menghapus Angka dari Teks di Excel
- Pisahkan Teks Berdasarkan Karakter di Excel
- Rumus Excel Menghilangkan Karakter Tertentu
0 komentar:
Posting Komentar