Daftar Isi
Bagian selanjutnya dari operasi kita dengan teks di spreadsheet ini dikhususkan untuk ekstraksi. Temukan cara untuk mengekstrak berbagai data - teks, karakter, angka, URL, alamat email, tanggal & waktu, dll. - dari berbagai posisi di beberapa sel Google Sheets sekaligus.
Rumus Google Sheets untuk mengekstrak teks dan angka dari string
Rumus di Google Sheets adalah segalanya. Sementara beberapa kombo menambahkan teks &; angka dan menghapus berbagai karakter, beberapa di antaranya juga mengekstrak teks, angka, karakter terpisah, dll.
Ekstrak data berdasarkan posisi: pertama/terakhir/tengah N chars
Fungsi termudah untuk ditangani saat Anda akan mengambil data dari sel Google Sheets adalah LEFT, RIGHT, dan MID. Mereka mendapatkan data apa pun berdasarkan posisi.
Ekstrak data dari awal sel di Google Sheets
Anda dapat dengan mudah menarik keluar karakter N pertama dengan menggunakan fungsi LEFT:
- string adalah teks tempat Anda ingin mengekstrak data.
- jumlah_dari_karakter adalah jumlah karakter yang harus diambil mulai dari kiri.
Berikut ini contoh yang paling sederhana: mari kita hilangkan kode negara dari nomor telepon:
Seperti yang Anda lihat, kode negara mengambil 6 simbol di awal sel, jadi rumus yang Anda butuhkan adalah:
= KIRI (A2,6)
ArrayFormula akan memungkinkan untuk mendapatkan 6 karakter dari seluruh rentang sekaligus:
=ArrayFormula(LEFT(A2:A7,6))
Ekstrak data dari akhir sel di Google Sheets
Untuk mengeluarkan karakter N terakhir dari sel, gunakan fungsi KANAN sebagai gantinya:
KANAN(string,[jumlah_karakter])- string masih berupa teks (atau referensi sel) untuk mengekstrak data.
- jumlah_dari_karakter juga merupakan jumlah karakter yang akan diambil dari kanan.
Mari kita dapatkan nama negara itu dari nomor telepon yang sama:
Mereka hanya mengambil 2 karakter dan itulah yang saya sebutkan dalam formula:
= HATI-HATI (A2,2)
ArrayFormula juga akan membantu Anda mengekstrak data dari akhir semua sel Google Sheets sekaligus:
=ArrayFormula(RIGHT(A2:A7,2))
Ekstrak data dari tengah sel di Google Sheets
Jika ada fungsi untuk mengekstrak data dari awal dan akhir sel, pasti ada fungsi untuk mengekstrak data dari tengah juga. Dan ya - ada satu.
Ini disebut MID:
MID(string, starting_at, extract_length)- string - teks di mana Anda ingin mengambil bagian tengahnya.
- starting_at - posisi karakter dari mana Anda ingin mulai mendapatkan data.
- extract_length - jumlah karakter yang perlu Anda tarik keluar.
Dengan contoh nomor telepon yang sama, mari kita temukan nomor telepon itu sendiri tanpa kode negara dan singkatan negaranya:
Karena kode negara diakhiri dengan karakter ke-6 dan karakter ke-7 adalah tanda hubung, saya akan menarik angka mulai dari digit ke-8. Dan saya akan mendapatkan total 8 digit:
=MID(A2,8,8)
Tip. Mengubah satu sel ke seluruh rentang dan membungkusnya dalam ArrayFormula akan memberi Anda hasil untuk setiap sel sekaligus:
=ArrayFormula(MID(A2:A7,8,8))
Ekstrak teks/angka dari string
Terkadang mengekstrak teks berdasarkan posisi (seperti yang ditunjukkan di atas) bukanlah pilihan. String yang diperlukan mungkin berada di bagian mana pun dari sel Anda dan terdiri dari jumlah karakter yang berbeda yang memaksa Anda membuat rumus yang berbeda untuk setiap sel.
Tetapi Google Sheets tidak akan menjadi Google Sheets jika tidak memiliki fungsi lain yang akan membantu mengekstrak teks dari string.
Mari kita tinjau beberapa cara yang mungkin ditawarkan spreadsheet.
Ekstrak data sebelum teks tertentu - LEFT+SEARCH
Kapan pun Anda ingin mengekstrak data yang mendahului teks tertentu, gunakan LEFT + SEARCH:
- KIRI digunakan untuk mengembalikan sejumlah karakter tertentu dari awal sel (dari kiri mereka)
- PENCARIAN mencari karakter/string tertentu dan mendapatkan posisinya.
Gabungkan ini - dan LEFT akan mengembalikan jumlah karakter yang disarankan oleh SEARCH.
Berikut ini contohnya: bagaimana Anda mengekstrak kode tekstual sebelum setiap 'ea'?
Inilah rumus yang akan membantu Anda dalam kasus serupa:
=LEFT(A2,SEARCH("ea",A2)-1)
Inilah yang terjadi dalam rumus:
- PENCARIAN ("ea",A2) mencari 'ea' di A2 dan mengembalikan posisi di mana 'ea' dimulai untuk setiap sel - 10.
- Jadi posisi ke-10 adalah tempat 'e' berada. Tapi karena saya ingin semuanya tepat sebelum 'ea', saya perlu mengurangi 1 dari posisi itu. Jika tidak, 'e' akan dikembalikan juga. Jadi saya mendapatkan 9 akhirnya.
- KIRI melihat A2 dan mendapatkan 9 karakter pertama.
Ekstrak data setelah teks
Ada juga cara untuk mendapatkan semuanya setelah string teks tertentu. Tapi kali ini, RIGHT tidak akan membantu. Sebaliknya, REGEXREPLACE mengambil gilirannya.
Tip. REGEXREPLACE menggunakan ekspresi reguler. Jika Anda tidak siap untuk berurusan dengan mereka, ada solusi yang jauh lebih mudah yang dijelaskan di bawah ini. REGEXREPLACE(text, regular_expression, replacement)
- teks adalah string atau sel di mana Anda ingin membuat perubahan
- regular_expression adalah kombinasi karakter yang merupakan singkatan dari bagian teks yang Anda cari
- penggantian adalah apa pun yang ingin Anda dapatkan, bukan itu teks
Jadi, bagaimana Anda menggunakannya untuk mengekstrak data setelah teks tertentu - 'ea' dalam contoh saya?
Mudah - menggunakan rumus ini:
=REGEXREPLACE(A2,"(.*)ea(.*)","$2")
Izinkan saya menjelaskan cara kerja rumus ini secara tepat:
- A2 adalah sel tempat saya mengekstrak data.
- "(.*)ea(.*)" adalah ekspresi reguler saya (atau Anda bisa menyebutnya sebagai mask). Saya mencari 'ea' dan memasukkan semua karakter lain ke dalam tanda kurung. Ada 2 kelompok karakter - semua yang ada sebelum 'ea' adalah kelompok pertama (.*) dan semua yang ada setelah 'ea' adalah kelompok kedua (.*). Seluruh mask itu sendiri dimasukkan ke dalam tanda kutip ganda.
- "$2" adalah apa yang ingin saya dapatkan - kelompok kedua (karena itu nomor 2) dari argumen sebelumnya.
Tip. Semua karakter yang digunakan dalam ekspresi reguler dikumpulkan pada halaman khusus ini.
Ekstrak angka dari sel Google Sheets
Bagaimana jika Anda hanya ingin mengekstrak angka-angka ketika posisinya dan apa pun yang terjadi sebelum & sesudahnya tidak penting?
Masker (alias ekspresi reguler) juga akan membantu. Bahkan, saya akan mengambil fungsi REGEXREPLACE yang sama dan mengubah ekspresi reguler:
=REGEXREPLACE(A2,"[^[:digit:]]", "")
- A2 adalah sel tempat saya ingin mendapatkan angka-angka itu.
- "[^[:digit:]]" adalah ekspresi reguler yang mengambil segalanya kecuali digit. Simbol ^caret itulah yang membuat pengecualian untuk digit.
- "" menggantikan semuanya kecuali karakter numerik dengan "nothing". Atau, dengan kata lain, menghapusnya seluruhnya, hanya menyisakan angka dalam sel. Atau, mengekstrak angka :)
Ekstrak teks dengan mengabaikan angka dan karakter lainnya
Dengan cara yang sama, Anda hanya dapat mengambil data alfabet dari sel Google Sheets. Kontraksi untuk ekspresi reguler yang merupakan singkatan dari teks disebut sesuai - alpha:
=REGEXREPLACE(A2,"[^[:alpha:]]", "")
Rumus ini mengambil segala sesuatu kecuali huruf (A-Z, a-z) dan secara harfiah menggantinya dengan "tidak ada apa-apa". Atau, dengan kata lain, hanya mengambil huruf saja.
Cara bebas rumus untuk mengekstrak data dari sel Google Sheets
Jika Anda mencari cara mudah tanpa rumus untuk mengekstrak berbagai jenis data, Anda telah datang ke tempat yang tepat. Add-on Power Tools kami memiliki alat untuk pekerjaan itu.
Mengekstrak berbagai jenis data menggunakan add-on Power Tools
Alat pertama yang saya ingin Anda ketahui disebut Ekstrak. Alat ini melakukan apa yang Anda cari dalam artikel ini - mengekstrak berbagai jenis data dari sel Google Sheets.
Pengaturan yang ramah pengguna
Semua kasus yang saya bahas di atas tidak hanya bisa dipecahkan dengan add-on. Alat ini ramah pengguna jadi, yang perlu Anda lakukan hanyalah memilih rentang yang ingin Anda proses dan mencentang kotak centang yang diperlukan. Tidak ada rumus, tidak ada ekspresi reguler.
Ingat poin kedua artikel ini dengan REGEXREPLACE dan ekspresi reguler? Inilah betapa sederhananya untuk add-on:
Opsi ekstra
Seperti yang bisa Anda lihat, ada beberapa opsi tambahan (hanya kotak centang) yang bisa Anda menghidupkan/mematikan dengan cepat untuk mendapatkan hasil yang paling tepat:
- Dapatkan string dari kasus teks yang diperlukan saja.
- Keluarkan semua kejadian dari setiap sel dan letakkan dalam satu sel atau kolom terpisah.
- Sisipkan kolom baru dengan hasil di sebelah kanan data sumber.
- Hapus teks yang diekstrak dari sumber data.
Mengekstrak tipe data yang berbeda
Tidak hanya Power Tools mengekstrak data sebelum/sesudah/antara string teks tertentu dan karakter N pertama/terakhir; tetapi juga mengambil yang berikut ini:
- Bilangan beserta desimalnya dengan menjaga agar pemisah desimal/ribuan tetap utuh:
Ekstrak string data apa pun dari mana saja
Juga terdapat opsi untuk menyiapkan pola persis Anda sendiri dan menggunakannya untuk ekstraksi. Ekstrak dengan masker dan karakter wildcard-nya - * dan ? - lakukan triknya:
- Contohnya, Anda bisa menonjolkan segala sesuatu di antara tanda kurung dengan menggunakan mask berikut ini: (*)
- Atau dapatkan SKU yang hanya memiliki 5 angka di id mereka: SKU?????
- Atau, seperti yang saya tunjukkan pada tangkapan layar di bawah ini, tarik semuanya setelah setiap 'ea' di setiap sel: ea*
Ekstrak tanggal dan waktu dari cap waktu
Sebagai bonus, ada alat yang lebih kecil yang akan mengekstrak tanggal dan waktu dari stempel waktu - ini disebut Split Date & Time.
Meskipun diciptakan untuk membagi timestamp di tempat pertama, ini sangat mampu untuk mendapatkan salah satu unit yang diinginkan secara individual:
Cukup pilih salah satu kotak centang tergantung pada apa yang ingin Anda ekstrak - tanggal atau waktu - dari cap waktu di Google Sheets dan tekan Berpisah Unit yang diperlukan akan disalin ke kolom baru (atau akan menggantikan data asli jika Anda memilih kotak centang terakhir juga):
Alat ini juga merupakan bagian dari add-on Power Tools jadi setelah Anda menginstalnya untuk mendapatkan data apa pun dari sel Google Sheets, itu membuat Anda sepenuhnya tertutup. Jika tidak, silakan tinggalkan komentar dan kami akan membantu Anda :)