INDEX alan seçimi ve başvuru kimliği
HotXLS belgeleri · Hesaplama ve dönüşüm sadakati
Sürüm 2.384.101; INDEX(source,row_num,column_num,area_num)'i hesaplanan diziler için dördüncü bağımsız değişkeni kabul edecek şekilde genişletir ve tanımlı adlar ile LET üzerinden desteklenen gerçek çok alanlı başvuruları birleştirir; satır, sütun ve alan seçicileri birlikte yayılabilir
Tek hesaplanan dizi ya da birden çok başvuru alanı
Bir sabit ya da hesaplanan dizi tek bir kaynak alanıdır, bu yüzden INDEX(SEQUENCE(2,2),2,2,1) 4 döndürür; dördüncü bağımsız değişkeni tümüyle atlamak da 1 numaralı alanı seçer, açıkça boş verilen dördüncü bağımsız değişken ise geçersiz bir alan seçicisidir
Bir başvuru birleşimi aynı sayfada birden çok gerçek çalışma sayfası alanı içerebilir; area_num birleşim sırasına göre alanı seçer, satır ve sütun numaraları seçilen alan içinde uygulanır
Aşağıdaki örneklerde Source!A1:B2 {1,2;3,4}, Source!D1:E2 ise {10,20;30,40} içerir; Other!A1:B2 {100,200;300,400} içerir
| Formül | Sonuç |
|---|---|
INDEX((Source!A1:B2,Source!D1:E2),2,2,2) | 40, skaler bir başvuru sonucunu korur |
SUM(INDEX((Source!A1:B2,Source!D1:E2),0,0,2)) | 100, ikinci alanın tamamını toplar |
INDEX(SEQUENCE(2,2),0,0,1) | {1,2;3,4}, hesaplanmış bir değer dizisi |
INDEX(SEQUENCE(2,2),2,2,2) | #REF!, çünkü hesaplanan bir dizinin ikinci alanı yoktur |
Tanımlı adlar, LET ve CHOOSE
İfadesi (Source!$A$1:$B$2,Source!$D$1:$E$2) olan desteklenen yerel bir tanımlı ad her iki alanı korur; iç içe adlar bu kimliği yaşatır ve AREAS(NamedAreas) 2 döndürür
INDEX(NamedAreas,2,2,2) 40 döndürür, ISREF(INDEX(NamedAreas,0,0,2)) ise TRUE döndürür; ROW, COLUMN, ROWS, COLUMNS ve toplama tüketicileri seçilen başvuru koordinatlarını kullanmaya devam eder
Göreli başvuru adları her tüketici konumunda çözümlenir ve çalışma sayfası yerel bir ad, aynı yazıma sahip çalışma kitabı kapsamlı ada göre önceliklidir; başvuru kimliğini korumak, göreli bir adı ilk değerlendirme konumuna sabitlemez
LET(areas,(Source!A1:B2,Source!D1:E2),INDEX(areas,2,2,2)) LET(areas,(Source!A1:B2,Source!D1:E2),ISREF(INDEX(areas,0,0,2)))
Bu ifadeler sırayla 40 ve TRUE döndürür; SEQUENCE(2,2)'ye bağlanan bir ad hesaplanmış bir değer dizisi olarak kalır ve başvuru kimliği kazanmaz
Gerçek bir başvuru seçen skaler bir CHOOSE seçtiği başvuruyu korur; başka sayfadaki bir seçim de dahil: INDEX(CHOOSE(2,Source!A1:B2,Other!A1:B2),2,2) 400 döndürür ve karşılık gelen skaler başvuru sonucu ISREF'i geçer
Dizi seçicili CHOOSE, başvuru alanlarının bir birleşimini kurmak yerine değerleri seçicinin yönüne göre birleştirir; CHOOSE({1,2},Source!A1:B2,Source!D1:E2) {1,20;3,40} döndürür ve 2 değeri taşıyan ek bir INDEX alan seçicisi yine #REF! döndürür
Üç seçici dizisi
Satır, sütun ve alan seçicileri skaler değerler ya da diziler kabul eder; tekil boyutlar yayılır, karşıt satır ve sütun yönleri bir kartezyen çarpım oluşturur, eşleşen yönler konumları eşler; eşit olmayan şekillerde eşleşmeyen konumlar tek tek #N/A hataları içerir
INDEX((Source!A1:B2,Source!D1:E2),{1;2},2,{1,2})
INDEX((Source!A1:B2,Source!D1:E2),2,2,{2;1})
İlk ifade {2,20;4,40}, ikincisi {40;4} döndürür; seçilen değerler dize, Boolean, sayısal ve türlü hata gösterimlerini korur
Herhangi bir seçici bir dizi ise sonuç, başvuru değil bir değer dizisidir; sıfır bir satır ya da sütun ya da atlanmış bir satır/sütun seçicisi, her sonuç konumunda o eksende ilk üyeyi seçer
Bu, yalnızca skaler ayıklamadan farklıdır: iki skaler satır ve sütun sıfırı seçilen alanın tamamını döndürür; ama INDEX((Source!A1:B2,Source!D1:E2),0,0,{1,2}) iki iç içe ikişerli dizi değil {1,10} döndürür; toplamı 11'dir
Alan zorlaması ve hatalar
Alan seçicileri kesirli sayısal değerleri sıfıra doğru kırpar ve sayısal metin ile Boolean değerleri kabul eder; 1.9, "1" ve TRUE 1 numaralı alanı seçer
Sıfır alan, FALSE, açıkça boş verilen dördüncü bağımsız değişken, negatif değerler ve sıfıra kırpılan kesirler #VALUE! döndürür; sayısal olmayan metin de #VALUE! döndürür, kullanılabilir alan sayısının ötesinde pozitif bir alan ise #REF! döndürür
Türlü seçici hataları mevcut hata kodlarıyla iletilir; bir dizi seçici için geçersiz bir alan yalnızca karşılık gelen sonuç konumunda hata üretir, böylece INDEX(SEQUENCE(2,2),2,2,{1,2}) {4,#REF!} döndürür
Mevcut hatalar sonraki sınır denetimleriyle değiştirilmez: INDEX(#N/A,1,1,2) #N/A döndürür, INDEX(SEQUENCE(2,2),#N/A,1,#DIV/0!) ise satır seçicisinin #N/A değerini korur
Mevcut bir yerel çalışma sayfası tarafından nitelenen geçersiz bir başvuru #REF! olarak kalır; Source!#REF! ve 'Plan! O''Brien'!#REF! dahil; o yerel başvuru hatasını içeren bir tanımlı ad da INDEX'e ya da ISFORMULA'ya geçtiğinde #REF! korur
Yerel hata simgesi yüzde ya da örtük kesişim işleçleriyle kullanılabilir ve sayfa ayırıcısından sonraki boşluk kabul edilir; çalışma sayfası adı ile ayırıcısı arasındaki boşluk ise kabul edilen söz diziminin dışındadır
"Source!#REF!" gibi tırnaklı formül dizeleri metin olarak kalır; dizi sabiti içindeki çalışma sayfası nitelemeli bir başvuru simgesi, desteklenen kaynak dil bilgisinin dışındadır
Satır ve sütun seçicileri mevcut sıfır-ayıklama kurallarını ve negatif değer doğrulamasını korur; sıfır alan asla tüm kaynağı ayıklamak anlamına gelmez
Depolama, bağımlılıklar ve sınırlar
XLSX otomatik taşma hesaplaması seçici dizisi sonuçlarını büyütüp küçültebilir ve çapaya ait eskimiş takipçileri serbest bırakır; desteklenen ifadeler açık bir sabit CSE hedefi içinde de değerlendirilir ve XLSX kaydet/aç döngüsünü yaşatır
Adlandırılmış bir seçici, değerlendirilen sonucu skaler olsa bile ihtiyatlı dinamik depolama isteyebilir; tek hücreli dinamik bir işaretleyici değeri ya da desteklenen bir başvuru sonucunun kimliğini değiştirmez
Seçilen kaynak başvuruları ve iç içe adlar bağımlılık takibine katılır, böylece sonraki kaynak düzenlemeleri yeniden hesaplamadan sonra gözlemlenir; seçici gezinmesi ve üretilen matris yükleri mevcut değerlendirme adımı ve dizi belleği bütçelerini harcar
Sınırlar
Alanları farklı sayfalara ait olan doğrudan bir birleşim, istenen alan numarası yalnızca birini seçecek olsa bile #VALUE! döndürür; tek bir başvuru seçen skaler CHOOSE, desteklenen sayfalar arası alternatif olarak kalır
Hesaplanan dizilerin, sabitlerin ya da değer ifadelerinin birleşimi gerçek bir çok alanlı başvuru değildir; LET'e bağlanan hesaplanan dizi birleşimleri #VALUE! döndürür ve doğrudan dizi-içinde-dizi birleşim söz dizimi kaynak biçimi olarak kabul edilmez
Bu sözleşme, sınanmış yerel başvuru ve hesaplanan dizi biçimlerini kapsar; her dış başvuru grafiğini, her başvuru üreten işlevi ya da keyfi iç içe dizi kapsayıcılarını desteklediği anlamına gelmez
Bilinmeyen bir çalışma sayfası niteleyicisi bilinen bir yerel başvuru hatası olarak normalleştirilmez; Excel, NoSuchSheet!#REF! gibi bir formül için dış bağlantı grafiği oluşturabilir ve o grafiği eşlemek bu yerel hesaplama sözleşmesinin dışındadır