DOLAYLI (İngilizce INDIRECT) formülü =DOLAYLI(E2), adresi E2'de metin olarak yazılı olan hücreyi okur. E2'de C4 yazıyorsa formül C4'teki değeri döndürür. Adres parçalardan da oluşturulabilir: =DOLAYLI("C"&E3) C sütununu E3'teki satır numarasında okur. Tablodaki formülleri de bu şekilde, Türkçe adlarla ve noktalı virgülle yazabilirsiniz.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Address | Value | |
| 2 | Apple | Fruit | $1.20 | C4 | $0.80 | |
| 3 | Pear | Fruit | $1.50 | 6 | $1.10 | |
| 4 | Carrot | Vegetable | $0.80 | |||
| 5 | Bread | Bakery | $2.40 | |||
| 6 | Milk | Dairy | $1.10 |
=DOLAYLI(E2)F2, Carrot'ın fiyatı olan C4'ü okur: $0.80. E2'yi C3 veya B5 yapın, F2 onu izler. F3, "C" ile E3'teki 6'yı C6 adresinde birleştirir ve $1.10 döndürür. Apple'ın fiyatı için E3'ü 2 yapın.
DOLAYLI söz dizimi
=INDIRECT(ref_text, [a1])
ref_text: bir başvuruyu yazan metin:"C4","B2:B6","Prices!A2","'Price list'!A2:B9".a1: A1 stili adresler içinDOĞRUya da yazılmaz.YANLIŞ,"R4C3"ün 4. satır, 3. sütun anlamına geldiği R1C1 stilini okur; bu, satırın ve sütunun ikisinin de sayı olduğu durumlara uyar.
Metin geçerli bir adres değilse sonuç #BAŞV! (İngilizce #REF!) olur; tablo hata adlarını İngilizce gösterir. DOLAYLI gerçek bir başvuru döndürür, bu yüzden TOPLA, EĞERSAY, DÜŞEYARA ve aralık alan her fonksiyonun içinde çalışır.
Sayılardan aralık oluşturma
Adres bütün bir aralık olabilir. İçine bir sayı birleştirmek, boyutu bir hücreden gelen bir aralık verir.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Month | Sales | Rows | Total | ||
| 2 | Jan | 4,200 | 3 | 12,900 | ||
| 3 | Feb | 3,900 | ||||
| 4 | Mar | 4,800 | ||||
| 5 | Apr | 5,100 | ||||
| 6 | May | 4,600 | ||||
| 7 | Jun | 5,300 |
=TOPLA(DOLAYLI("B2:B"&(1+E2)))E2'de 3 varken metin B2:B4 olur ve F2 Jan'dan Mar'a kadar toplar: 12,900. Yarıyıl için E2'yi 6 yapın, 27,900. 1+E2 verilerin 2. satırda başlaması nedeniyle oradadır. Aynı toplam DOLAYLI olmadan da yazılabilir, =TOPLA(B2:İNDİS(B2:B7;E2)); bu geçici değildir. Seçenekleri KAYDIR sayfası karşılaştırıyor.
Bir hücrede adı yazan sayfaya başvurma
Sayfa adı da bir hücreden gelebilir. Bu, tek bir özet formülünü sayfalar arası bir aramaya dönüştürür: her satır A sütununda adı yazan sayfayı okur. Adın etrafındaki tek tırnaklar, boşluk içeren adlarda da çalışmasını sağlar.
| A | B | |
|---|---|---|
| 1 | Month | Total |
| 2 | Jan | 12,500 |
| 3 | Feb | 12,200 |
| 4 | Mar | 13,700 |
=TOPLA(DOLAYLI("'"&A2&"'!B2:B4"))B2 'Jan'!B2:B4 metnini oluşturur ve toplar: 12,500. B3 ve B4 aşağı doldurulmuş aynı formüldür, bu yüzden Feb'i (12,200) ve Mar'ı (13,700) okurlar. Feb sekmesini açıp bir sayıyı değiştirin: özet onu izler. A2'de Jan üzerine Feb yazın, B2 artık Feb'i toplar. Tırnakların içindeki B2:B4 metindir, bu yüzden formül aşağı doldurulurken değişmez; yalnızca A2 başvurusu değişir.
Bağımlı açılır listeler
Öğeleri birincisine bağlı olan ikinci bir açılır liste, DOLAYLI'nın klasik işidir. Excel'de olağan kurulum şöyledir:
- Her kategorinin öğelerini bir sütuna koyun ve her aralığa kategorisinin adını verin: sütunları başlıklarıyla seçip Formüller > Seçimden Oluştur > Üst satır'ı kullanın. Bu,
Fruit,VegetableveDairyadlarını oluşturur. - A2'ye kategorilerin bir listesini verin: Veri > Veri Doğrulama > İzin verilen: Liste, Kaynak
Fruit;Vegetable;Dairy. - B2'ye Kaynak'ı
=DOLAYLI(A2)olan bir liste verin. A2'de Fruit yazdığında liste Fruit adlı aralığı okur.
Aşağıdaki tablo aynı şeyi adlandırılmış bir aralık yerine her kategori için bir sayfayla kuruyor. D2, A2'de adı yazan sayfanın öğelerini taşırmak için DOLAYLI kullanır ve B2'nin listesi D2:D4'ü okur.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Category | Item | Items for the category | |
| 2 | Fruit | Apple | Apple | |
| 3 | Pear | |||
| 4 | Plum |
=DOLAYLI("'"&A2&"'!A2:A4")A2'de Dairy'yi seçin: D2:D4 Milk, Butter, Cheese'e geçer, B2'deki seçenekler de öyle. B2 siz yenisini seçene kadar eski değerini korur; Excel de aynı şekilde davranır, formların öğenin yanına sık sık =EĞERSAY(D2:D4;B2)>0 gibi bir kontrol eklemesinin nedeni budur. Excel 365'te adlandırılmış aralıkları atlayıp ikinci listeyi taşan bir formüle yöneltebilirsiniz; örneğin bir yardımcı hücrede =DOLAYLI("'"&A2&"'!A2:A4"), Kaynak olarak da =D2#. Kurulumun geri kalanı açılır liste sayfasında.
DOLAYLI geçicidir ve eklenen satırları yok sayar
DOLAYLI'nın bir başvuru yerine metin okumasından iki yan etki doğar:
- Her değişiklikte yeniden hesaplanır. Excel bir metin parçasının hangi hücreleri göstereceğini bilemez, bu yüzden çalışma kitabının herhangi bir yerindeki her düzenlemeden sonra her DOLAYLI'yı yeniden hesaplar. Birkaç düzine tanesi zarar vermez; on binlercesi her tuş vuruşunu yavaşlatır. Satır numaralı İNDİS (
=İNDİS(C:C;E3))=DOLAYLI("C"&E3)ile aynı sonucu verir ve yalnızca girdileri değiştiğinde yeniden hesaplanır. - Adres kaymaz. 4. satırın üstüne bir satır ekleyin,
=C4=C5olur, ama=DOLAYLI("C4")artık başka bir satır olan C4'ü okumaya devam eder. Bazen amaç tam da budur: sayfaya ne olursa olsun sabit bir hücrede kalması gereken bir başvuru. Daha sık ise birinin satır eklemesini bekleyen bir hatadır.
Başka bir çalışma kitabına DOLAYLI yalnızca o çalışma kitabı açıkken çalışır; kapalıyken #BAŞV! döndürür.
Alıştırma: satır numarasından fiyat
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Row | Price | |
| 2 | Apple | Fruit | $1.20 | 5 | ||
| 3 | Pear | Fruit | $1.50 | |||
| 4 | Carrot | Vegetable | $0.80 | |||
| 5 | Bread | Bakery | $2.40 | |||
| 6 | Milk | Dairy | $1.10 |
Sıra sende: F2 hücresinde DOLAYLI ile C sütunundaki, E2'de yazılı satır numarasındaki fiyatı döndürün.
Sıkça Sorulan Sorular
Excel'de DOLAYLI ne işe yarar?
Metni bir başvuruya çevirir. =DOLAYLI("C4") C4'ün değerini, =DOLAYLI(E2) ise E2'de yazılı olan hücre adresinin değerini döndürür. Adres & ile oluşturulabilir, bu yüzden =DOLAYLI("C"&E2) C sütununu E2'deki satır numarasında okur.
Adı bir hücrede yazan başka bir sayfaya nasıl başvururum?
Adresi, sayfa adı tek tırnak içinde olacak şekilde oluşturun: =DOLAYLI("'"&A2&"'!B2"). Tırnaklar, boşluk içeren adlarda da çalışmasını sağlar. =TOPLA(DOLAYLI("'"&A2&"'!B2:B4")) o sayfadaki bir aralığı toplar.
DOLAYLI neden #BAŞV! döndürüyor?
Metin geçerli bir adres değil, var olmayan bir sayfayı adlandırıyor ya da kapalı olan başka bir çalışma kitabını gösteriyor. Formülün oluşturduğu metni, aynı ifadeyi DOLAYLI olmadan tek başına bir hücreye yazarak kontrol edin.
DOLAYLI geçici bir fonksiyon mu?
Evet. Excel, metnin hangi hücreleri göstereceğini önceden bilemediği için çalışma kitabının herhangi bir yerindeki her değişiklikte her DOLAYLI'yı yeniden hesaplar. Birkaç tanesi zararsızdır; binlercesi çalışma kitabını yavaşlatır. İNDİS çoğu zaman aynı işi geçici olmadan yapabilir.