ikuti Saluran WhatsApp Rumahdisolo.com. Klik WhatsApp

Cara Ekstrak Teks Dengan LEFT, RIGHT, MID

Kalem — kita bakal kupas tuntas **LEFT**, **RIGHT**, dan **MID** di spreadsheet (Excel & Google Sheets). Mulai dari yang paling dasar sampai trik gabungan yang ngebantu banget saat kamu harus **memotong teks**, **ngambil kode**, **pisahin nama**, atau **ekstrak informasi** dari string panjang. Artikel ini cocok buat anak remaja yang pengin cepat paham: penjelasan santai, contoh nyata, tabel, rumus yang bisa langsung dicopy-paste, plus latihan praktis step-by-step. --- ## Ringkasan singkat (buat yang mau lompat cepat) * `LEFT(text, n)` → ambil n karakter dari kiri. * `RIGHT(text, n)` → ambil n karakter dari kanan. * `MID(text, start, n)` → ambil n karakter dari posisi start (dari kiri), jumlah n. * Kombinasi `FIND`, `SEARCH`, `LEN`, dan `TRIM` bikin ekstraksi jadi fleksibel dan tahan error. * Gunakan `REGEXEXTRACT` (Google Sheets) atau helper formulas kalau format teks bervariasi. --- ## Kenapa belajar LEFT/RIGHT/MID itu penting? Kalau kamu sering pegang data, pasti pernah nemu masalah kayak ini: * Nomor pesanan: `ORD-2025-0012` → pengen ambil `2025` aja. * Nama lengkap: `Andi Wijaya Putra` → pengen ambil nama depan `Andi`. * Email: `andi@mail.com` → pengen ambil username `andi` dan domain `mail.com`. * Kode produk: `PROD-AB-12345` → pengen ambil bagian tengah `AB`. Alih-alih ngetik manual (super ribet), LEFT/RIGHT/MID bisa otomatisin semuanya. --- ## Struktur artikel ini (biar mudah navigasi) 1. Sintaks & konsep dasar 2. LEFT — teori + contoh nyata + tabel 3. RIGHT — teori + contoh nyata + tabel 4. MID — teori + contoh nyata + tabel 5. Teknik kombinasi (LEFT/RIGHT/MID + FIND/SEARCH/LEN/TRIM) 6. Ekstraksi dinamis berdasarkan delimiter (karakter pemisah) 7. Ekstrak berdasarkan posisi kata (ambil kata ke-n) 8. Ekstrak email, domain, kode tahun, NIK, dan contoh nyata lain 9. Mengatasi kasus variabel panjang (safety checks) 10. Alternatif: REGEXEXTRACT, SPLIT, TEXTSPLIT (Google/Excel) 11. Latihan dan solusi 12. Cheat sheet & tips troubleshooting 13. Penutup singkat --- ## 1. Sintaks & konsep dasar ### LEFT ``` =LEFT(text, num_chars) ``` * `text`: sel atau string. * `num_chars`: jumlah karakter yg diambil dari kiri. ### RIGHT ``` =RIGHT(text, num_chars) ``` * Sama seperti LEFT, tapi dari kanan. ### MID ``` =MID(text, start_num, num_chars) ``` * `start_num`: index karakter awal (1 = karakter pertama). * `num_chars`: jumlah karakter diambil mulai dari `start_num`. **Catatan:** Semua fungsi ini bekerja di Excel dan Google Sheets. Jika `num_chars` lebih besar dari panjang teks, biasanya fungsi akan mengembalikan seluruh teks tanpa error. --- ## 2. LEFT — ambil bagian kiri teks ### Contoh sederhana Tabel input: | A (Nomor HP) | | ------------ | | 081234567890 | | 082299988877 | Ambil kode operator (4 digit pertama): ``` =LEFT(A2,4) ``` Hasil: `0812`, `0822`. ### Contoh pemakaian nyata 1 — ambil prefix order Input: `ORD-2025-0012` di A2 Ambil prefix: ``` =LEFT(A2,3) ``` Hasil: `ORD`. ### Contoh pemakaian nyata 2 — ambil tahun dari `YYYY-MM-DD` A2: `2025-09-01` Ambil tahun: ``` =LEFT(A2,4) ``` Hasil: `2025` (jika tanggal tersimpan sebagai teks; kalau disimpan sebagai date, pakai YEAR()). --- ## 3. RIGHT — ambil bagian kanan teks ### Contoh sederhana Input: `INV-000345` Ambil nomor invoice (6 digit terakhir): ``` =RIGHT(A2,6) ``` Hasil: `000345`. ### Contoh nyata — ekstensi file A2: `laporan_final_v2.xlsx` Ambil ekstensi: ``` =RIGHT(A2,4) ``` Hasil: `xlsx`. **Catatan:** jika ekstensi bisa 3 atau 4 huruf (mis: `.csv` vs `.xlsx`), gunakan `FIND` atau `SEARCH` untuk temukan titik terakhir, lalu `RIGHT` pakai `LEN` minus posisi titik. Contoh di bagian kombinasi. --- ## 4. MID — potong dari tengah ### Contoh sederhana A2: `PROD-AB-12345` Ambil kode `AB` (posisi ke-6, 2 karakter): ``` =MID(A2,6,2) ``` Hasil: `AB`. ### Contoh nyata — ambil substring dinamis setelah delimiter jika posisinya diketahui A2: `2025-50-XYZ` Ambil `50`: ``` =MID(A2,6,2) ``` --- ## 5. Kombinasi dengan LEN, FIND, SEARCH, TRIM — bikin ekstraksi jadi fleksibel Kunci supaya LEFT/RIGHT/MID berguna adalah menggabungkannya dengan fungsi lain: * `LEN(text)` → hitung panjang string. * `FIND(subtext, text, [start])` → cari posisi subtext (case-sensitive). * `SEARCH(subtext, text, [start])` → cari posisi subtext (case-insensitive). * `TRIM(text)` → hapus spasi berlebih di depan/belakang dan ganda di tengah. * `SUBSTITUTE(text, old, new, [instance])` → ganti teks. ### Contoh: ambil teks sebelum tanda `-` A2: `ORD-2025-0012` Kita mau ambil `ORD` otomatis tanpa tahu panjang prefix. ``` =LEFT(A2, FIND("-", A2)-1) ``` Penjelasan: `FIND("-", A2)` beri posisi hyphen, `-1` supaya tidak termasuk hyphen. ### Contoh: ambil teks setelah tanda `-` pertama sampai `-` kedua A2: `ORD-2025-0012` Ambil `2025`: ``` =MID(A2, FIND("-", A2)+1, FIND("-", A2, FIND("-", A2)+1) - FIND("-", A2) - 1) ``` Penjelasan panjang tapi efektif: * `FIND("-", A2)` = posisi hyphen pertama. * `FIND("-", A2, FIND("-", A2)+1)` = posisi hyphen kedua. * Panjang = posisi kedua - posisi pertama - 1. --- ## 6. Ekstraksi berdasarkan delimiter — cara praktis & aman Skenario umum: teks pakai delimiter (`-`, `_`, `;`, `|`, ` ` (spasi), `,`). Tools yang berguna: * `SPLIT()` (Google Sheets) → gampang split jadi beberapa kolom. * `TEXTSPLIT()` (Excel 365) → fungsional mirip SPLIT. * Jika tools split nggak tersedia, pakai kombinasi `FIND`, `MID`, `LEFT`, `RIGHT`. ### A. Google Sheets: SPLIT A2: `Andi Saputra Putra` ``` =SPLIT(A2, " ") ``` Hasil: kolom: `Andi` | `Saputra` | `Putra`. ### B. Excel: Text to Columns * Select kolom → Data → Text to Columns → Delimited → pilih spasi atau delimiter lain → Finish. Tapi kalau mau rumus otomatis (tanpa manual), gunakan `FIND`/`MID`/`LEFT`. ### C. Ambil kata sebelum/ sesudah delimiter (rumus generik) Ambil substring sebelum koma: ``` =LEFT(A2, FIND(",", A2)-1) ``` Ambil substring setelah koma: ``` =RIGHT(A2, LEN(A2) - FIND(",", A2)) ``` Namun yang kedua beresiko kalau koma ada beberapa kali — gunakan `FIND` dengan `search from last` trick (lihat bagian mencari tanda terakhir). --- ## 7. Cara ambil kata terakhir (last word) — trik umum Ambil kata terakhir di sel (mis. nama belakang): ``` =TRIM(RIGHT(SUBSTITUTE(A2," ",REPT(" ",100)),100)) ``` Penjelasan: * `SUBSTITUTE(A2," ",REPT(" ",100))` → ganti setiap spasi jadi 100 spasi (membuat blok besar). * `RIGHT(...,100)` → ambil 100 karakter dari kanan, yang berisi kata terakhir plus spasi. * `TRIM()` → buang spasi ekstra → sisanya kata terakhir. Ini trik klasik yang aman buat nama dengan jumlah kata variatif. --- ## 8. Ambil kata ke-n (nth word) — praktis buat nama atau alamat Untuk ambil kata ke-2, ke-3, dst: ``` =TRIM(MID(SUBSTITUTE(A2," ",REPT(" ",100)), (n-1)*100+1, 100)) ``` Ganti `n` dengan angka urutan kata yang diinginkan. Contoh: ambil kata ke-2 dari `Andi Wijaya Putra`: ``` =TRIM(MID(SUBSTITUTE(A2," ",REPT(" ",100)), (2-1)*100+1, 100)) ``` Hasil: `Wijaya`. --- ## 9. Ekstrak domain & username dari email ### Ambil username (sebelum `@`) A2: `andi.smith@mail.com` ``` =LEFT(A2, FIND("@", A2)-1) ``` ### Ambil domain (setelah `@`) ``` =RIGHT(A2, LEN(A2) - FIND("@", A2)) ``` ### Ambil top-level domain (mis. `com`, `co.id`) Jika ingin ambil `com`: ``` =RIGHT(A2, LEN(A2) - FIND("@", A2)) // hasil mail.com =RIGHT(RIGHT(A2, LEN(A2)-FIND("@",A2)), LEN(RIGHT(A2, LEN(A2)-FIND("@",A2))) - FIND(".", RIGHT(A2, LEN(A2)-FIND("@",A2)))) ``` Lebih praktis di Google Sheets pakai `REGEXEXTRACT`: ``` =REGEXEXTRACT(A2,"@(.+)$") // domain =REGEXEXTRACT(A2,"\.(.+)$") // tld terakhir ``` --- ## 10. Ekstrak tahun dari kode / tanggal campur ### Contoh: `ORD-2025-0012` ``` =MID(A2, FIND("-", A2)+1, 4) ``` Atau jika format `YYYY-MM-DD`: ``` =LEFT(A2,4) ``` ### Contoh: tanggal teks `01 Sept 2025` → ambil tahun ``` =RIGHT(A2,4) ``` Tapi hati-hati: format tanggal jamak mending pakai `DATEVALUE`. --- ## 11. Mengatasi teks dengan panjang berbeda (safety checks) Kadang data nggak rapi; misal A2 kosong atau tidak ada delimiter. Tambahkan `IFERROR` / `IF` untuk mencegah error: ``` =IFERROR(LEFT(A2, FIND("-",A2)-1), A2) ``` Atau: ``` =IF(LEN(A2)=0, "", LEFT(A2,4)) ``` Gunakan `TRIM` untuk bersihin spasi sebelum ekstraksi: ``` =LEFT(TRIM(A2),4) ``` --- ## 12. Ekstrak angka dalam teks (ambil semua digit) Google Sheets: ``` =REGEXEXTRACT(A2, "\d+") ``` Ini ambil digit pertama yang muncul. Untuk mengambil semua digit gabungan: ``` =REGEXREPLACE(A2, "\D", "") ``` `"\D"` = non-digit, ganti dengan `""` sehingga hanya angka tersisa. Excel (tanpa regex di versi lama): butuh formula lebih panjang atau VBA. Contoh formula array (rumit). Alternatif praktis: gunakan helper column dan `MID` loop, atau Power Query. --- ## 13. Kasus nyata lengkap + tabel (siap copy-paste) ### Kasus A: Pisah Nama Depan & Nama Belakang Tabel: | A (Nama Lengkap) | | ----------------- | | Andi Wijaya Putra | | Budi | | Siti Nurhayati | **Ambil Nama Depan:** ``` =IFERROR(LEFT(A2, FIND(" ", A2)-1), A2) ``` **Ambil Nama Belakang:** ``` =IFERROR(TRIM(RIGHT(A2, LEN(A2) - FIND(" ", A2))), "") ``` Hasil: * `Andi` / `Wijaya Putra` * `Budi` / `` * `Siti` / `Nurhayati` ### Kasus B: Ambil Kode Tanggal dari Kode Produk A2: `SKU-09-2025-AX12` Ambil `09`: ``` =MID(A2,5,2) ``` Ambil `2025`: ``` =MID(A2,8,4) ``` ### Kasus C: Ambil kata terakhir (surname) A2: `Siti Nurhayati` ``` =TRIM(RIGHT(SUBSTITUTE(A2," ",REPT(" ",100)),100)) ``` ### Kasus D: Ambil string setelah slash terakhir `/` A2: `folder/sub/final/report.pdf` Untuk ambil `report.pdf` (kata setelah slash terakhir): ``` =TRIM(RIGHT(SUBSTITUTE(A2,"/",REPT(" ",100)),100)) ``` --- ## 14. Alternatif modern: TEXTSPLIT, REGEXEXTRACT, SPLIT Jika kamu pakai Google Sheets, `SPLIT` dan `REGEXEXTRACT` sering lebih simpel. * `SPLIT(A2, " ")` → memecah kata. * `REGEXEXTRACT(A2,"pattern")` → ekstraksi canggih. Excel 365 punya `TEXTSPLIT`, `TEXTBEFORE`, `TEXTAFTER` yang mempermudah: * `=TEXTBEFORE(A2, "-")` → ambil sebelum `-`. * `=TEXTAFTER(A2, "-")` → ambil setelah `-`. * `=TEXTSPLIT(A2, "-")` → split jadi array. Jika tersedia, prefer gunakan fungsi-fungsi ini karena lebih ringkas. --- ## 15. Latihan praktis + solusi (bikin biar paham) ### Latihan 1 A2: `TRX-202509-12345` * Ambil prefix `TRX` * Ambil bulan/tahun `202509` * Ambil nomor urut `12345` Solusi: ``` =LEFT(A2,3) // TRX =MID(A2,5,6) // 202509 =RIGHT(A2,5) // 12345 ``` ### Latihan 2 A2: `JKT 0823-1111-2222` * Ambil kode area `0823` Solusi (hapus non-digit dulu): ``` =REGEXREPLACE(A2, "[^\d]", "") // 082311112222 =LEFT(REGEXREPLACE(A2, "[^\d]", ""),4) // 0823 ``` (untuk Excel versi lama, pakai nested SUBSTITUTE lalu LEFT) ### Latihan 3 A2: `Andi Saputra Putra` * Ambil nama tengah (`Saputra`) menggunakan formula kata ke-2 Solusi: ``` =TRIM(MID(SUBSTITUTE(A2," ",REPT(" ",100)), 100+1, 100)) ``` (Ubah 100* sesuai asumsi panjang kata maksimal) --- ## 16. Tips & trik cepat (best practices) * Selalu bersihkan data dulu: `TRIM`, `CLEAN`, lalu ekstrak. * Gunakan `FIND` (case-sensitive) kalau mau presisi; `SEARCH` untuk case-insensitive. * Bungkus rumus dengan `IFERROR` supaya tampil rapi kalau error. * Untuk nama/teks yang panjang tak terduga, gunakan metode `REPT(" ", n)` untuk ambil kata ke-n. * Kalau ada banyak pola berbeda, pertimbangkan pakai `REGEXEXTRACT` (Sheets) atau Power Query (Excel) untuk proses batch. * Uji rumus pada beberapa contoh sebelum diterapkan ke keseluruhan data. --- ## 17. Kesalahan umum & cara memperbaiki 1. **Menggunakan FIND pada string tanpa delimiter** → `FIND` return error. Solusi: `IFERROR(FIND(...),0)` atau cek dulu `IF(ISNUMBER(FIND(...)),...)`. 2. **Mengasumsikan semua baris punya jumlah kata sama** → pakai metode dynamic seperti `MID`+`SUBSTITUTE`. 3. **Main `RIGHT`/`LEFT` tanpa `TRIM`** → hasil mungkin mengandung spasi. Tambahkan `TRIM`. 4. **Lupa format tanggal** → jika tanggal tersimpan sebagai Date object, pakai `YEAR`, `MONTH`, `DAY` bukan `LEFT`. --- ## 18. Cheat Sheet Rumus (cepat dilihat) * Ambil 4 karakter kiri: ``` =LEFT(A2,4) ``` * Ambil 3 karakter kanan: ``` =RIGHT(A2,3) ``` * Ambil 5 karakter dari posisi 6: ``` =MID(A2,6,5) ``` * Ambil teks sebelum `-`: ``` =LEFT(A2, FIND("-", A2)-1) ``` * Ambil teks setelah `-` pertama: ``` =RIGHT(A2, LEN(A2) - FIND("-", A2)) ``` * Ambil kata terakhir: ``` =TRIM(RIGHT(SUBSTITUTE(A2," ",REPT(" ",100)),100)) ``` * Ambil kata ke-n: ``` =TRIM(MID(SUBSTITUTE(A2," ",REPT(" ",100)), (n-1)*100+1, 100)) ``` * Ambil angka pertama di string (Sheets): ``` =REGEXEXTRACT(A2, "\d+") ``` * Ambil semua digit: ``` =REGEXREPLACE(A2, "\D", "") ``` --- ## 19. Contoh proyek mini (gabungkan semua skill) **Skenario:** Kamu dapat file export order: kolom `order_code`, `buyer`, `contact`. Format `order_code` = `ORD-YYYY-MM-XXXX`. Nama buyer = `Nama Depan Nama Tengah Nama Belakang`. Kontak bisa bermacam format `+62 812-345-678` atau `0812345678`. Goal: buat sheet clean dengan kolom: `order_id`, `year`, `month`, `order_no`, `first_name`, `last_name`, `phone_normalized`. **Langkah contoh (rumus):** * `order_id` = `A2` (copy) * `year`: ``` =MID(A2,5,4) ``` * `month`: ``` =MID(A2,10,2) ``` * `order_no`: ``` =RIGHT(A2,4) ``` * `first_name`: ``` =IFERROR(LEFT(B2, FIND(" ", B2)-1), B2) ``` * `last_name`: ``` =TRIM(RIGHT(SUBSTITUTE(B2," ",REPT(" ",100)),100)) ``` * `phone_normalized` (Google Sheets): ``` =LET(raw, REGEXREPLACE(C2,"[^0-9]",""), IF(LEFT(raw,1)="0","62"&RIGHT(raw,LEN(raw)-1), raw)) ``` Jika Excel belum punya LET, pisahkan ke helper column. --- ## 20. Troubleshooting performa & scaling * Rumus dengan banyak `REPT`/`SUBSTITUTE` di ribuan baris bisa agak lambat. Jika dataset besar (>10k rows), pertimbangkan: * Gunakan Power Query (Excel) untuk transform batch. * Gunakan Apps Script (Google Sheets) untuk proses sekali jalan. * Gunakan helper columns dan copy-paste values ketika sudah final. * Hindari array formulas kompleks yang menimpa area lain. --- ## 21. Penutup & motivasi singkat LEFT, RIGHT, dan MID itu kayak gunting rapi buat teks. Sederhana tapi powerful kalau kamu tahu gimana gabungin dengan `FIND`, `LEN`, `TRIM`, dan `SUBSTITUTE`. Kalau ditambah `REGEXEXTRACT` atau `SPLIT`, kamu bakal bisa menaklukkan hampir semua kasus ekstraksi teks dari data acak. Latihan 10–20 menit setiap hari dengan contoh nyata (nama, nomor, kode produk) bakal bikin kamu cepat jago. Setelah paham, pekerjaan berkaitan data yang sebelumnya makan waktu berjam-jam bisa beres dalam menit. Selamat ngoprek rumus — semoga spreadsheet-mu jadi lebih rapi dan pekerjaanmu makin cepat!
Siswi SMK Muhammadiyah 1 sukoharjo yang cerdas, Bersemangat, dan Berintegritas. Profil Lengkap saya