Tablodaki değere karşılık gelen A sütunu değeri

umitumit

Altın Üye
Katılım
5 Eylül 2006
Mesajlar
364
Excel Vers. ve Dili
Excel 2016
Türkçe
Altın Üyelik Bitiş Tarihi
13-07-2028
Selamlar,

B3:S24 arası (daha fazlasıda olabilir) rakamlardan oluşan bir tablom var.

ARA formulü ile tablonun herhangi bir değerinin A sütunundaki karşılığını bulmak istiyorum.

Ekli dosyada da göreceğiniz gibi, 39 a kadar olan sayılarda doğru cevap alıyorken, 40 ve üzeri rakamlar için yanlış cevap alıyorum.

Sebebi nedir?
Doğru cevap almak için farklı formül veya yöntemler var mı?

Teşekkürler
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Anladığım kadarıyla o formül sadece tek sütundaki değerleri arıyor ya da düzgün çalışması için verilerinizin sütun sütun küçükten büyüğe sıralanmış olması gerekiyor. Verileriniz satırda yana gittikçe arttığı için sıralama bozuluyor ve formül doğru çalışmıyor.

Aşağıdaki kodları ilgili sayfanın kod bölümüne yapıştırıp denerseniz V3 hücresi her değiştiğinde W3 hücresine istediğiniz sonucu yazar:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("V3")) Is Nothing Then Exit Sub
For i = 3 To 24
    For j = 2 To 19
        If Cells(i, j) = Target Then
            Target.Offset(0, 1) = Cells(i, "A")
            i = 24
            j = 19
        End If
    Next
Next
End Sub
 

umitumit

Altın Üye
Katılım
5 Eylül 2006
Mesajlar
364
Excel Vers. ve Dili
Excel 2016
Türkçe
Altın Üyelik Bitiş Tarihi
13-07-2028
Sayın YUSUF bey,

Çözüm öneriniz için teşekkürler ama benim 1 den 200 e kadar aşağı doğru sıralanan bir listeye, tüm değerler için tablodan cevap bulmam gerekiyor.

Yani W3 e yazılacak formulü aşağı doğru çekip W203 e kadar uzatacaktım.

Anladığım kadarıyla V3:V203 arası her hücre için ayrı makro yazmam gerekecek.

veya daha pratik bir yöntem var mı?
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.
Sanırım YUSUF Bey şu an yok, müsadesiyle öneride bulunayım dedim.

KOD'a ilişkin açıklama;
For i = 3 To 24 kısmındaki 3 ve 24 veri tablonuzun satır numaraları (3-24'üncü satırlar),
For j = 2 To 19 kısmındaki 2 ve 19 'da veri tablonuzun sütun numaralarıdır (yani B-S sütun aralığı).

Kod'daki ikinci satırı aşağıdaki ile değiştirin.
V sütununda bir hücrede değişiklik yapıldığında otomatik olarak sonuç alırsınız.
V3'ten V sütunundaki son dolu satıra kadar işlem yapılır.
Kod:
If Intersect(Target, Range("V3[B][COLOR="Blue"]:V" & [V65536].End(3).Row[/COLOR][/B])) Is Nothing Then Exit Sub
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Teşekkürler sayın Ömer Baran.

Ömer Bey doğru önermiş. Verdiği şekliyle yaparsanız son dolu hücreye kadar işler. Aşağıdaki gibi yaparsanız son dolu hücreden sonrakihücre için de çalışır:

Kod:
 If Intersect(Target, Range("V3:V" & [V65536].End(3).Row+1)) Is Nothing Then Exit sub
Ya da kodda ki v3 yerine çalışmasını istediğiniz aralığı belirtebilirsiniz:

Kod:
If Intersect(Target, Range("V3:V203"))  Is Nothing Then Exit sub
Yaparsanız V3:V203 aralığında çalışır.
 
Son düzenleme:

umitumit

Altın Üye
Katılım
5 Eylül 2006
Mesajlar
364
Excel Vers. ve Dili
Excel 2016
Türkçe
Altın Üyelik Bitiş Tarihi
13-07-2028
Teşekkür etmeyi unuttuğum bir konumu buldum.
Biraz gecikmelide olsa; "TEŞEKKÜRLER"
 
Üst