İçindekiler
E-tablolarda metinle ilgili işlemlerimizin bir sonraki bölümü ayıklamaya ayrılmıştır. Birden fazla Google E-Tablo hücresindeki çeşitli konumlardan aynı anda çeşitli verileri (metin, karakter, sayı, URL, e-posta adresi, tarih ve saat vb.) ayıklamanın yollarını öğrenin.
Dizelerden metin ve sayı ayıklamak için Google E-Tablolar formülleri
Google E-Tablolar'daki formüller her şeydir. Bazı kombinasyonlar metin ve sayı ekleyip çeşitli karakterleri kaldırırken, bazıları da metin, sayı, ayrı karakterler vb. çıkarır.
Verileri konuma göre ayıklayın: ilk/son/orta N karakter
Google E-Tablolar hücrelerinden veri almak üzere olduğunuzda uğraşmanız gereken en kolay işlevler LEFT, RIGHT ve MID'dir. Bunlar herhangi bir veriyi konuma göre alır.
Google E-Tablolar'daki hücrelerin başından veri ayıklama
LEFT fonksiyonunu kullanarak ilk N karakteri kolayca çıkarabilirsiniz:
LEFT(string,[number_of_characters])- Dize içinden veri çıkarmak istediğiniz metindir.
- number_of_characters soldan başlayarak çıkarılacak karakter sayısıdır.
İşte en basit örnek: telefon numaralarından ülke kodlarını çıkaralım:
Gördüğünüz gibi, ülke kodları hücrelerin başında 6 sembol alır, bu nedenle ihtiyacınız olan formül şudur:
=LEFT(A2,6)
İpucu: ArrayFormula tüm aralıktan tek seferde 6 karakter almayı mümkün kılacaktır:
=ArrayFormula(LEFT(A2:A7,6))
Google E-Tablolar'daki hücrelerin sonundan veri ayıklama
Hücrelerden son N karakteri çıkarmak için bunun yerine SAĞ işlevini kullanın:
RIGHT(string,[number_of_characters])- Dize hala veri ayıklanacak metindir (veya bir hücre referansıdır).
- number_of_characters aynı zamanda sağdan alınacak karakter sayısıdır.
Ülke isimlerini aynı telefon numaralarından alalım:
Sadece 2 karakter alıyorlar ve formülde de tam olarak bundan bahsediyorum:
=SAĞ(A2,2)
İpucu: ArrayFormula, aynı anda tüm Google E-Tablolar hücrelerinin sonundan veri çıkarmanıza da yardımcı olur:
=ArrayFormula(RIGHT(A2:A7,2))
Google E-Tablolar'da hücrelerin ortasından veri ayıklama
Hücrelerin başından ve sonundan veri çıkarmak için işlevler varsa, ortasından da veri çıkarmak için bir işlev olmalıdır. Ve evet - bir tane var.
Buna MID deniyor:
MID(string, starting_at, extract_length)- Dize - orta kısmını çıkarmak istediğiniz metni seçin.
- starting_at - verileri almaya başlamak istediğiniz karakterin konumu.
- extract_length - çıkarmanız gereken karakter sayısı.
Aynı telefon numaraları örneğiyle, telefon numaralarını ülke kodları ve ülke kısaltmaları olmadan bulalım:
Ülke kodları 6. karakterle bittiği ve 7. karakter tire olduğu için 8. haneden başlayarak rakamları çekeceğim. Ve toplamda 8 hane elde edeceğim:
=MID(A2,8,8)
İpucu: Bir hücreyi tüm aralık olarak değiştirmek ve ArrayFormula'ya sarmak, her hücre için sonucu bir kerede almanızı sağlayacaktır:
=ArrayFormula(MID(A2:A7,8,8))
Dizelerden metin/sayı ayıklama
Bazen metni konuma göre ayıklamak (yukarıda gösterildiği gibi) bir seçenek değildir. Gerekli dizeler hücrelerinizin herhangi bir yerinde bulunabilir ve her hücre için farklı formüller oluşturmanızı gerektiren farklı sayıda karakterden oluşabilir.
Ancak Google E-Tablolar, dizelerden metin çıkarmaya yardımcı olacak başka işlevlere sahip olmasaydı Google E-Tablolar olmazdı.
Elektronik tabloların sunduğu birkaç olası yolu gözden geçirelim.
Belirli bir metinden önceki verileri ayıklayın - SOL+ARAMA
Belirli bir metinden önce gelen verileri ayıklamak istediğinizde SOL + ARAMA tuşlarını kullanın:
- SOL hücrelerin başından itibaren (sollarından) belirli sayıda karakter döndürmek için kullanılır
- ARAMA belirli karakterleri/dizeleri arar ve konumlarını alır.
Bunları birleştirin - ve LEFT, SEARCH tarafından önerilen karakter sayısını döndürecektir.
İşte bir örnek: her 'ea'dan önce metinsel kodları nasıl çıkarırsınız?
Benzer durumlarda size yardımcı olacak formül budur:
=LEFT(A2,SEARCH("ea",A2)-1)
İşte formülde olan şey:
- SEARCH("ea",A2) A2'de 'ea' arar ve her hücre için bu 'ea'nın başladığı konumu döndürür - 10.
- Yani 10. pozisyon 'e'nin bulunduğu yerdir. Ancak her şeyin 'ea'dan hemen önce olmasını istediğimden, bu pozisyondan 1 çıkarmam gerekir. Aksi takdirde, 'e' de döndürülür. Sonuçta 9 elde ederim.
- SOL A2'ye bakar ve ilk 9 karakteri alır.
Metinden sonra verileri ayıklayın
Belirli bir metin dizesinden sonraki her şeyi almak için de araçlar vardır. Ancak bu sefer, RIGHT yardımcı olmaz. Bunun yerine, REGEXREPLACE sırasını alır.
İpucu: REGEXREPLACE düzenli ifadeler kullanır. Bunlarla uğraşmaya hazır değilseniz, aşağıda açıklanan çok daha kolay bir çözüm vardır. REGEXREPLACE(text, regular_expression, replacement)
- Metin değişiklik yapmak istediğiniz bir dize veya hücredir
- regular_expression aradığınız metnin bir bölümünü temsil eden karakter kombinasyonudur
- değiştirme bunun yerine ne almak istiyorsanız Metin
Peki, belirli bir metinden (benim örneğimde 'ea') sonraki verileri ayıklamak için bunu nasıl kullanıyorsunuz?
Kolay - bu formülü kullanarak:
=REGEXREPLACE(A2,"(.*)ea(.*)","$2")
Bu formülün tam olarak nasıl çalıştığını açıklayayım:
- A2 verileri çıkardığım bir hücredir.
- "(.*)ea(.*)" 'ea'yı arıyorum ve diğer tüm karakterleri parantez içine alıyorum. 2 grup karakter var - 'ea'dan önceki her şey ilk grup (.*) ve 'ea'dan sonraki her şey ikinci grup (.*). Maskenin tamamı çift tırnak içine alınır.
- "$2" elde etmek istediğim şeydir - önceki argümandan ikinci grup (dolayısıyla numarası 2).
İpucu: Düzenli ifadelerde kullanılan tüm karakterler bu özel sayfada toplanmıştır.
Google E-Tablolar hücrelerinden sayıları ayıklama
Ya yalnızca konumları ve &'den önce gelenler önemli olmadığında sayıları çıkarmak istiyorsanız?
Maskeler (diğer adıyla düzenli ifadeler) de yardımcı olacaktır. Aslında, aynı REGEXREPLACE işlevini alıp düzenli ifadeyi değiştireceğim:
=REGEXREPLACE(A2,"[^[:digit:]]", "")
- A2 bu sayıları almak istediğim bir hücredir.
- "[^[:digit:]]" rakamlar hariç her şeyi alan bir düzenli ifadedir. ^caret sembolü rakamlar için bir istisna oluşturur.
- "" sayısal karakterler dışındaki her şeyi "hiçbir şey" ile değiştirir. Veya başka bir deyişle, hücrelerde yalnızca sayılar bırakarak tamamen kaldırır. Veya sayıları çıkarır :)
Sayıları ve diğer karakterleri yok sayarak metni ayıklayın
Benzer şekilde, Google E-Tablolar hücrelerinden yalnızca alfabetik verileri çıkarabilirsiniz. Metin anlamına gelen düzenli ifadenin kısaltması buna göre - alfa olarak adlandırılır:
=REGEXREPLACE(A2,"[^[:alpha:]]", "")
Bu formül harfler (A-Z, a-z) hariç her şeyi alır ve kelimenin tam anlamıyla "hiçbir şey" ile değiştirir. Ya da başka bir şekilde söylemek gerekirse, sadece harfleri çıkarır.
Google E-Tablolar hücrelerinden veri çekmenin formülsüz yolları
Çeşitli veri türlerini ayıklamak için formül gerektirmeyen kolay bir yol arıyorsanız, doğru yere geldiniz. Power Tools eklentimiz tam da bu iş için gereken araçlara sahip.
Power Tools eklentilerini kullanarak farklı veri türlerini ayıklama
Bilmenizi istediğim ilk aracın adı Extract. Bu makalede tam olarak aradığınız şeyi yapıyor - Google E-Tablolar hücrelerinden farklı veri türlerini çıkarıyor.
Kullanıcı dostu ayarlar
Yukarıda ele aldığım tüm durumlar sadece eklenti ile çözülebilir değildir. Araç kullanıcı dostudur Bu nedenle tek yapmanız gereken işlemek istediğiniz aralığı seçmek ve gerekli onay kutularını işaretlemektir. Formül yok, düzenli ifadeler yok.
REGEXREPLACE ve düzenli ifadeler ile bu makalenin ikinci noktasını hatırlıyor musunuz? İşte eklenti için ne kadar basit olduğunu:
Ekstra seçenekler
Gördüğünüz gibi, bazı ekstra seçenekler (sadece onay kutuları) yapabileceğiniz hızlıca açma/kapama en kesin sonucu elde etmek için:
- Yalnızca gerekli metin durumunun dizelerini alın.
- Her hücreden tüm oluşumları çıkarın ve bunları tek bir hücreye veya ayrı sütunlara yerleştirin.
- Kaynak verilerin sağına sonucu içeren yeni bir sütun ekleyin.
- Kaynak verilerden çıkarılan metni temizleyin.
Farklı veri türlerini ayıklama
Power Tools yalnızca belirli metin dizelerinden ve ilk/son N karakterden önceki/sonraki/arasındaki verileri çıkarmakla kalmaz; aynı zamanda aşağıdakileri de çıkarır:
- Sayılar, ondalık/binlik ayrımları bozulmadan ondalıklarıyla birlikte:
Her yerden herhangi bir veri dizisini ayıklayın
Ayrıca kendi tam deseninizi ayarlama ve çıkarma için kullanma seçeneği de vardır. Maske ile ekstrakt ve joker karakterleri - * ve ? - İşe yarar:
- Örneğin, aşağıdaki maskeyi kullanarak parantezler arasındaki her şeyi ortaya çıkarabilirsiniz: (*)
- Veya kimliklerinde yalnızca 5 numara olan SKU'ları alın: SKU?????
- Ya da aşağıdaki ekran görüntüsünde gösterdiğim gibi, her hücredeki her 'ea'dan sonraki her şeyi çekin: ea*
Zaman damgalarından tarih ve saati çıkarma
Bonus olarak, zaman damgalarından tarih ve saati çıkaracak daha küçük bir araç var - buna Split Date & Time deniyor.
İlk etapta zaman damgalarını bölmek için yaratılmış olsa da, istenen birimlerden birini ayrı ayrı elde etmek için mükemmel bir yeteneğe sahiptir:
Google E-Tablolar'daki zaman damgalarından ne ayıklamak istediğinize (tarih veya saat) bağlı olarak onay kutularından birini seçin ve Bölünmüş Gerekli birim yeni bir sütuna kopyalanacaktır (veya son onay kutusunu da seçerseniz orijinal verinin yerini alacaktır):
Bu araç aynı zamanda Power Tools eklentisinin bir parçasıdır, bu nedenle Google E-Tablolar hücrelerinden herhangi bir veri almak için yüklediğinizde, sizi tamamen kapsar. Değilse, lütfen bir yorum bırakın ve size yardımcı olalım :)