Bir çok insanın karşısına çıkan en büyük sorunlardan bir tanesi bir formda birbiri ile ilişkili iki veya daha fazla liste kullanılması ihtiyacı. Yani bir listede seçilen değere göre başka bir listede farklı seçenekler gösterilmesi. Bunun için basit ancak güncelleme durumunda müdahale isteyen bir yöntem ve biraz daha karmaşık ama çok daha az müdahale isteyen bir yöntem mevcut. İkisini de aşağıdaki sekmelerde bulabilirsiniz.

İlginizi Çekebilecek Diğer Yazılar
Etiketler: , , , , ,
  1. Merhaba,
    Diyelim bir sayfada 5 farklı bölgeden gelen üretim verilerinden önemli gördüklerimi içeren günlük özet bir tablom var. Ayrı bir data sayfasında ben her bir bölge için gelen günlük tüm verileri tek tek işliyorum. Yapmak istediğim ilk sayfada veri doğrulama ile oluşturduğum listeden ilgili tarihi seçtiğim zaman, bana adreslediğim günlük verileri data sayfasından çekip ilgili hücrelere yazan bir uygulama yapmak istiyorum. Bunu kaydır komutu ya da başka bir komut ile en kolay şekilde nasıl yapacağımı bir türlü çözemedim. Özetle tablomdaki verilerin seçtiğim güne göre gösterilmesini istiyorum.

    • Özet tablo derken tam olarak neyi kastediyorsunuz? Excel’in özet tablosunu mu yoksa birden fazla kaynaktan alınarak birleştirilmiş bir tablo mu? Eğer çoklu kaynaklardan gelen bilgilerin toplandığı bir tablo ise Excel Özet Tablo kullanarak bu tarz verileri hızlıca çekebilirsiniz. Yok zaten bir özet tablo var ise bu durumda Özetverial formülü ile özet tabloda yer alan verileri başka bir tabloya taşıyabilirsiniz. Ancak özet tablodaki farklı veriler her zaman aynı adette olmayacağından bu tarz bir formül ile oluşturulan tabloların kontrol edilerek tüm değerleri içerecek şekilde güncellenmesi gereklidir.
      Bir başka yöntem ise Power Query kullanmaktır. Excel 2010’a ek bir yükleme ile eklenebilen bu özellik ile tablolar içinde sorgular yaparak sonuçları başka tablolara aktarma işlemi yapılabilir.

  2. Hocam merhabalar, sizlere bir sorum olacak bu anlattığınız listeyi excell de uyguladım ancak google e- tablolarda uygulayamıyorum. Bu konu hakkında bilginiz var mı?

    • Merhaba,
      Google sheets programı üzerine fazla bir bilgim yok. Excel ile aynı olan komutları var ancak çalışma mantığı biraz daha farklı olabiliyor. O yüzden yardımcı olamıyorum.

  3. Erol Bey merhaba,

    Çalışmanız çok faydalı olmuş emeğinize sağlık. Bir sorum olacak. Aynı sütunda tekrarlanan verileri combobox’a getirmemesi için ne yapmamız gerekiyor ? Makro olmadan bir yolu var mıdır ?

    Başarılarınızın devamını dilerim.

    • Merhaba,

      Önce bir formül ile tekrarlanan verileri içermeyen bir liste oluşturmanız gerekir. Sonrasında bu yeni listeyi combobox’un input range özelliğine girmeniz gerek. Tabii bu eşsiz değerleri farklı bir sütunda tutmanız gerek. Eşsiz değerleri tuttuğunuz bu listeyi bir değişken ad olarak tanımlayıp bu değişken adı da combobox’un input range özelliğine tanıtmanız gerek. Bu bahsettiğim VBA’daki combobox. Eğer hücre içinde açılan listeden bahsediyorsanız bu bahsettiğim aralığı veri doğrulama da kullanmanız gerek.

  4. office 2010 da deniyorum, bu örneği hata almıyorum ancak bölge seçimi yapıldıktan sonra şehirler gelmiyor. ÖRNEK dosya da indirilemiyor.

    • Merhaba,

      Örnek dosyayı indirmeyi denediğimde bende bir hata vermedi. Siz bir hata alıyor musunuz?

      Bu tarz formüllerde, eğer formülü veri doğrulama kısmına yazarsanız, formülde oluşabilecek herhangi bir hatayı fark etme olasılığınız olmaz. Önce formülü hücre içine yazarak bir kontrol etmenizde fayda var.

      Ek olarak Excel’den buraya formülleri aktarırken tırnak işareti farklı bir karakter olarak geliyor. Bunları düzeltmeniz gerekebilir.

      Saygılarımla,

  5. Örnek dosya için buraya tıklayın lütfen. Bu dosyada Koşullu biçimlendirme….

    bu örnek dosyaya tıklandığında 404 hatası veriyor.

  6. Bu uygulama çok güzel bir uygulama olmasına rağmen bir kaç sorunu da beraberinde getiriyor. başlığının 3. maddesini aşağıdaki gibi bir makro ile çözüm bulunabilir.

    excel.web.tr de görmüştüm… Yusuf44 rumuzlu bir arkadaş eklemişti…

    Private Sub Worksheet_Change(ByVal Target As Range) ‘Yusuf44
    If Intersect(Target, [G3]) Is Nothing Then Exit Sub
    Target.Offset(0, 1) = “”
    End Sub

    • Merhaba,

      Bu yöntem tabii ki mükemmel değil, ancak kıyaslandığında avantajları da var. Şahsen bu tarz işlemler için makro kullanmayı pek sevmiyorum, en büyük nedeni bazı işletmelerde makro güvenliği ayarları kullanıcıya bırakılmıyor ve tamamen engelleniyor. Bu durumda hazırladığınız sayfa tamamen işlevsiz kalıyor. Düzenleme gerektiğinde herkesin makro bilgisi olmadığından sıkıntı yaşanabiliyor.

      Bu nedenle eğer Excel formülleri ile yapılabilecek ise mutlaka formül ile yapmaya çalışın. Eğer formüller ile yapılamayacağı kesin ise makro kullanımını düşünün.

      Saygılarımla,

  7. Merhana
    Üstteki ders anlatım giflerini hangi programla yapıyorsunuz. Bir sürü cümleyle anlatmak yerine bu şekilde yapmak çok daha güzel olmuş. Gif yapmayı biliyorum ama photoshop ile… Buradaki gifler sanki video vb. şeklinde çekilim birleştirilmiş boyutlarıda çok değil. Öğretmenim öğrencilere ders anlatımı için kullanmak isterim.

    • Merhaba,

      Ekran görüntüsü almak için tamamen ücretsiz olan ScreentoGif programını kullanıyorum. Eğer ders anlatmak için kullanacaksanız ve uzun videolar çekecekseniz ekran kaydetme araçlarını kullanmanızı tavsiye ederim.

      Saygılarımla,

  8. Teşekkürler ScreentoGif programını indirip denedim. Güzel gerçekten. Uzun videolar çekmeyeceğim örneğin bir problemin çözümünü hızlıca göstermek vb. gibi..Bu programı bilmiyordum öğrenmiş olduk. Teşekkürler.

  9. Merhaba,

    Öncelikle bizlere sunduğunuz bilgiler için teşekkürler.

    Ek olarak sizin örnek çalışmanız üzerinden örneklendirirsek:
    1- listelerde illerin yanına plaka kodlarını yazdığımızı varsayalım
    2- bölgeyi, ili seçip plaka kodu verisini çekmek istiyorum.

    Kaçıncı ile bölgenin sütununu buluyorum, ancak kaçıncı formülü sonucu elde ettiğim sayıyı A:A gibi bir dizi yapıp, indis ile birlikte kullanamıyorum. Bu konuda yardımınızı rica ediyorum.

    • Merhaba,

      A:A adresini INDİS ile beraber kullandığınızda satırlardan oluşan bir dizi elde edersiniz. Burada KAÇINCI ile elde ettiğiniz rakamı İNDİS formülünde satır kısmında kullanmaya dikkat etmeniz gerek:

      =İNDİS(A:A;KAÇINCI(….);)

      gibi. Eğer satır yerine sütun kısmında kullanırsanız “#BAŞ!” hatası alırsınız.

      Eğer satır kısmında kullanmanıza rağmen işlev bir değer döndürmüyor ise “Formüller” sekmesinden “Formül Değerlendir” seçeneği ile hatanın tam olarak nerede olduğunu görebilirsiniz.

      Örnek dosya veya veri olmadığından ancak bunları tavsiye edebilirim.

      Ek olarak A:A şeklinde bir aralık kullanmanızı tavsiye etmiyorum. Çünkü Excel tüm aralığı dikkate alacağından bu tarz başvuruların çok kullanılması performans sorunlarına yol açabilir, döngüsel başvurulara sebep olabilir.

      Saygılarımla,

    • Örnek dosyada koşullu biçimlendirme kısmına girerseniz orada kullandığım formülü bulaiblirsiniz.

      • Merhaba, Dosyayı indirdim ama bende aynı hatada kırmızıyla uyarı vermiyor. Koşullu biçimlendirme kısmına girdiğimde de bir koşul göremiyorum. Bu nedenle sormuştum.

        • Merhaba,
          Değişken aralık ile birbirine bağlı liste sekmesindeki örnek dosyada var bahsettiğim yöntem. Diğer örnek dosyaya eklememişim.

          • Teşekkür ederim yardımlarınız için. Çok güzel bir çalışma olmuş, ikinci sekmeyi hiç kontrol etmedim daha da güzelmiş formüller 🙂 tekrar teşekkürler.

  10. Merhablar Elinize sağlık aynen uyguladım çalıştı. Rica etsem aşağıdaki şekilde bir düzenleme için yardımcı olur musunuz?
    Aynı yöntemi çok çeşitli gelir gider gurupları için kullanacağım. Formul tek hücrede çalışıyor fakat aşağı doğru çok fazla satır girişi lazım.
    Şöyleki satır satır veri giricelek her satır için ayrı ayrı yazma yerine aşağı doğru hücrelere kopyalamak mümkün müdür ?

    • Merhaba,

      İlk sekmede anlattığım yöntem ile Veri DOğrulama alanına girdiğiniz “=DOLAYLI(YERİNEKOY(D3;” “;””))” formülünde D3 göreceli başvuru. Veri doğrulama yapmak istediğiniz aralığı seçerek “=DOLAYLI(YERİNEKOY(C3;” “;””))” gibi bir formül girerseniz, C3 her satırda satır numarasına göre güncellenir, C4, C5… gibi. Bu durumda doğrulama aralığı olarak her satırda C sütununa denk gelen hücredeki değeri alarak ona göre bir liste oluşturur.

      İkinci sekmede anlattığım yöntem için Şehirler ismini “=KAYDIR(Listeler!$A$3;1;KAÇINCI(Form!$D4;Listeler!$3:$3;0)-1;BAĞ_DEĞ_DOLU_SAY(İNDİS(Listeler!$1:$1048576;0;KAÇINCI(Form!$D4;Listeler!$3:$3;0)))-1;1)” şeklinde güncellerseniz bölge adını yine satırdan alacağından her satırda farklı bir bölge kullanma imkanınız olur.

      Saygılarımla,

Leave a Reply