Tabloda satır ve sütun koordinatlarına göre değer bulma
Excel'deki İNDEX (INDEX) işlevi, bir satır numarası ve bir sütun numarası kullanarak belirtilen hücre aralığından bir değer döndürür. Bu, DÜŞEYARA'dan daha esnek çalışan, anahtarın yalnızca sağındaki değil, solundaki, üstündeki veya altındaki değerleri de aramaya olanak tanıyan evrensel bir veri çıkarma aracıdır. Basit formül şöyledir: =İNDEX(aralık; satır_numarası; sütun_numarası).
Sözdizimi ve çalışma prensibi
İşlev bir navigatör gibi çalışır: ona bir harita (veri aralığı) ve hedef noktanın koordinatlarını (satır ve sütun) belirtirsiniz; o da bu hücrede bulunan değeri döndürür.
Temel sözdizimi:
=İNDEX(dizi; satır_numarası; [sütun_numarası])
Burada:
- dizi — aramanın yapıldığı hücre aralığı veya tablo referansı.
- satır_numarası — seçilen dizi içindeki satırın sıra numarası (sayfa satır numarası değil!).
- sütun_numarası — dizi içindeki sütunun sıra numarası. Dizi tek sütundan oluşuyorsa bu bağımsız değişken isteğe bağlıdır.
Numaralandırmayı unutmayın
Satır ve sütun sayımı, tüm sayfaya göre değil, seçilen aralık içinde yapılır. B2:D10 aralığını seçtiyseniz, B2 hücresinin koordinatları (2; 2) değil, (1; 1) olacaktır.
Basit kullanım örneği
A2:C5 aralığında bir ürün tablonuz olduğunu varsayalım:
| A (Ürün) | B (Fiyat) | C (Stok) | |
|---|---|---|---|
| 2 | Elma | 100 | 50 |
| 3 | Armut | 120 | 30 |
| 4 | Erik | 90 | 100 |
| 5 | Kiraz | 150 | 20 |
Armutun fiyatını almak için (aralığın 2. satırı, 2. sütunu):
=İNDEX(A2:C5; 2; 2) → sonuç: 120.
İNDEX + EŞLE kombinasyonu: Güçlü ikili
İNDEX işlevi tek başına statiktir; satır numarasını manuel olarak bilmeniz gerekir. Formülü dinamik hale getirmek (ürün adı veya müşteri adına göre değer aramak) için EŞLE (MATCH) işlevi ile birleştirilir.
Formül şu hale gelir:
=İNDEX(sonuç_sütunu; EŞLE(aranan_değer; arama_aralığı; 0))
Belirli bir satır ve sütunun kesişimindeki değeri başlıklarına göre bulmak gerekirse:
=İNDEX(tüm_tablo; EŞLE(satır_değeri; satır_başlıkları_sütunu; 0); EŞLE(sütun_değeri; sütun_başlıkları_satırı; 0))
Senaryo: "Erik" ürününün stok miktarını bulma.
EŞLE("Erik"; A2:A5; 0)satır numarasını (3) bulur.İNDEX(C2:C5; 3)stok sütununun 3. hücresinden değeri döndürür.- Nihai formül:
=İNDEX(C2:C5; EŞLE("Erik"; A2:A5; 0)).
Bu neden DÜŞEYARA'dan daha iyi? İNDEX+EŞLE kombinasyonu, tablonun ortasına yeni bir sütun eklerseniz bozulmaz. DÜŞEYARA, yapısı değiştiğinde manuel olarak değiştirilmesi gereken sabit bir sütun numarası kullanır. Ayrıca, İNDEX anahtar sütunun solundaki verileri arayabilir; DÜŞEYARA bunu yapamaz.
Veri arama yaklaşımlarının karşılaştırılması
| Yöntem | Esneklik | Değişikliklere dayanıklılık | Anahtarın solunda arama | Öğrenme zorluğu |
|---|---|---|---|---|
| DÜŞEYARA (VLOOKUP) | Düşük | Düşük (sütun eklendiğinde bozulur) | Hayır | Düşük |
| İNDEX + EŞLE | Yüksek | Yüksek | Evet | Orta |
| XLOOKUP | Çok yüksek | Yüksek | Evet | Düşük (yeni Excel gerekir) |
Not: Excel 365 veya 2021+ kullanıyorsanız, İNDEX+EŞLE kombinasyonuna modern bir alternatif olarak XLOOKUP işlevini değerlendirebilirsiniz.
Gelişmiş çalışma teknikleri
Tüm bir satır veya sütun döndürme
Satır veya sütun numarası bağımsız değişkeninde 0 belirtirseniz, işlev ilgili tüm diziyi döndürür.
=İNDEX(A2:C5; 0; 2)— aralığın ikinci sütununu (tüm fiyatları) döndürür.- Bu, diğer formüllerde veya özet grafiklerde dinamik aralıklar oluşturmak için kullanışlıdır.
Adlandırılmış aralıklarla çalışma
Formüllerin okunabilirliği için aralıklara isim atayın.
=İNDEX($A$2:$C$100; ...) yerine şunu kullanın:
=İNDEX(VeriTabanı; EŞLE(MüşteriID; IDListesi; 0); 3)
Bu, formül denetimini kolaylaştırır ve kopyalama sırasında hata riskini azaltır.
Sık yapılan hatalar ve çözümleri
Kullanıcılar işlevle çalışırken genellikle aşağıdaki sorunlarla karşılaşır:
-
#BAŞV! (#REF!)
- Neden: Satır veya sütun numarası belirtilen dizinin boyutlarını aşıyor. Örneğin, 5 satırlık bir aralıktan 10. satırı istiyorsunuz.
- Çözüm: Aralık boyutlarını kontrol edin ve EŞLE işlevinin doğru çalıştığından emin olun (aranan değerin bulunduğundan emin olun).
-
#DEĞER! (#VALUE!)
- Neden: Bağımsız değişkenlerde sayı yerine metin belirtilmiş (iç içe geçmiş bir arama işlevi kullanılmıyorsa) veya yanlış veri türü kullanılmış.
- Çözüm: Satır/sütun numaralarının sayı olduğundan emin olun.
-
Yanlış sonuç (bitişik değer döndürülüyor)
- Neden: İNDEX işlevindeki dizi sınırları ile EŞLE'deki arama aralığının uyuşmaması.
- Çözüm: EŞLE'in arama yaptığı aralığın, İNDEX'teki diziyle aynı satırdan başladığından emin olun.
Sıkça Sorulan Sorular (SSS)
İNDEX'i birden fazla koşula göre arama yapmak için kullanabilir miyim? Evet, ancak formül karmaşıklaşır. Dizi formülleri veya EŞLE içinde EĞER işlevini kullanmanız gerekir. Excel'in yeni sürümlerinde FİLTRE veya XLOOKUP kullanmak daha kolaydır.
Dizi formu ile başvuru formu arasındaki fark nedir?
Modern Excel sürümlerinde (2010+) İNDEX(dizi;...) dizi formu kullanılır. Eski başvuru formu İNDEX(başvuru;...) çok eski dosyalarla uyumluluk ve bitişik olmayan birden fazla aralıkla çalışmak için gereklidir. Vakaların %99'unda dizi formuna ihtiyacınız vardır.
Büyük verilerde formül neden yavaş çalışıyor?
Belirli bir aralık (A2:A10000) yerine tüm sütunu (örneğin A:A) kullanırsanız, Excel bir milyondan fazla hücreyi işlemek zorunda kalır. Aralığı her zaman gerçek verilerle sınırlayın.