• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Soru İNDİS ile veri çağırmak

Katılım
2 Şubat 2022
Mesajlar
37
Excel Vers. ve Dili
Microsoft Excel 2013
Merhaba arkadaşlar.. Data sayfasından başka bir sayfaya veri çekiyorum. Veri çektiğim Data sayfasında 3 tane alt alta "SONUÇLAR" başlıklı tablo var. Benim istediğim ise ilk SONUÇLAR tablosunu pas geçip 2 ve 3'üncü SONUÇLAR tablolarının altındaki verileri alması.

Kullandığım kod şu şekilde

Kod:
=EĞER(İNDİS(Data!$A$19:$A$200;KAÇINCI("SONUÇLAR";Data!$A$19:$A$200;1)+2;1)<>"";İNDİS(Data!$A$19:$A$200;KAÇINCI("SONUÇLAR";Data!$A$19:$A$200;0)+2;1);"")
 
Başka bir yol söylesem.
Data sayfanızdaki Sonuçlar isimli tablolarınızı EKLE/TABLO menüsünden Excel Tablosu (ListObject) olarak tanımlayıp kullansanız, tüm formülleriniz rahatlayacaktır.
 
Başka bir yol söylesem.
Data sayfanızdaki Sonuçlar isimli tablolarınızı EKLE/TABLO menüsünden Excel Tablosu (ListObject) olarak tanımlayıp kullansanız, tüm formülleriniz rahatlayacaktır.

Cevabınız için teşekkürler. Data sayfasına internet sitesinden veri çekiyorum ve tablolar sabit olmuyor yukarı veya aşağı kayabiliyor o nedenle indis kullanmam gerektiğini düşündüm sizin bahsettiğiniz işlem benim işimi görebilir mi?
 
Dediğim olur.
Dİğer bir yöntem
KAÇINCI("SONUÇLAR";Data!$A$19:$A$200;1)
yerine
MAK(($A$19:$A$200="Sonuçlar")*SATIR($A$19:$A$200))
şeklinde yazarsanız, A sütununda eğer Sonuçlar ifadesi varsa bunlardan en alttakinin satır numarasını döndürür
 
Dediğim olur.
Dİğer bir yöntem
KAÇINCI("SONUÇLAR";Data!$A$19:$A$200;1)
yerine
MAK(($A$19:$A$200="Sonuçlar")*SATIR($A$19:$A$200))
şeklinde yazarsanız, A sütununda eğer Sonuçlar ifadesi varsa bunlardan en alttakinin satır numarasını döndürür

Deneyeceğim teşekkürler. Bende 3 tane Sonuçlar tablosu var alt alta duruyorlar sadece ilk tablodaki bilgileri almak istemiyorum bu kodlar işimi görecektir sanırım
 
Son düzenleme:
İlk mesajınızda
ilk SONUÇLAR tablosunu pas geçip 2 ve 3'üncü SONUÇLAR tablolarının altındaki verileri alması
Bu sorunun cevabı benim dediğim.

Son mesajınızda
Bende 3 tane Sonuçlar tablosu var alt alta duruyorlar sadece ilk tablodaki bilgileri almak istiyorum
Bu sorunun cevabı sizin ilk mesajınızda kullandığınız formülünüz.
 
İlk mesajınızda
ilk SONUÇLAR tablosunu pas geçip 2 ve 3'üncü SONUÇLAR tablolarının altındaki verileri alması
Bu sorunun cevabı benim dediğim.

Son mesajınızda
Bende 3 tane Sonuçlar tablosu var alt alta duruyorlar sadece ilk tablodaki bilgileri almak istiyorum
Bu sorunun cevabı sizin ilk mesajınızda kullandığınız formülünüz.

evet yanlış yazmışım düzelttim 3 tablodan sadece ilk tabloda ki bilgileri almak istemiyorum :)
 
İlk mesajınızda
ilk SONUÇLAR tablosunu pas geçip 2 ve 3'üncü SONUÇLAR tablolarının altındaki verileri alması
Bu sorunun cevabı benim dediğim.

Son mesajınızda
Bende 3 tane Sonuçlar tablosu var alt alta duruyorlar sadece ilk tablodaki bilgileri almak istiyorum
Bu sorunun cevabı sizin ilk mesajınızda kullandığınız formülünüz.


Denedim ancak olmadı hocam bana iki adet kod lazım birinci kod 2. tablodaki verileri alacak ve ikinci kod 3. tablodaki verileri alacak ilk tabloyu istemiyorum bela oldu bana :)
 
İlk formülünüzdeki
KAÇINCI("SONUÇLAR";Data!$A$19:$A$200;1)

olan kısımları aşağıdakiyle değiştirerek 2.sonuçlar tablonuzu
BÜYÜK(($A$19:$A$200="Sonuçlar")*SATIR($A$19:$A$200);2)

Bu formülün sonundaki 2 olan yeri 3 yaparak 3.sonuçlar tablonuzu bulabilirsiniz.

Not1: Formüller Dizi formülğü olacak.
Not2: Örnek dosyanız olmadığı için ne sizin yazdığınız formülü ne de gösterdiğim ilaveyi deneyemedim. Sizin formül en azından 1.tablo için doğru sonuç döndürüyorsa verdiğim düzeltmeleri yaptığınızda sonuçlar istediğiniz gibi gelecektir.
 
BÜYÜK(($A$19:$A$200="Sonuçlar")*SATIR($A$19:$A$200);2)

Teşekkür ederim bahsettiğiniz gibi koda ekledim ancak excel formülü kabul etmedi bir hata var ama bulamadım nereden kaynaklandığını bir parantez hatası yada başka bir sorun oldu

Kod:
=EĞER(İNDİS(Data!$A$19:$A$200;BÜYÜK((Data!$A$19:$A$200="Sonuçlar")*SATIR(Data!$A$19:$A$200);2)<>"";İNDİS(Data!$A$19:$A$200;BÜYÜK((Data!$A$19:$A$200="Sonuçlar")*SATIR(Data!$A$19:$A$200);2)
 
Kendi formülünüz şöyleydi
EĞER(İNDİS(Data!$A$19:$A$200;KAÇINCI("SONUÇLAR";Data!$A$19:$A$200;1)+2;1)<>"";İNDİS(Data!$A$19:$A$200;KAÇINCI("SONUÇLAR";Data!$A$19:$A$200;0)+2;1);"")

Değiştirmenizi istediğim yer aşağıdaki kısımlar, diğer bir deyişle yukarıdaki kırmızı yerlerdi
KAÇINCI("SONUÇLAR";Data!$A$19:$A$200;1) ve buna benzeyen formülünüzdeki diğer kaçıncı fonksiyonu.

Ancak siz bold karakterle belirttiğim alanı da silmişsiniz. O kısımlar sizin İndis fonksiyonlarınızın parçası.
Not olarak, o kısımlarda 1 ifadesini fazladan kullanıyorsunuz.
=İndis(AralıkAdresi;SıraNumarası;SütunNumarası)

Burada sütun numarasına ihtiyacınız yok. Aşağıdaki hali yeterlidir.
=İndis(AralıkAdresi;SıraNumarası)

Bu formmata size verdiğim örnek sadece Sıra Numarasının bir parçasıdır. +2 ifadesini silmeyeceksiniz.
 
Denemekten çekindikçe ilerlemenizi yavaşlatıyorsunuz.

Verdiğiniz formülün doğru olduğunu kabul ediyorum.
Aşağıdaki hali 2.sonuçlar tablosundaki verileri getirir.

Kod:
=EĞER(İNDİS(Data!$A$19:$A$200;BÜYÜK(($A$19:$A$200="Sonuçlar")*SATIR($A$19:$A$200);2)+2;1)<>"";İNDİS(Data!$A$19:$A$200;BÜYÜK(($A$19:$A$200="Sonuçlar")*SATIR($A$19:$A$200);2)+2;1);"")

Not 1: 3. sonuçlar tablosunu kullanmak istediğinizde ne yapacağınızı yukarıda açıklamıştım
Not 2: Dizi formülü olduğunu yukarıda açıklamıştım. Dizi formülü tanımlamak için mouse formül içinde iken Ctrl+Shift + Enter ile giriniz.
 
=EĞER(İNDİS(Data!$A$19:$A$200;BÜYÜK(($A$19:$A$200="Sonuçlar")*SATIR($A$19:$A$200);2)+2;1)<>"";İNDİS(Data!$A$19:$A$200;BÜYÜK(($A$19:$A$200="Sonuçlar")*SATIR($A$19:$A$200);2)+2;1);"")

Çözüldü yardımınız için teşekkür ederim
 
Son düzenleme:
Geri
Üst