Eğerara(düşeyara) formül yapma

gicimi

Altın Üye
Katılım
3 Şubat 2008
Mesajlar
593
Excel Vers. ve Dili
Office 2016 Eng. 64 Bit
Altın Üyelik Bitiş Tarihi
21-11-2024
Merhaba,

Ekteki excel çalışması konusunda yardımcı olabilir misiniz_? Açıklama sayfalar da mevcut.

Yardımlarınız için teşekkür ederim.
 

Ekli dosyalar

Ö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.
Aşağıdaki kod'u kullanabilirsiniz.
Kod:
Sub VERİBUL_BARAN()
Dim s1 As Worksheet: Set s1 = Sheets("Sayfa1")
Dim s2 As Worksheet: Set s2 = Sheets("Sayfa2")
Dim s3 As Worksheet: Set s3 = Sheets("Sayfa3")

For s2a = 2 To s2.[A65536].End(3).Row
    s2satır = s2.[B65536].End(3).Row + 1
        If WorksheetFunction.CountIf(s1.Range("A1:A" & s1.[A65536].End(3).Row), s2.Cells(s2satır, 1)) = 0 Then GoTo 10
            s1satır = WorksheetFunction.Match(s2.Cells(s2satır, 1), s1.Range("A1:A" & s1.[A65536].End(3).Row), 0)
                s2.Cells(s2satır, 2) = s1.Cells(s1satır, 2)
                s2.Cells(s2satır, 3) = s1.Cells(s1satır, 3)
                s2.Cells(s2satır, 4) = s1.Cells(s1satır, 4)
                s2.Cells(s2satır, 5) = s1.Cells(s1satır, 5)
                s2.Cells(s2satır, 6) = s1.Cells(s1satır, 6)
                s2.Cells(s2satır, 7) = s1.Cells(s1satır, 7)
                s2.Cells(s2satır, 8) = s1.Cells(s1satır, 8)
                s2.Cells(s2satır, 9) = s1.Cells(s1satır, 9)
10: Next

For s3a = 2 To s3.[B65536].End(3).Row
    s3satır = s3.[A65536].End(3).Row + 1
        If WorksheetFunction.CountIf(s1.Range("B1:B" & s1.[B65536].End(3).Row), s3.Cells(s3satır, 2)) = 0 Then GoTo 20
            s1satır = WorksheetFunction.Match(s3.Cells(s3satır, 2), s1.Range("B1:B" & s1.[B65536].End(3).Row), 0)
                s3.Cells(s3satır, 1) = s1.Cells(s1satır, 1)
                s3.Cells(s3satır, 3) = s1.Cells(s1satır, 3)
                s3.Cells(s3satır, 4) = s1.Cells(s1satır, 4)
                s3.Cells(s3satır, 5) = s1.Cells(s1satır, 5)
                s3.Cells(s3satır, 6) = s1.Cells(s1satır, 6)
                s3.Cells(s3satır, 7) = s1.Cells(s1satır, 7)
                s3.Cells(s3satır, 8) = s1.Cells(s1satır, 8)
                s3.Cells(s3satır, 9) = s1.Cells(s1satır, 9)
20: Next
MsgBox " İŞLEM TAMAMLANDI "
End Sub
 

gicimi

Altın Üye
Katılım
3 Şubat 2008
Mesajlar
593
Excel Vers. ve Dili
Office 2016 Eng. 64 Bit
Altın Üyelik Bitiş Tarihi
21-11-2024
Ömer Bey Teşekkür ederim Formül olarak yardımcı olabilir misiniz_?
 

Ö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.
Sayfa2 'de B2 hücresine;
Kod:
=EĞER(EHATALIYSA(KAÇINCI($A2;Sayfa1!$A$2:$A$18;0));"";İNDİS(Sayfa1!$A$2:$I$18;KAÇINCI($A2;Sayfa1!$A$2:$A$18;0);SÜTUN()))
formülünü uygulayıp sağa ve aşağı doğru kopyalayın.

Sayfa3 'de A2 hücresine;
Kod:
=EĞER(EHATALIYSA(KAÇINCI($B2;Sayfa1!$B$2:$B$18;0));"";İNDİS(Sayfa1!$A$2:$I$18;KAÇINCI($B2;Sayfa1!$B$2:$B$18;0);SÜTUN()))
formülünü uygulayın, C ve devamındaki sütunlarda 2'nci satıra kopyalayın,
ardından da A2'yi aşağı doğru ve C2:I2 hücrelerini de aşağı doğru kopyalayın.
 

gicimi

Altın Üye
Katılım
3 Şubat 2008
Mesajlar
593
Excel Vers. ve Dili
Office 2016 Eng. 64 Bit
Altın Üyelik Bitiş Tarihi
21-11-2024
Çok Teşekkür ederim. İyi Çalışmalar.
 

gicimi

Altın Üye
Katılım
3 Şubat 2008
Mesajlar
593
Excel Vers. ve Dili
Office 2016 Eng. 64 Bit
Altın Üyelik Bitiş Tarihi
21-11-2024
Sayfa2 'de B2 hücresine;
Kod:
=EĞER(EHATALIYSA(KAÇINCI($A2;Sayfa1!$A$2:$A$18;0));"";İNDİS(Sayfa1!$A$2:$I$18;KAÇINCI($A2;Sayfa1!$A$2:$A$18;0);SÜTUN()))
formülünü uygulayıp sağa ve aşağı doğru kopyalayın.

Sayfa3 'de A2 hücresine;
Kod:
=EĞER(EHATALIYSA(KAÇINCI($B2;Sayfa1!$B$2:$B$18;0));"";İNDİS(Sayfa1!$A$2:$I$18;KAÇINCI($B2;Sayfa1!$B$2:$B$18;0);SÜTUN()))
formülünü uygulayın, C ve devamındaki sütunlarda 2'nci satıra kopyalayın,
ardından da A2'yi aşağı doğru ve C2:I2 hücrelerini de aşağı doğru kopyalayın.
Ömer Bey Merhaba

Bir konu hakkında bilgi almak istiyorum. Vermiş olduğunuz formül çalışıyor ama ben farklı bir excel sayfasında denediğimde hata vermiyor ama veriyi de getirmiyor. Bu durumda neye dikkat etmeliyim.
 

Ö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.
Ömer Bey Merhaba

Bir konu hakkında bilgi almak istiyorum. Vermiş olduğunuz formül çalışıyor ama ben farklı bir excel sayfasında denediğimde hata vermiyor ama veriyi de getirmiyor. Bu durumda neye dikkat etmeliyim.
Hata/yanlış sonuç veren belgenizin yapısını görmek lazım.

Verdiğim formülün yapısı şu şekilde:
Kod:
=EĞER(EHATALIYSA(KAÇINCI($A2;Sayfa1!$A$2:$A$18;0));"";İNDİS([COLOR="blue"][B]Sayfa1!$A$2:$I$18[/B][/COLOR];KAÇINCI($A2;Sayfa1!$A$2:$A$18;0);SÜTUN()))
Yukarıdaki formül malum İNDİS işlevinin kullanıldığı bir formül.
-- Veri getirilecek alan diğer sayfa A:I sütun aralığındadır.
-- A sütunundaki veri, diğer sayfanın A sütununda kaçıncı satırda ise o satırdaki,
-- formülün bulunduğu hücre B sütununda ise 2'nci, C sütununda ise 3'üncü (yani sütun numarasına göre) sütundaki veriyi getirir.
Örneğin formülü yazdığınız sayfadaki tablonuz A sütunu yerine C sütunundan başlasaydı,
yani formülü ( ilk formülü D sütununa yazsaydık) formülün;
--- KAÇINCI($A2;Sayfa1!$A$2:$A$18;0) kısmı KAÇINCI($C2;Sayfa1!$A$2:$A$18;0),
-- Hangi sütündaki verinin geleceğini belirleyen SÜTUN() kısmı ise SÜTUN()-3 olacaktı.
Doğrudan İNDİS formülü yerine önce formüldeki KAÇINCI ve SÜTUN() kısımlarını aynı hücrelere uygulayıp aşağı ve sağa kopyalarak test ediniz.

Ayrıca forumda İNDİS işlevini araştırmanızı, örnek belgelerde denemeler yapmanızı öneririm.
 
Üst