İçindekiler
Bir süre önce Excel Veri Doğrulama'nın yeteneklerini keşfetmeye başladık ve virgülle ayrılmış bir listeye, hücre aralığına veya adlandırılmış bir aralığa dayalı olarak Excel'de basit bir açılır listenin nasıl oluşturulacağını öğrendik.
Bugün, bu özelliği derinlemesine inceleyeceğiz ve ilk açılır menüde seçilen değere bağlı olarak seçenekleri görüntüleyen basamaklı açılır listelerin nasıl oluşturulacağını öğreneceğiz. Başka bir deyişle, başka bir listenin değerine dayalı bir Excel veri doğrulama listesi yapacağız.
Excel'de birden çok bağımlı açılır menü nasıl oluşturulur
Excel'de çok düzeyli bağımlı açılır listeler oluşturmak kolaydır. İhtiyacınız olan tek şey birkaç adlandırılmış aralık ve DOLAYLI formülüdür. Bu yöntem Excel 365 - 2010 ve önceki tüm sürümleriyle çalışır.
1. Açılır listeler için girişleri yazın
Öncelikle, açılır listelerde görünmesini istediğiniz girdileri, her liste ayrı bir sütunda olacak şekilde yazın. Örneğin, meyve ihracatçılarından oluşan basamaklı bir açılır liste oluşturuyorum ve kaynak sayfamın A sütununda ( Meyve ) ilk açılır menünün öğelerini içerir ve diğer 3 sütun bağımlı açılır menüler için öğeleri listeler.
2. Adlandırılmış aralıklar oluşturun
Şimdi ana listeniz ve bağımlı listelerin her biri için adlar oluşturmanız gerekir. İsim Yöneticisi pencere ( Formüller tab> İsim Yöneticisi> Yeni) veya adı doğrudan İsim Kutusu .
Not: İlk satırınız yukarıdaki ekran görüntüsünde gördüğünüz gibi bir tür sütun başlığı ise, bunu adlandırılmış aralığa dahil etmemeniz gerektiğine lütfen dikkat edin.
Ayrıntılı adım adım talimatlar için lütfen Excel'de bir ad nasıl tanımlanır bölümüne bakın.
Unutulmaması gereken şeyler:
- İlk açılır listede görünecek öğeler tek kelimelik girişler olmalıdır, örn. Kayısı , Mango , Portakallar İki, üç veya daha fazla kelimeden oluşan öğeleriniz varsa, lütfen Çok kelimeli girişlerle basamaklı açılır menü oluşturma bölümüne bakın.
- Bağımlı listelerin adları, ana listedeki eşleşen girişle tam olarak aynı olmalıdır. Örneğin, görüntülenecek bağımlı liste " Mango " öğesi ilk açılır listeden seçildiğinde Mango .
İşiniz bittiğinde, Ctrl+F3 tuşlarına basarak İsim Yöneticisi penceresini açın ve tüm listelerin doğru isimlere ve referanslara sahip olup olmadığını kontrol edin.
3. İlk (ana) açılır listeyi yapın
- Aynı veya başka bir elektronik tabloda, birincil açılır listenizin görünmesini istediğiniz bir hücreyi veya birkaç hücreyi seçin.
- Şuraya git Veri sekmesine tıklayın, ardından Veri Doğrulama öğesini seçerek olağan şekilde adlandırılmış bir aralığı temel alan bir açılır liste ayarlayın. Liste altında İzin ver ve aralık adını girerek Kaynak Kutu.
Ayrıntılı adımlar için lütfen Adlandırılmış bir aralığı temel alan bir açılır liste oluşturma bölümüne bakın.
Sonuç olarak, çalışma sayfanızda buna benzer bir açılır menüye sahip olacaksınız:
4. Bağımlı açılır listesini oluşturun
Bağımlı açılır menünüz için bir hücre(ler) seçin ve önceki adımda açıklandığı gibi Excel Veri Doğrulaması'nı tekrar uygulayın. Ancak bu kez, aralığın adı yerine aşağıdaki formülü Kaynak Alan:
=INDIRECT(A2)
Burada A2 ilk (birincil) açılır listenizin bulunduğu hücredir.
A2 hücresi şu anda boşsa, hata iletisi alırsınız " Kaynak şu anda bir hata olarak değerlendiriliyor. Devam etmek istiyor musunuz? "
Güvenle tıklayın Evet ve ilk açılır menüden bir öğe seçtiğinizde, ikinci, bağımlı açılır listede buna karşılık gelen girişleri göreceksiniz.
5. Üçüncü bir bağımlı açılır liste ekleyin (isteğe bağlı)
Gerekirse, 2. açılır menüdeki seçime veya ilk iki açılır menüdeki seçimlere bağlı olan 3. bir basamaklı açılır liste ekleyebilirsiniz.
2. listeye bağlı olan 3. açılır menüyü ayarlayın
Bu tür bir açılır listeyi, az önce ikinci bir bağımlı açılır menü yaptığımız gibi yapabilirsiniz. Basamaklı açılır listelerinizin doğru çalışması için gerekli olan ve yukarıda tartışılan 2 önemli şeyi unutmayın.
Örneğin, B sütununda hangi ülkenin seçildiğine bağlı olarak C sütununda bir bölge listesi görüntülemek istiyorsanız, her ülke için bir bölge listesi oluşturun ve ikinci açılır listelerde tam olarak göründüğü gibi ülkenin adıyla adlandırın. Örneğin, Hindistan bölgelerinin bir listesi "Hindistan", Çin bölgelerinin bir listesi - "Çin" vb. olarak adlandırılmalıdır.
Bundan sonra, 3. açılır menü için bir hücre seçersiniz (bizim durumumuzda C2) ve aşağıdaki formülle Excel Veri Doğrulaması uygularsınız (B2, ülkelerin listesini içeren ikinci açılır menünün bulunduğu hücredir):
=INDIRECT(B2)
Şimdi, her seçtiğinizde Hindistan B sütunundaki ülkeler listesinin altında, üçüncü açılır menüde aşağıdaki seçeneklere sahip olacaksınız:
Not: Görüntülenen bölge listesi her ülke için benzersizdir ancak ilk açılır listedeki seçime bağlı değildir.
İlk iki listeye bağlı üçüncü bir açılır liste oluşturun
Hem birinci hem de ikinci açılır listelerdeki seçimlere bağlı olan basamaklı bir açılır menü oluşturmanız gerekiyorsa, bu şekilde devam edin:
- Ek adlandırılmış aralık kümeleri oluşturun ve bunları ilk iki açılır listenizdeki sözcük kombinasyonları için adlandırın. Örneğin Mango, Portakal vb. 1. listede ve Hindistan, Brezilya, vb. Daha sonra adlandırılmış aralıklar oluşturursunuz MangoIndia , MangoBrazil , PortakallarHindistan , PortakallarBrezilya Bu isimler alt çizgi veya başka ek karakterler içermemelidir.
=INDIRECT(SUBSTITUTE(A2&B2," ",""))
Burada A2 ve B2 sırasıyla birinci ve ikinci açılır menüleri içerir.
Sonuç olarak, 3. açılır listeniz şu bölgelere karşılık gelen bölgeleri görüntüleyecektir Meyve ve Ülke ilk 2 açılır listede seçilen.
Bu, Excel'de basamaklı açılır kutular oluşturmanın en kolay yoludur. Ancak, bu yöntemin bazı sınırlamaları vardır.
Bu yaklaşımın sınırlamaları:
- Birincil açılır listenizdeki öğeler tek kelimelik girişler olmalıdır. Çok kelimeli girişlerle basamaklı açılır listeleri nasıl oluşturacağınıza bakın.
- Bu yöntem, ana açılır listenizdeki girişler tire (-), ve işareti (&) gibi aralık adlarında izin verilmeyen karakterler içeriyorsa çalışmaz. Çözüm, bu kısıtlamaya sahip olmayan dinamik bir basamaklı açılır liste oluşturmaktır.
- Bu şekilde oluşturulan açılır menüler otomatik olarak güncellenmez, yani kaynak listelere her öğe eklediğinizde veya çıkardığınızda adlandırılmış aralıkların referanslarını değiştirmeniz gerekecektir. Bu sınırlamayı aşmak için dinamik bir basamaklı açılır liste yapmayı deneyin.
Çok sözcüklü girişlerle basamaklı açılır listeler oluşturma
Yukarıdaki örnekte kullandığımız DOLAYLI formülleri yalnızca tek sözcüklü öğeleri işleyebilir. Örneğin, =INDIRECT(A2) formülü dolaylı olarak A2 hücresine başvurur ve adlandırılmış aralığı tam olarak başvurulan hücredekiyle aynı adla görüntüler. Ancak, Excel adlarında boşluklara izin verilmez, bu nedenle bu formül çok sözcüklü adlarla çalışmaz.
Çözüm, 3. bir açılır menü oluştururken yaptığımız gibi SUBSTITUTE ile birlikte INDIRECT işlevini kullanmaktır.
Diyelim ki Su kavunu Bu durumda, karpuz ihracatçılarının bir listesini boşluksuz tek bir kelime ile adlandırırsınız - Karpuz .
Ardından, ikinci açılır menü için, A2 hücresindeki addan boşlukları kaldıran aşağıdaki formülle Excel Veri Doğrulaması uygulayın:
=INDIRECT(SUBSTITUTE(A2," ",""))
Birincil açılır listedeki değişiklikler nasıl önlenir
Aşağıdaki senaryoyu düşünün: Kullanıcınız tüm açılır listelerdeki seçimleri yaptı, sonra fikrini değiştirdi, ilk listeye geri döndü ve başka bir öğe seçti. Sonuç olarak, 1. ve 2. seçimler eşleşmedi. Bunun olmasını önlemek için, ikinci listede bir seçim yapılır yapılmaz ilk açılır listedeki herhangi bir değişikliği engellemek isteyebilirsiniz.
Bunu yapmak için, ilk açılır menüyü oluştururken, ikinci açılır menüde herhangi bir girişin seçili olup olmadığını kontrol edecek özel bir formül kullanın:
=IF(B2="", Meyve, INDIRECT("FakeList"))
B2'nin ikinci açılır menüyü içerdiği yerde, " Meyve " ilk açılır menüde görünen listenin adıdır ve " SahteListe " gerçekte var olmayan herhangi bir sahte isimdir.
Şimdi, 2. açılır listede herhangi bir öğe seçilirse, kullanıcı ilk listenin yanındaki oka tıkladığında hiçbir seçenek mevcut olmayacaktır.
Excel'de dinamik basamaklı açılır listeler oluşturma
Dinamik bir Excel'e bağlı açılır listenin ana avantajı, kaynak listeleri düzenlemekte özgür olmanız ve açılır kutularınızın anında güncellenmesidir. Elbette, dinamik açılır listeler oluşturmak biraz daha fazla zaman ve daha karmaşık formüller gerektirir, ancak bunun değerli bir yatırım olduğuna inanıyorum çünkü bir kez kurulduktan sonra, bu tür açılır menülerle çalışmak gerçek bir zevktir.
Excel'deki hemen hemen her şeyde olduğu gibi, aynı sonucu birkaç şekilde elde edebilirsiniz. Özellikle, OFFSET, INDIRECT ve COUNTA işlevlerinin bir kombinasyonunu veya daha esnek bir INDEX MATCH formülünü kullanarak dinamik bir açılır menü oluşturabilirsiniz. İkincisi benim tercih ettiğim yoldur çünkü en önemlileri olan çok sayıda avantaj sağlar:
- Ana ve bağımlı listelerde kaç öğe olursa olsun, yalnızca 3 adlandırılmış aralık oluşturmanız gerekir.
- Listeleriniz çok sözcüklü öğeler ve özel karakterler içerebilir.
- Her sütundaki giriş sayısı değişebilir.
- Girişlerin sıralama düzeni önemli değildir.
- Son olarak, kaynak listelerinin bakımı ve değiştirilmesi çok kolaydır.
Tamam, bu kadar teori yeter, pratiğe geçelim.
1. Kaynak verilerinizi bir tabloda düzenleyin
Her zamanki gibi, yapmanız gereken ilk şey, açılır listeleriniz için tüm seçenekleri bir çalışma sayfasına yazmaktır. Bu kez, kaynak verileri bir Excel tablosunda saklamanız gerekecektir. Bunun için, verileri girdikten sonra, tüm girişleri seçin ve Ctrl + T tuşlarına basın veya Ekleme tab> Tablo . Daha sonra tablonuzun adını Tablo Adı Kutu.
En uygun ve görsel yaklaşım, ilk açılır menü için öğeleri tablo başlıkları olarak ve bağımlı açılır menü için öğeleri tablo verileri olarak saklamaktır. Aşağıdaki ekran görüntüsü, tablomun yapısını göstermektedir exporters_tbl - meyve adları tablo başlıklarıdır ve ilgili meyve adının altına ihracatçı ülkelerin bir listesi eklenmiştir.
2. Excel adları oluşturun
Artık kaynak verileriniz hazır olduğuna göre, tablonuzdan doğru listeyi dinamik olarak alacak adlandırılmış referansları ayarlamanın zamanı geldi.
2.1. Tablonun başlık satırı için bir ad ekleyin (ana açılır menü)
Tablo başlığına referans veren yeni bir ad oluşturmak için, tablo başlığını seçin ve ardından Formüller > İsim Yöneticisi > Yeni veya Ctrl + F3 tuşlarına basın.
Microsoft Excel, yerleşik tablo başvuru sistemini kullanarak table_name[#Headers] desen.
Anlamlı ve hatırlaması kolay bir isim verin, örn. fruit_list ve tıklayın TAMAM. .
2.2. İlk açılır listeyi içeren hücre için bir ad oluşturun
Henüz herhangi bir açılır menünüz olmadığını biliyorum :) Ancak ilk açılır menünüzü barındıracak hücreyi seçmeniz ve bu hücre için bir ad oluşturmanız gerekiyor çünkü bu adı üçüncü adın başvurusuna eklemeniz gerekecek.
Örneğin, ilk açılır kutum Sayfa 2'deki B1 hücresinde yer alıyor, bu nedenle bunun için bir ad oluşturuyorum, basit ve kendini açıklayıcı bir şey gibi meyve :
İpucu. Aşağıdakiler için uygun hücre referanslarını kullanın açılır listeleri kopyalama çalışma sayfası boyunca.
Lütfen aşağıdaki birkaç paragrafı dikkatlice okuduğunuzdan emin olun çünkü bu kaçırmak istemeyeceğiniz çok faydalı bir ipucu. Bunu yayınladığı için Karen'a çok teşekkürler!
Açılır listelerinizi diğer hücrelere kopyalamayı planlıyorsanız, ilk açılır listenizin bulunduğu hücre(ler)in adını oluştururken karışık hücre referanslarını kullanın.
Açılır menülerin diğerlerine doğru şekilde kopyalanması için sütunlar (yani sağa doğru), = Sheet2!B$1 gibi göreli sütun ($ işareti olmadan) ve mutlak satır ($ ile) referansları kullanın.
Sonuç olarak, B1'in bağımlı açılır listesi B2 hücresinde görünecektir; C1'in bağımlı açılır listesi C2'de görüntülenecektir ve bu böyle devam edecektir.
Ve eğer açılır menüleri başka sıralar (yani sütunun aşağısında), ardından = Sheet2!$B1 gibi mutlak sütun ($ ile) ve göreli satır ($ olmadan) koordinatlarını kullanın.
Açılır bir hücreyi herhangi bir yönde kopyalamak için = Sheet2!B1 gibi bir göreli referans ($ işareti olmadan) kullanın.
2.3. Bağımlı menü girişlerini almak için bir isim oluşturun
Önceki örnekte yaptığımız gibi bağımlı listelerin her biri için benzersiz adlar belirlemek yerine, bir tane oluşturacağız adlandırılmış formül Bu formül, belirli bir hücreye veya hücre aralığına atanmamıştır. İlk açılır listede hangi seçimin yapıldığına bağlı olarak ikinci açılır liste için doğru giriş listesini alacaktır. Bu formülü kullanmanın temel yararı, ilk açılır listeye yeni girişler ekledikçe yeni adlar oluşturmak zorunda kalmamanızdır - adlandırılmış tek bir formül hepsini kapsar.
Bu formülle yeni bir Excel adı oluşturursunuz:
=INDEX(exporters_tbl,,MATCH(fruit,fruit_list,0))
Nerede?
exporters_tbl
- tablonun adı (adım 1'de oluşturuldu);meyve
- ilk açılır listeyi içeren hücrenin adı (adım 2.2'de oluşturuldu);fruit_list
- tablonun başlık satırına referans veren ad (adım 2.1'de oluşturulmuştur).
Ona bir isim verdim. exporters_list aşağıdaki ekran görüntüsünde gördüğünüz gibi.
İşin büyük kısmını zaten yaptınız! Son adıma geçmeden önce, İsim Yöneticisini ( Ctrl + F3 ) açmak ve isimleri ve referansları doğrulamak iyi bir fikir olabilir:
3. Excel Veri Doğrulamasını Ayarlama
Bu aslında en kolay kısımdır. İki adlandırılmış formül yerindeyken, Veri Doğrulama'yı olağan şekilde ayarlarsınız ( Veri tab> Veri doğrulama ).
- İlk açılır liste için Kaynak kutusuna şunu girin =meyve_listesi (adım 2.1'de oluşturulan ad).
- Bağımlı açılır listesi için şunu girin =exporters_list (adım 2.3'te oluşturulan ad).
Bitti! Dinamik basamaklı açılır menünüz tamamlandı ve kaynak tabloda yaptığınız değişiklikleri yansıtacak şekilde otomatik olarak güncellenecek.
Diğer tüm açılardan mükemmel olan bu dinamik Excel açılır menüsü bir eksikliğe sahiptir - kaynak tablonuzun sütunları farklı sayıda öğe içeriyorsa, boş satırlar menünüzde bu şekilde görünecektir:
Boş satırları dinamik basamaklı açılır menüden hariç tutma
Açılır kutularınızdaki boş satırları temizlemek istiyorsanız, bir adım daha atmanız ve bağımlı dinamik açılır listeyi oluşturmak için kullanılan INDEX / MATCH formülünü geliştirmeniz gerekecektir.
Buradaki fikir, ilkinin sol üst hücreyi aldığı ve ikincisinin aralığın sağ alt hücresini döndürdüğü 2 INDEX işlevi veya iç içe INDEX ve COUNTA ile OFFSET işlevi kullanmaktır. Ayrıntılı adımlar aşağıda verilmiştir:
1. İki ek isim oluşturun
Formülü çok hantal hale getirmemek için, önce aşağıdaki basit formüllerle birkaç yardımcı isim oluşturun:
- Bir isim aradı col_num Seçilen sütun numarasına başvurmak için:
=MATCH(meyve,meyve_listesi,0)
- Bir isim aradı entire_col seçilen sütuna (sütun numarasına değil, tüm sütuna) başvurmak için:
=INDEX(exporters_tbl,,col_num)
Yukarıdaki formüllerde, exporters_tbl
kaynak tablonuzun adıdır, meyve
ilk açılır menüyü içeren hücrenin adıdır ve fruit_list
tablonun başlık satırına atıfta bulunan addır.
2. Bağımlı açılır menü için adlandırılmış referans oluşturun
Ardından, yeni bir ad oluşturmak için aşağıdaki formüllerden birini kullanın (buna exporters_list2 ) bağımlı açılır liste ile kullanılacak:
=INDEX(exporters_tbl,1,col_num) : INDEX(exporters_tbl, COUNTA(entire_col), col_num)
=OFFSET(INDEX(exporters_tbl,1,col_num),0,0,COUNTA(entire_col))
3. Veri Doğrulama Uygulayın
Son olarak, bağımlı açılır menüyü içeren hücreyi seçin ve = girerek Veri Doğrulama uygulayın. exporters_list2 (önceki adımda oluşturulan ad) içinde Kaynak Kutu.
Aşağıdaki ekran görüntüsü, tüm boş satırların kaybolduğu Excel'de ortaya çıkan dinamik açılır menüyü göstermektedir!
Not: Yukarıdaki formüllerle oluşturulan dinamik basamaklı açılır listelerle çalışırken, kullanıcının ikinci menüde seçim yaptıktan sonra ilk açılır menüdeki değeri değiştirmesini hiçbir şey engelleyemez, sonuç olarak birincil ve ikincil açılır listelerdeki seçimler uyuşmayabilir. İkincisinde bir seçim yapıldıktan sonra ilk kutudaki değişiklikleri VBA veyaBu eğitimde önerilen karmaşık formüller.
Başka bir listenin değerlerine dayalı bir Excel veri doğrulama listesi bu şekilde oluşturulur. Basamaklı açılır listeleri çalışırken görmek için lütfen örnek çalışma kitaplarımızı indirmekten çekinmeyin. Okuduğunuz için teşekkürler!
İndirmek için pratik çalışma kitabı
Basamaklı Açılır Örnek 1- kolay sürüm
Basamaklı Açılır Örnek 2 - boşluksuz gelişmiş sürüm