Excel'de ikinci boşluk veya virgülün öncesinde/sonrasında metin nasıl çıkarılır?
Excel'de metin verileriyle çalışırken, birden fazla boşluk, virgül veya diğer ayırıcılar içeren dizelerle sıkça karşılaşabilirsiniz. Excel'in Metni Sütunlara Ayır özelliği bir hücrenin içeriğini seçilen bir ayırıcıya göre ayrı sütunlara bölebilse de, bazen daha özel bir çözüme ihtiyacınız olabilir — örneğin, bir hücredeki ikinci boşluk veya virgülden önceki veya sonraki her şeyi çıkarmak isteyebilirsiniz. Bu makale, ikinci boşluk/virgülden önce veya sonra gelen metni hedefleyen formüller, otomasyon veya büyük veri setleri için VBA makroları kullanarak sağlam çözümler ve gelişmiş veri ön işleme için Power Query kullanarak esnek seçenekler olmak üzere bu işlemi gerçekleştirmek için çeşitli pratik yöntemler açıklamaktadır.
İkinci boşluk veya virgülden önceki metni formülle çıkarma
İkinci boşluk veya virgülden sonraki metni formülle çıkarma
VBA kodu ile ikinci ayırıcıdan (boşluk/virgül) önce veya sonraki metni çıkarma
İkinci boşluk veya virgülden önceki metni formülle çıkarma
Bir hücrede ikinci boşluğun öncesinde görünen kısmı izole etmek istiyorsanız, Excel fonksiyonlarının bir kombinasyonunu kullanabilirsiniz.
1. Sonucu göstermek istediğiniz boş bir hücreye (örneğin, C2 hücresi) aşağıdaki formülü girin:
=IF(ISERROR(FIND(" ",A2,FIND(" ",A2,1)+1)),A2,LEFT(A2,FIND(" ",A2,FIND(" ",A2,1)+1)))
2. Enter tuşuna basın. Daha sonra formülü işlemek istediğiniz tüm satırlar boyunca doldurma tutamağını sürükleyin. Sonuç, her ilgili satırdaki ikinci boşluktan önceki tüm metni gösterecektir — aşağıdaki ekran görüntüsüne bakın:
İpucu: İkinci virgülden veya başka bir ayırıcıdan önceki metni çıkarmak istiyorsanız, formüldeki boşluk karakterini (" "
) istediğiniz ayırıcı ile değiştirin. Örneğin, virgül için:
=IF(ISERROR(FIND(",",A2,FIND(",",A2,1)+1)),A2,LEFT(A2,FIND(",",A2,FIND(",",A2,1)+1)))
Bu yaklaşım, tek seferlik çıkarmalar için veya orta büyüklükteki veri setleriyle çalışırken hızlı ve etkilidir. Ancak, metin oldukça düzensizse veya satırlar arasındaki ayırıcı sayısı çok farklıysa, ek formül ayarlamaları gerekebilir. Ayrıca, sonuçları etkileyebilecek fazladan boşluklar veya boş hücrelerden dikkatli olun. Kritik verilere uygularken her zaman çıktıyı iki kez kontrol edin.

Kutools AI ile Excel Sihirini Keşfedin
- Akıllı Yürütme: Hücre işlemleri gerçekleştirin, verileri analiz edin ve grafikler oluşturun—tümü basit komutlarla sürülür.
- Özel Formüller: İş akışlarınızı hızlandırmak için özel formüller oluşturun.
- VBA Kodlama: VBA kodunu kolayca yazın ve uygulayın.
- Formül Yorumlama: Karmaşık formülleri kolayca anlayın.
- Metin Çevirisi: Elektronik tablolarınız içindeki dil engellerini aşın.
İkinci boşluk veya virgülden sonraki metni formülle çıkarma
Bir hücrede ikinci boşluk ayırıcısından sonraki metni çıkarmak için MID
ve FIND
fonksiyonlarını birlikte kullanabilirsiniz.
1. Hedef hücreye (örneğin, D2) aşağıdaki formülü girin:
=MID(A2, FIND(" ", A2, FIND(" ", A2)+1)+1,256)
2. Enter tuşuna basın. Çıkarmayı yapmak istediğiniz tüm satırlar boyunca doldurma tutamağını sürükleyin. Bu, her satır için ikinci boşluktan sonra gelen her şeyi gösterecektir — aşağıdaki ekran görüntüsünde gösterildiği gibi:
İpucu: İkinci virgülden veya başka bir ayırıcıdan sonraki metni çıkarmak için formüldeki boşluk karakterini gerekli ayırıcı ile değiştirin. Virgül için formül şu şekilde olacaktır:
=MID(A2, FIND(",", A2, FIND(",", A2)+1)+1,256)
VBA kodu ile ikinci ayırıcıdan (boşluk/virgül) önce veya sonraki metni çıkarma
Daha büyük veri setleri, tekrarlanan çıkarmalar veya otomasyon senaryoları için, VBA makrosu kullanmak etkili bir çözümdür. VBA, farklı veri yapılarıyla çalışırken veya tekrarlanabilir bir rutine ihtiyaç duyulduğunda verimliliği artıran ikinci boşluk, virgül veya başka bir ayırıcıdan önce veya sonraki metni çıkmanıza olanak tanır.
1. Geliştirici > Visual Basic seçin. Açılan Microsoft Visual Basic for Applications penceresinde Ekle > Modül'e tıklayın ve aşağıdaki kodu modül penceresine girin:
Sub ExtractTextSecondDelimiter()
Dim rng As Range
Dim cell As Range
Dim sep As String
Dim direction As String
Dim arr As Variant
Dim result As String
Dim pos1 As Long
Dim pos2 As Long
Dim xTitleId As String
Dim outputCell As Range
Dim i As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set rng = Application.InputBox("Select text range to extract from", xTitleId, rng.Address, Type:=8)
If rng Is Nothing Then Exit Sub
sep = Application.InputBox("Enter delimiter (e.g. space or comma)", xTitleId, " ", Type:=2)
If sep = "" Then Exit Sub
direction = Application.InputBox("Type 'before' for text before, 'after' for text after the 2nd delimiter", xTitleId, "before", Type:=2)
If direction = "" Then Exit Sub
Set outputCell = Application.InputBox("Select the first cell to output the result", xTitleId, Type:=8)
If outputCell Is Nothing Then Exit Sub
Application.ScreenUpdating = False
i = 0
For Each cell In rng
If Not IsEmpty(cell.Value) Then
pos1 = InStr(1, cell.Value, sep)
If pos1 > 0 Then
pos2 = InStr(pos1 + 1, cell.Value, sep)
If pos2 > 0 Then
If LCase(direction) = "before" Then
result = Left(cell.Value, pos2 - 1)
ElseIf LCase(direction) = "after" Then
result = Mid(cell.Value, pos2 + Len(sep))
Else
result = cell.Value
End If
Else
result = cell.Value
End If
Else
result = cell.Value
End If
outputCell.Offset(i, 0).Value = result
End If
i = i + 1
Next
Application.ScreenUpdating = True
MsgBox "Extraction completed.", vbInformation, xTitleId
End Sub
2. Kodu yapıştırdıktan sonra Çalıştır düğmesine tıklayın veya F5 tuşuna basın. Bir iletişim kutusu, veri aralığınızı seçmenizi, ardından ayırıcıyı girmenizi, metni “önce” veya “sonra” belirtmenizi ve son olarak sonucu çıkarmak için bir hücre seçmenizi isteyecektir. Makro, belirttiğiniz hücrede çıkarılan sonucu verecektir.
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi güçlendirin, daha önce hiç yaşamadığınız bir verimlilik deneyimini yaşayın. Kutools for Excel, üretkenliğinizi artıracak ve zamanı kaydetmenizi sağlayacak300’den fazla gelişmiş özellik sunar. En çok ihtiyaç duyduğunuz özelliği almak için buraya tıklayın...
Office Tab, Office’e sekmeli arayüz kazandırır ve işinizi çok daha kolaylaştırır
- Word, Excel, PowerPoint’te sekmeli düzenleme ve okuma işlevini etkinleştirin.
- Aynı pencere içerisinde yeni sekmelerde birden fazla belge açın veya oluşturun, yeni pencerelerde açmak yerine.
- Verimliliğinizi %50 artırın, her gün yüzlerce fare tıklamasını sizin için azaltın!