Doğru prompt verdiysem şöyle:
Bu işlemi gerçekleştirecek bir Excel formülü yazmak doğrudan mümkün değildir çünkü Excel'in standart fonksiyonları bu tür bir aramayı ve ardından veriyi yazmayı desteklemez. Ancak, bu işi yapmak için bir VBA makrosu kullanabilirsiniz. Aşağıda, istediğiniz işlemi gerçekleştirecek bir VBA makrosu bulunmaktadır:
- Excel çalışma kitabınızı açın.
- Alt + F11 tuşlarına basarak VBA editörünü açın.
- Insert menüsünden Module'ü seçin ve yeni bir modül ekleyin.
- Aşağıdaki kodu bu modüle yapıştırın:
Sub AraVeKopyala()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim aranan As String
Dim sonSatir As Long
Dim bulunmaAdresi As Range
Dim hedefSatir As Long
' İlk ve ikinci sayfaları tanımlayın
Set ws1 = ThisWorkbook.Sheets("Sayfa1")
Set ws2 = ThisWorkbook.Sheets("Sayfa2")
' İlk sayfadaki A1 hücresindeki değeri alın
aranan = ws1.Range("A1").Value
' İkinci sayfadaki son satırı bulun
sonSatir = ws2.Cells(ws2.Rows.Count, "A").End(xlUp).Row
' A2 hücresinden itibaren sonuçları yazacağımız satırı belirleyin
hedefSatir = 2
' İkinci sayfadaki tüm hücreleri arayın
For Each cell In ws2.Range("A1:A" & sonSatir)
If cell.Value = aranan Then
' Eşleşme bulundu, sağındaki hücrenin değerini alın
Set bulunmaAdresi = cell.Offset(0, 1)
' Değeri ilk sayfadaki A sütununa yazın
ws1.Cells(hedefSatir, 1).Value = bulunmaAdresi.Value
' Sonraki satıra geçin
hedefSatir = hedefSatir + 1
End If
Next cell
End Sub- VBA editöründen çıkın.
- Excel'de Geliştirici sekmesine gidin ve "Makrolar" butonuna tıklayın.
- "AraVeKopyala" makrosunu seçin ve "Çalıştır" butonuna tıklayın.
Bu makro, Sayfa1'deki A1 hücresindeki değeri, Sayfa2'de arar ve eşleşen hücrelerin sağındaki değerleri, Sayfa1'de A2 hücresinden başlayarak altına doğru yazar.