İçeriğe geç
parazade
Veri DoğrulamaSeviye: Orta

Excel'de Bağımlı Açılır Liste Nasıl Yapılır?

Yayın: · Son güncelleme:

SürümlerMicrosoft 365Excel 2021Excel 2019Excel 2016Excel 2013Excel 2010Excel WebExcel Mac

Kısaca

Excel'de bağımlı açılır liste için her alt listeye üst seçenekle aynı adı verirsiniz (Formüller > Seçimden Oluştur). İkinci hücrenin Veri Doğrulama kaynağına =DOLAYLI(A2) yazınca liste, ilk hücrede seçilen kategoriye göre değişir.

Adım adım

  1. 1

    Alt listeleri sütunlara yazın

    Her kategoriyi bir sütunun başlığına, ürünlerini altına yazın.

  2. 2

    Aralıkları adlandırın

    Sütunları başlıklarıyla seçip Formüller > Tanımlı Adlar > Seçimden Oluştur'a tıklayın ve Üst satır'ı işaretleyin.

  3. 3

    İlk açılır listeyi ekleyin

    Kategori hücresinde Veri > Veri Doğrulama > Liste seçip kaynağa başlık satırını verin.

  4. 4

    İkinci listeyi bağlayın

    Ürün hücresinde Liste seçip Kaynak kutusuna =DOLAYLI($E2) yazın.

  5. 5

    Boşluklu adları düzeltin

    Kategori adlarında boşluk varsa kaynağı =DOLAYLI(YERİNEKOY($E2;" ";"_")) yapın.

  6. 6

    Test edin

    Kategoriyi değiştirip ikinci listenin yalnız o kategorinin ürünlerini gösterdiğini kontrol edin.

İçindekiler
  1. Bağımlı açılır liste nasıl çalışır?
  2. Alt listeleri hazırlamak
  3. İki listeyi birbirine bağlamak
  4. Adlandırma kurallarındaki tuzak
  5. Ad tanımlamadan formülle bağımlı liste
  6. Üç seviyeli listeye genişletmek
  7. Kategori değişince eski seçim kalır

Bağımlı açılır liste nasıl çalışır?

Bağımlı açılır listede ikinci listenin seçenekleri ilk listede seçilen değere göre değişir. Kategori hücresinde Sebze seçildiğinde Ürün hücresinde yalnız Domates, Biber ve Patlıcan görünür. Meyve seçilirse aynı hücre Elma, Armut, Muz ve Kiraz'ı gösterir.

Bunun en yaygın yolu adlandırılmış aralıklarla DOLAYLI'yı birleştirmektir. Her alt listeye üst seçenekle aynı adı verirsiniz, ikinci listenin kaynağı da ilk hücredeki metni aralık adına çevirir.

Alt listeleri hazırlamak

Her kategoriyi bir sütuna yazın: en üst satırda kategori adı, altında o kategorinin ürünleri. Meyve, Sebze ve Bakliyat başlıklı üç sütun bu düzenin basit bir örneğidir. Bütün sütunları başlıklarıyla birlikte seçin.

Ardından Formüller sekmesinin Tanımlı Adlar grubunda Seçimden Oluştur'a tıklayın ve yalnız Üst satır kutusunu işaretli bırakın. Excel her sütunu başlığındaki adla adlandırır: B2:B4 aralığı artık Sebze adını taşır. Oluşan adları aynı gruptaki Ad Yöneticisi'nden görebilirsiniz.

Alt listeleri ayrı bir sayfada tutmak, ana tabloyu sade bırakır. Adlar çalışma kitabının tamamında geçerli olduğu için liste başka sayfada dursa da DOLAYLI onları bulur. Sayfayı gizleyebilir, ama Ad Yöneticisi'nde adların doğru aralığa baktığını kontrol etmeyi unutmayın.

Ad oluştururken boş hücreler de aralığa girer. Meyve sütunu dört, Bakliyat iki ürün içeriyorsa ve dört satırı birlikte seçtiyseniz Bakliyat adı iki boş hücreyi de kapsar. Açılır listede boş satırlar görmemek için her sütunu kendi uzunluğunda ayrı ayrı adlandırabilirsiniz.

İki listeyi birbirine bağlamak

İlk hücreye normal bir açılır liste ekleyin; kaynağı kategori başlıklarının bulunduğu satırdır. İkinci hücrede Veri Doğrulama'yı açıp İzin Ver'de Liste'yi seçin ve Kaynak kutusuna =DOLAYLI($E2) yazın. DOLAYLI, E2'deki "Sebze" metnini aynı adlı aralığa çevirir.

Formüldeki dolar işareti yalnız sütunu sabitler. Bu ayarı Ürün sütununun tamamına uyguladığınızda her satır kendi kategori hücresine bakar. Örneğin 50 satırlık bir sipariş formunda E2:E51 kategori, F2:F51 ürün sütunuysa doğrulamayı F2:F51'i seçerek bir kerede kurarsınız; F30'daki liste E30'daki kategoriye göre açılır. İlk hücre henüz boşken Excel kaynağın hata verdiğini bildirebilir; Evet diyerek devam edebilirsiniz.

Adlandırma kurallarındaki tuzak

Aralık adlarında boşluk bulunamaz. "Ev Aletleri" başlığından Seçimden Oluştur, "Ev_Aletleri" adını üretir. İlk listede "Ev Aletleri" seçildiğinde DOLAYLI bu adı bulamaz ve ikinci liste açılmaz. Çözüm kaynağı =DOLAYLI(YERİNEKOY($E2;" ";"_")) yapmaktır.

Adlar sayıyla da başlayamaz. "2026 Modelleri" gibi bir başlık kullanacaksanız kategori adını harfle başlayacak şekilde değiştirin.

Ad tanımlamadan formülle bağımlı liste

Kategori sayısı çoksa her biri için ad tanımlamak zahmetlidir. KAÇINCI ile KAYDIR'ı birleştirerek kaynak aralığı formülle de üretebilirsiniz. İlk adım, seçilen kategorinin kaçıncı sütunda olduğunu bulmaktır.

Örnek 1: Seçilen kategorinin sütununu bulma
ABCDEFG
1MeyveSebzeBakliyatKategori
2ElmaDomatesNohutSebze2
3ArmutBiberMercimek
4MuzPatlıcan
5Kiraz
=KAÇINCI(E2;A1:C1;0)

Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.

G2 hücresinin sonucu: 2

Sebze, başlık satırında ikinci sıradadır.

KAYDIR bu sütun numarasıyla A2'den sağa kayar ve o sütundaki ürün aralığını döndürür. BAĞ_DEĞ_DOLU_SAY ile sarmalandığında formülün doğru sütunu bulduğunu görürsünüz: Sebze sütununda üç ürün vardır.

Örnek 2: Kategorideki ürün sayısı
ABCDEFG
1MeyveSebzeBakliyatKategori
2ElmaDomatesNohutSebze3
3ArmutBiberMercimek
4MuzPatlıcan
5Kiraz
=BAĞ_DEĞ_DOLU_SAY(KAYDIR(A2;0;KAÇINCI(E2;A1:C1;0)-1;4;1))

Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.

G2 hücresinin sonucu: 3

KAYDIR, A2'den bir sütun sağa kayarak B2:B5 aralığını döndürür. Bu aralıkta üç dolu hücre vardır.

Kaynak kutusuna yazacağınız formül, yüksekliği bu sayıyla ayarlanmış KAYDIR'dır: =KAYDIR($A$2;0;KAÇINCI($E2;$A$1:$C$1;0)-1;BAĞ_DEĞ_DOLU_SAY(KAYDIR($A$2;0;KAÇINCI($E2;$A$1:$C$1;0)-1;10;1));1). Uzun görünse de yeni bir kategori sütunu eklediğinizde yalnız başlık aralığını genişletmeniz yeter. İNDİS aynı aralığın ilk öğesini göstererek formülü test etmenize yardım eder.

Örnek 3: Listenin ilk öğesi
ABCDEFG
1MeyveSebzeBakliyatKategori
2ElmaDomatesNohutSebzeDomates
3ArmutBiberMercimek
4MuzPatlıcan
5Kiraz
=İNDİS(A2:C5;1;KAÇINCI(E2;A1:C1;0))

Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.

G2 hücresinin sonucu: Domates

Sebze sütununun ilk satırındaki ürün Domates'tir.

Üç seviyeli listeye genişletmek

Aynı yöntem ikinci bir bağımlılık için de çalışır. İl seçildikten sonra ilçe, ilçe seçildikten sonra mahalle listesi açılabilir. Her seviyede alt liste, bir üst seviyede seçilecek değerle aynı adı taşır.

Seviye sayısı arttıkça ad sayısı hızla büyür. 10 il ve her ilde 15 ilçe varsa yalnız ilçeler için 10 ad, mahalleler için 150 ad gerekir. Bu ölçekte listeleri tek bir uzun tabloda tutup KAYDIR ya da Microsoft 365'teki FİLTRE fonksiyonuyla aralık üretmek daha yönetilebilirdir.

Kategori değişince eski seçim kalır

Bağımlı listenin bilinen bir eksiği vardır. Önce Sebze ve Domates seçip sonra kategoriyi Meyve yaparsanız Ürün hücresinde Domates kalmaya devam eder. Veri doğrulama yalnız yeni girişi denetler, var olan değeri silmez.

Bu tutarsızlığı yakalamak için yan sütuna =EĞERSAY(DOLAYLI($E2);F2)>0 gibi bir kontrol formülü koyabilir ya da koşullu biçimlendirmeyle uyumsuz satırları renklendirebilirsiniz. Şimdi kendi kategori listenizi sütunlara yazın, Seçimden Oluştur ile adlandırın ve ikinci hücreye =DOLAYLI($E2) kaynağını bağlayın.

Örnek dosyayı indir.xlsx dosyası, ücretsiz · rehberdeki örnekler hazır formüllerle

Bu rehberde kullanılan fonksiyonlar

DOLAYLIINDIRECTArama ve BaşvuruDOLAYLI, metin olarak yazılmış bir hücre adresini gerçek bir başvuruya çevirir ve o hücrenin değerini getirir. Sayfa adını ya da satır numarasını bir hücreden alan esnek raporlar ve bağımlı açılır listeler için kullanılır.KAYDIROFFSETArama ve BaşvuruKAYDIR, bir başlangıç hücresinden belirttiğiniz satır ve sütun kadar uzaklaşıp istediğiniz boyutta bir aralık başvurusu döndürür. Son üç ayı toplamak ya da yeni veri eklendikçe büyüyen aralıklar kurmak için kullanılır.KAÇINCIMATCHArama ve BaşvuruKAÇINCI, aradığınız değerin bir satır ya da sütundaki sırasını sayı olarak verir. Değerin kendisini değil konumunu döndürdüğü için en çok İNDİS ile birlikte, esnek arama formülleri kurmak için kullanılır.İNDİSINDEXArama ve BaşvuruİNDİS, bir aralıkta satır ve sütun numarasını verdiğiniz hücrenin değerini döndürür. Tek başına konumdan değer okur; KAÇINCI ile birleştiğinde sola ve her yöne arama yapabilen esnek bir arama formülüne dönüşür.BAĞ_DEĞ_DOLU_SAYCOUNTAİstatistikBAĞ_DEĞ_DOLU_SAY, bir aralıkta boş olmayan hücrelerin sayısını verir. Sayı, metin, tarih, mantıksal değer ve hata içeren hücrelerin hepsini sayar; boş metin döndüren formülleri de dolu kabul eder.YERİNEKOYSUBSTITUTEMetinYERİNEKOY, bir metinde geçen belirli bir ifadeyi başka bir ifadeyle değiştirir. Telefon numarasındaki boşlukları silmek, ayıraçları değiştirmek ya da bir karakterin kaç kez geçtiğini saymak için kullanılır; yalnız belirli bir tekrarı da değiştirebilir.FİLTREFILTERDinamik DiziFİLTRE, bir aralıktan koşulunuza uyan bütün satırları tek formülle çeker ve sonucu komşu hücrelere taşırır. Kaynak veri değiştikçe liste kendiliğinden güncellenir. Microsoft 365 ve Excel 2021 ile gelen dinamik dizi fonksiyonlarındandır.EĞERSAYCOUNTIFİstatistikEĞERSAY, bir aralıkta tek bir koşulu sağlayan hücrelerin sayısını verir. Teslim edilen sipariş adedi, 70 ve üzeri alan öğrenci sayısı ya da belli harflerle başlayan ürün kodları gibi sayımları tek formülle yapar.

Aynı konudaki diğer rehberler: Excel'de Veri Doğrulama

Sıkça Sorulan Sorular

Excel'de bağımlı açılır liste nasıl yapılır?

Alt listeleri Seçimden Oluştur ile kategori adlarıyla adlandırın. İkinci hücrenin Veri Doğrulama kaynağına =DOLAYLI(A2) yazın; A2'de seçilen kategoriye göre liste değişir.

DOLAYLI ile bağımlı liste neden açılmıyor?

Kategori adında boşluk ya da aralık adıyla uyuşmayan bir karakter vardır. Boşluklar için =DOLAYLI(YERİNEKOY(A2;" ";"_")) kullanın ve adları Ad Yöneticisi'nden kontrol edin.

Kategori değişince ürün hücresi neden temizlenmiyor?

Veri doğrulama yalnız yeni girişleri denetler. Önceden seçilmiş değeri silmez; uyumsuz satırları koşullu biçimlendirme ya da kontrol formülüyle yakalamanız gerekir.