Genel Bakış
Dinamik Dizi (Dynamic Array), bir formülün tek değer yerine değer listesi ya da tablosu döndürmesine ve sonuçların bitişik boş hücrelere kendiliğinden taşmasına (spill) izin veren Excel hesaplama yapısıdır. Ctrl+Shift+Enter gerektirmeden çalışır; SORT, FILTER, UNIQUE, SEQUENCE ve XLOOKUP gibi işlevlerle kaynak veri değiştikçe boyutu otomatik güncellenen listeler kurmanızı sağlar. Bu sayfada çalışma mantığını, taşma aralığı ve # işlecini, sürüm farklarını, VBA tarafını, sık hataların çözümlerini ve on uygulamalı örneği öğreneceksiniz.
Dinamik dizi işlevlerine Formüller > İşlev Kitaplığı (Formulas > Function Library) altındaki gruplardan ya da Formüller > İşlev Ekle (Formulas > Insert Function) penceresinden (Shift+F3) ulaşırsınız. SORT, SORTBY, FILTER, UNIQUE ve XLOOKUP Arama ve Başvuru (Lookup & Reference) grubunda, SEQUENCE ile RANDARRAY Matematik ve Trigonometri (Math & Trig) grubunda yer alır. Türkçe Excel'de işlev adları İngilizce adlardan farklıdır; formül yazarken Excel'in açılan öneri listesinden ya da İşlev Ekle penceresinden doğru adı seçin.
İşinize yarayacak kısayollar:
Taşan sonucun tamamını toplamak için:
Satır sayısı değişince D2# başvurusu da kendiliğinden büyür ya da küçülür; toplam formülünü yeniden yazmanız gerekmez.
Birden fazla işlevi iç içe kullanarak tek formülde süzüp sıralayabilirsiniz. Satış departmanındaki personeli maaşa göre azalan sıralamak için:
# işlecinin kullanılabildiği yerler:
VBA tarafında iki özellik vardır: Range.Formula eski örtük kesişim davranışıyla yazar ve gerektiğinde @ ekler; Range.Formula2 ise dinamik dizi davranışıyla yazar ve sonuç taşar. Taşma bilgisi için HasSpill, SpillingToRange ve SpillParent özellikleri kullanılır:
Formula2 ile yazarken işlev adları İngilizce, bağımsız değişken ayırıcısı virgüldür. Eski bir makroda Formula kullanıyorsanız ve dizi sonucu bekliyorsanız, kodu Formula2 olarak değiştirin.
F2 hücresine yazılacak formül:
D2 hücresindeki tek formül altı satırın tutarını birden hesaplar; ilk tutar 5.400,00 olarak görünür ve sonuçlar D2:D7 aralığına taşar. Taşan hücrelerin formül çubuğunda formül gri görünür. F2 hücresi D2# başvurusuyla tüm taşma aralığını toplar ve 65.350,00 değerini verir; tabloya satır eklenip formül aralığı genişletilirse toplam da birlikte güncellenir.
G2 hücresine yazılacak formül:
F2 hücresi, şehir D2 hücresindeki değere eşit olan satışları dizi olarak çarpıp toplar ve 36.600,00 sonucunu verir. G2 hücresi aynı şehrin en yüksek satışını bulur: 15.200,00. İki formül de yalnızca Enter ile girildi; D2 hücresindeki şehir adını değiştirirseniz her ikisi de yeni şehre göre yeniden hesaplanır.
E2 hücresindeki tek formül, 8 satırlık tabloyu üç sütun halinde E2:G9 aralığına taşırır. İlk öğrenci en yüksek nota sahip olandır: Naz Güler. Kaynak tablodaki bir notu değiştirirseniz sıra otomatik yenilenir; sıralama için Veri > Sırala komutunu kullanmanız gerekmez.
F2 hücresi, stoğu asgari değerden küçük olan satırların dört sütununu taşırır; listenin ilk ürünü Kablo olarak görünür. Stoğu asgariye eşit olan ürün koşulu sağlamadığı için listeye girmez. Hiçbir ürün koşulu sağlamasaydı üçüncü bağımsız değişken sayesinde hata yerine Yok iletisi görünürdü.
G2 hücresine yazılacak formül:
H2 hücresine yazılacak formül:
E2 hücresi 9 satırlık şehir sütunundaki yinelemeleri ayıklar; listenin ilk şehri İstanbul olarak görünür. G2 hücresi E2# başvurusuyla taşma aralığının satır sayısını verir: 5 farklı şehir. H2 hücresi, üçüncü bağımsız değişken TRUE olduğu için yalnızca tablo içinde bir kez geçen şehirleri listeler; ilki Bursa olarak görünür.
D2 hücresi için:
E2 hücresi için:
G2 hücresi için:
D2 hücresi SEQUENCE ile 1'den 12'ye giden ay numaralarından 12 tarih üretir; ilk tarih Ocak 2025 olarak görünür ve mmmm yyyy biçimiyle ay adı ve yıl olarak gösterilir. E2 hücresi dört gider kaleminin toplamını 1, 2, 3 ... 12 ile çarpar; ilk ay için 20.600,00 değeri çıkar, sonraki satırlar kümülatif olarak artar. G2 hücresindeki SEQUENCE ise 10'dan başlayıp 5'er artan 3 satır ve 4 sütunluk bir matris taşırır; matrisin ilk değeri 10 olarak görünür.
FILTER yalnızca D2 hücresindeki departmana ait satırları seçer, SORT ise bu sonucu maaş sütununa göre azalan sıralar. Listenin ilk kişisi Cenk Ay olarak görünür. D2 hücresindeki departman adını değiştirirseniz taşma aralığı yeni sonuca göre kendiliğinden küçülür ya da büyür.
F2 hücresine yazılacak formül:
G2 hücresine yazılacak formül:
E2 hücresi tekil şehirleri taşırır; ilk şehir İstanbul olarak görünür. F2 hücresi, ölçüt olarak E2# başvurusunu aldığı için her şehir için ayrı toplam döndürür; ilk toplam 36.600,00 değeridir. G2 hücresi her toplamı genel toplama böler ve yüzde olarak gösterir; ilk pay 42% biçimindedir. Özet tablodan farklı olarak kaynak veri değiştiğinde Yenile komutuna gerek kalmaz.
XLOOKUP dönüş aralığı olarak B2:D9 verildiği için bulunan satırın üç sütununu yan yana döndürür: G2 hücresinde departman (İnsan Kaynakları), H2 hücresinde şehir (Bursa) ve I2 hücresinde maaş (30.000,00) görünür. Ad bulunamazsa üç hücrenin ilkinde Bulunamadı iletisi çıkar. E2 hücresindeki adı değiştirip sonuçların anında yenilendiğini görebilirsiniz.
C2 hücresindeki formül taşma yolunda dolu bir hücreyle karşılaştığı için çalışmaz ve #TAŞMA! hatası görünür; Excel hiçbir veriyi ezmez. E2 hücresindeki aynı formülün yolu boş olduğundan sonuç yerine ürünleri alfabetik sıralı biçimde taşırır; ilk ürün Boya Kalemi olarak görünür. Hata, engelleyen hücre silinince ya da formül başka bir boş alana taşınınca kendiliğinden kalkar.
Nerede bulunur ve nasıl çalışır
Dinamik dizi, şeritte bir düğme ya da menü komutu değildir; Excel'in formülleri hesaplama biçimidir. Microsoft 365, Excel 2021 ve sonrasında ile Excel Web'de bir formül birden fazla değer döndürürse, sonuçlar Enter tuşuna basar basmaz formülün yazıldığı hücreden başlayarak alttaki ve sağdaki boş hücrelere taşar. Taşan değerlerin kapladığı alana taşma aralığı (spill range) denir; aralıktaki bir hücreyi seçtiğinizde çevresinde ince mavi bir kenarlık görürsünüz. Formül yalnızca sol üst hücrede bulunur; taşan hücreleri seçtiğinizde formül çubuğunda formül soluk (gri) görünür ve bu hücrelerin içeriğini tek tek değiştiremezsiniz.Dinamik dizi işlevlerine Formüller > İşlev Kitaplığı (Formulas > Function Library) altındaki gruplardan ya da Formüller > İşlev Ekle (Formulas > Insert Function) penceresinden (Shift+F3) ulaşırsınız. SORT, SORTBY, FILTER, UNIQUE ve XLOOKUP Arama ve Başvuru (Lookup & Reference) grubunda, SEQUENCE ile RANDARRAY Matematik ve Trigonometri (Math & Trig) grubunda yer alır. Türkçe Excel'de işlev adları İngilizce adlardan farklıdır; formül yazarken Excel'in açılan öneri listesinden ya da İşlev Ekle penceresinden doğru adı seçin.
İşinize yarayacak kısayollar:
- F2: seçili hücrede formülü düzenleme moduna alır.
- Enter: dinamik dizi formülünü onaylar; eski sürümlerdeki Ctrl+Shift+Enter gerekmez.
- Ctrl+/: bulunduğunuz hücrenin ait olduğu dizinin ya da taşma aralığının tamamını seçer.
- Ctrl+ters tırnak : sonuçlar yerine formülleri gösterir; taşma aralıklarını incelemek için kullanışlıdır.
- Ctrl+Alt+V: Özel Yapıştır penceresini açar; dinamik sonucu sabit değere çevirmek için kullanılır.
Adım adım ilk dinamik formül
Aşağıdaki adımlar, Adet (B2:B7) ve Birim Fiyat (C2:C7) sütunlarından tek formülle tutar hesaplayan ilk dinamik formülü kurar:- Hücreyi seçin: D2 gibi, altında ve sağında yeterince boş hücre bulunan bir hücre seçin.
- Formülü yazın: aşağıda verilen aralık çarpımını yazın; tek bir satıra kopyalamanıza gerek yoktur.
- Enter'a basın: sonuç D2:D7 aralığına taşar; Ctrl+Shift+Enter ya da doldurma tutamacı gerekmez.
- Taşma aralığını inceleyin: D4 gibi taşan bir hücre seçin; formül çubuğundaki formül gri görünür, çünkü formül yalnızca D2 hücresindedir.
- Kaynağı değiştirin: B ya da C sütunundaki bir sayıyı değiştirin; sonuç anında güncellenir.
- Sonuca başvurun: başka bir hücrede D2# yazarak taşma aralığının tamamına başvurabilirsiniz.
=B2:B7*C2:C7
Satır sayısı değişince D2# başvurusu da kendiliğinden büyür ya da küçülür; toplam formülünü yeniden yazmanız gerekmez.
Dinamik dizi işlevleri ve seçimi
Her işlev dizi döndürdüğü için taşma yapabilir. Hangisini seçeceğiniz, ihtiyacınıza bağlıdır:- SORT: bir aralığı ya da diziyi belirtilen sütuna göre artan ya da azalan sıralar. Tek ölçüt yeterliyse seçin.
- SORTBY: sıralama ölçütü sonuç dizisinde bulunmayan ya da birden çok ayrı aralık olan durumlarda kullanılır.
- FILTER: koşulu sağlayan satırları ya da sütunları döndürür; koşul sağlanmazsa üçüncü bağımsız değişkenle bir ileti verebilirsiniz, yoksa #CALC! hatası alırsınız.
- UNIQUE: yinelenenleri ayıklar; ikinci bağımsız değişken sütunlara göre karşılaştırma yapar, üçüncüsü TRUE ise yalnızca bir kez geçen değerleri döndürür.
- SEQUENCE: satır, sütun, başlangıç ve artış vererek sayı dizisi üretir; tarih, sıra numarası ve matris kurmada kullanılır.
- RANDARRAY: rastgele sayı dizisi üretir; her hesaplamada değişir.
- XLOOKUP ve XMATCH: XLOOKUP, dönüş aralığı birden çok sütunsa satırın tamamını taşırır; DÜŞEYARA'nın dizi döndüren modern karşılığıdır.
- LET: ara hesapları adlandırıp tekrar kullanmanızı sağlar; uzun formülleri okunur ve hızlı yapar (Excel 2021 ve Microsoft 365).
- Yeni dizi işlevleri: TAKE, DROP, VSTACK, HSTACK, TOCOL, TOROW, CHOOSECOLS, EXPAND, TEXTSPLIT ve LAMBDA ile çalışan MAP, REDUCE, SCAN, BYROW, BYCOL işlevleri Microsoft 365 abonelerinde bulunur; Excel 2021'de yoktur.
Taşma aralığı ve # işleci
Taşma aralığına başvurmak için sol üst hücrenin adresinin sonuna # işareti ekleyin. Örneğin E2 hücresindeki UNIQUE sonucuna E2# diye başvurursunuz; sonuç büyüyüp küçüldükçe başvuru da uyum sağlar. Bu yöntem, sabit aralık (E2:E20) yazmaktan daha güvenlidir.Birden fazla işlevi iç içe kullanarak tek formülde süzüp sıralayabilirsiniz. Satış departmanındaki personeli maaşa göre azalan sıralamak için:
# işlecinin kullanılabildiği yerler:
- Başka formüller: TOPLA, SATIRSAY ya da EĞER gibi işlevlerin bağımsız değişkeni olarak E2# yazılabilir.
- Veri doğrulama: Veri > Veri Doğrulama (Data > Data Validation) penceresinde Liste kaynağına E2# yazarsanız açılır liste, taşma aralığıyla birlikte büyür.
- Grafik: Ad Yöneticisi'nde (Formüller > Tanımlı Adlar > Ad Yöneticisi) taşma aralığına başvuran bir ad tanımlayıp grafik serisinde bu adı kullanırsanız grafik dinamik olur.
- Başka sayfa: başka sayfadaki taşma aralığına Sayfa1!E2# biçiminde başvurulur.
Örtük kesişim, @ işareti ve VBA
Eski Excel sürümlerinde bir formül birden fazla değer döndürmeye çalışırsa Excel bunu sessizce tek değere indirgerdi; buna örtük kesişim (implicit intersection) denir. Dinamik dizi sürümlerinde artık sonuç taşar. Eski dosyalarda tek değer davranışını korumak için Excel formüle @ işareti ekler; bu işaret, 'burada tek değer bekleniyor' anlamına gelir. Taşmasını istiyorsanız @ işaretini silip Enter'a basın.VBA tarafında iki özellik vardır: Range.Formula eski örtük kesişim davranışıyla yazar ve gerektiğinde @ ekler; Range.Formula2 ise dinamik dizi davranışıyla yazar ve sonuç taşar. Taşma bilgisi için HasSpill, SpillingToRange ve SpillParent özellikleri kullanılır:
VBA
6 satır
Sub DinamikFormulYaz()
Range("D2").Formula2 = "=B2:B7*C2:C7"
If Range("D2").HasSpill Then
Debug.Print Range("D2").SpillingToRange.Address
End If
End Sub
Sürüm farkları ve eski dizi formülleri
Dinamik dizi desteği sürüme göre değişir:- Excel 2016 ve 2019: dinamik dizi yoktur. SORT, FILTER, UNIQUE, SEQUENCE gibi işlevler #AD? hatası verir; dosya bu sürümde açılırsa formül başında _xlfn ön eki görünebilir.
- Excel 2021: SORT, SORTBY, FILTER, UNIQUE, SEQUENCE, RANDARRAY, XLOOKUP, XMATCH ve LET vardır; TAKE, VSTACK, TEXTSPLIT ve LAMBDA aileleri yoktur.
- Microsoft 365: tüm işlevler bulunur; yeni işlevler kademeli olarak ve bazı kanallara daha geç gelir.
- Excel Web: dinamik dizileri destekler; makro (VBA) çalışmaz.
- Excel Mac: Microsoft 365 ve 2021 sürümlerinde desteklenir; Mac için Excel 2019 ve öncesinde yoktur.
Sınırlar ve performans
Dinamik dizilerin bilinmesi gereken sınırları şunlardır:- Sayfa sınırı: taşma aralığı çalışma sayfasının 1.048.576 satır ve 16.384 sütun sınırını aşamaz; aşarsa #SPILL! hatası oluşur.
- Dizi içinde dizi yoktur: bir dizinin elemanı başka bir dizi olamaz; böyle bir sonuç #CALC! hatası verir. Çözüm olarak sonucu tek tabloya indirgeyin.
- Tablo içinde taşmaz: Excel Tablosu (Ctrl+T ile oluşturulan) içine dinamik dizi formülü yazılamaz; formülü tablonun dışına yazın ve tabloya yapılandırılmış başvuruyla bakın.
- Birleştirilmiş hücreler: taşma aralığı birleştirilmiş hücreye çarparsa #SPILL! oluşur.
- Veri tablosu: Ya Olursa analizindeki Veri Tablosu (Data Table) ile dinamik dizi birlikte kullanılamaz.
- Tam sütun başvurularından kaçının: A:A gibi başvurular dizi aritmetiğinde yaklaşık bir milyon satırı hesaplatır; gerçek veri aralığını ya da bir Tablo sütununu kullanın.
- Ara sonucu LET ile bir kez hesaplayın: aynı FILTER ya da SORT ifadesini formülde birden çok yazmak hesaplamayı katlar.
- RANDARRAY uçucudur: her hesaplamada yeniden çalışır; büyük çalışma kitaplarında kullanımını sınırlayın.
- Zincirleme taşmalardan kaçının: bir taşmanın üzerine onlarca taşma bağlamak, kaynak değiştiğinde zincirleme yeniden hesaplamaya yol açar.
Neden çalışmıyor
Sık karşılaşılan sorunlar ve çözümleri:- #SPILL! (engel): Belirti: formül hücresinde hata görünür. Neden: taşma aralığındaki bir hücrede veri, boşluk karakteri ya da biçimlendirilmiş içerik var. Çözüm: hata simgesine tıklayıp Engelleyen Hücreleri Seç komutunu kullanın ve engelleri silin ya da taşıyın.
- #SPILL! (tablo içinde): Belirti: Tablo içinde yazılan formül hata verir. Neden: Tablolar dinamik taşmayı desteklemez. Çözüm: formülü tablonun dışındaki bir hücreye taşıyın.
- #SPILL! (birleştirilmiş hücre ya da çok büyük): Belirti: hata türü 'taşma çok büyük' ya da 'birleştirilmiş hücre' olarak görünür. Neden: sonuç sayfa sınırını aşıyor ya da birleştirilmiş hücreye çarpıyor. Çözüm: birleştirmeyi kaldırın, başvuruları gerçek veri aralığıyla sınırlayın.
- #CALC!: Belirti: FILTER veya UNIQUE sonucunda hata. Neden: koşulu sağlayan satır yok ya da sonuç dizi içinde dizi. Çözüm: FILTER'ın üçüncü bağımsız değişkenine bir ileti yazın, sonuç yapısını sadeleştirin.
- #AD? (#NAME?): Belirti: yeni işlev tanınmıyor. Neden: Excel 2016 ya da 2019 kullanıyorsunuz, ya da işlev adını yanlış yazdınız. Çözüm: sürümünüzü kontrol edin; Türkçe Excel'de adı İşlev Ekle penceresinden seçin.
- Formülün başında @ görünüyor: Belirti: sonuç tek hücrede kalıyor. Neden: eski bir dosyada ya da VBA'da Formula ile yazılmış. Çözüm: @ işaretini silip Enter'a basın; VBA'da Formula2 kullanın.
- Formül metin olarak görünüyor: Belirti: hücrede formül yazısı duruyor. Neden: hücre Metin biçimli ya da formülün önünde kesme işareti var. Çözüm: biçimi Genel yapın, F2 ve Enter ile yeniden girin.
- Sonuç güncellenmiyor: Belirti: kaynak değişince değerler değişmiyor. Neden: hesaplama Elle ayarında. Çözüm: Formüller > Hesaplama Seçenekleri > Otomatik (Formulas > Calculation Options > Automatic) seçin ya da F9'a basın.
- Formül çalışıyor ama taşmıyor: Belirti: yalnızca ilk değer görünüyor. Neden: formül tek değer döndürüyor ya da işlev dizi kabul etmiyor. Çözüm: bağımsız değişkenlerin aralık olduğundan emin olun.
1. Temel taşma ve toplam
Ürün, adet ve birim fiyat tablosundan tek formülle tüm satırların tutarını hesaplayacaksınız. Alt hücrelere kopyalama yapmayacaksınız.- Verileri A1:C7 aralığına girin, D1 hücresine Tutar, F1 hücresine Genel Toplam yazın.
- D2 hücresini seçin ve aşağıdaki formülü yazın, ardından Enter'a basın.
- F2 hücresine, taşma aralığını toplayan ikinci formülü yazın.
- D2:D7 aralığını seçip Giriş sekmesindeki Sayı grubundan Binlik Ayracı ve iki ondalık biçimini uygulayın.
=B2:B7*C2:C7
Dinamik Dizi
Formülünü incelemek için bir hücre seçin.| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Ürün | Adet | Birim Fiyat | Tutar | Genel Toplam | |
| 2 | Klavye | 12 | 450,00 | 5.400,00 | 65.350,00 | |
| 3 | Fare | 25 | 180,00 | 4.500,00 | ||
| 4 | Monitör | 6 | 4.200,00 | 25.200,00 | ||
| 5 | Kulaklık | 15 | 650,00 | 9.750,00 | ||
| 6 | Webcam | 9 | 900,00 | 8.100,00 | ||
| 7 | Yazıcı | 4 | 3.100,00 | 12.400,00 |
Taşma TemeliExcelDepo v1.0.0
2. Tek hücrede dizi hesabı
Şehre göre koşullu toplam ve en yüksek satış gibi hesaplar, eskiden Ctrl+Shift+Enter gerektirirdi. Dinamik dizi sürümlerinde yalnızca Enter yeterlidir.- Verileri A1:C9 aralığına yazın; D1 hücresine Şehir, D2 hücresine İstanbul yazın. F1 hücresine Toplam, G1 hücresine En Yüksek başlığını girin.
- F2 hücresine toplam formülünü yazıp Enter'a basın.
- G2 hücresine en yüksek değeri bulan formülü yazıp Enter'a basın.
- Her iki hücreyi Binlik Ayracı biçimiyle biçimlendirin.
G2 hücresine yazılacak formül:
Dinamik Dizi
Formülünü incelemek için bir hücre seçin.| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Satıcı | Şehir | Tutar | Şehir | Toplam | En Yüksek | |
| 2 | Ahmet Yılmaz | İstanbul | 12.500,00 | İstanbul | 36.600,00 | 15.200,00 | |
| 3 | Ayşe Demir | Ankara | 9.800,00 | ||||
| 4 | Mehmet Kaya | İzmir | 7.600,00 | ||||
| 5 | Elif Çelik | İstanbul | 15.200,00 | ||||
| 6 | Burak Şahin | Ankara | 11.300,00 | ||||
| 7 | Zeynep Arslan | Bursa | 6.400,00 | ||||
| 8 | Can Öztürk | İstanbul | 8.900,00 | ||||
| 9 | Selin Aydın | Ankara | 10.100,00 |
Dizi HesabıExcelDepo v1.0.0
3. SORT ile sıralama
Sınıf listesindeki öğrencileri nota göre büyükten küçüğe sıralayan, kaynak değiştikçe kendini güncelleyen bir liste kuracaksınız.- Verileri A1:C9 aralığına yazın, E1:G1 hücrelerine sıralı listenin başlıklarını girin.
- E2 hücresini seçin ve SORT işlevini yazın: ilk bağımsız değişken tablo, ikincisi sıralanacak sütunun sırası (3), üçüncüsü yön (-1 azalan).
- Enter'a basın; sonuç E2:G9 aralığına taşar.
- Kaynak listede bir notu değiştirip sıranın kendiliğinden yenilendiğini görün.
Dinamik Dizi
Formülünü incelemek için bir hücre seçin.| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Öğrenci | Sınıf | Not | Öğrenci | Sınıf | Not | |
| 2 | Deniz Karaca | 9-A | 78 | Naz Güler | 9-C | 95 | |
| 3 | Mert Aksoy | 9-B | 92 | Mert Aksoy | 9-B | 92 | |
| 4 | Ece Yıldız | 9-A | 85 | Selin Er | 9-B | 88 | |
| 5 | Kaan Polat | 9-C | 64 | Ece Yıldız | 9-A | 85 | |
| 6 | Selin Er | 9-B | 88 | Deniz Karaca | 9-A | 78 | |
| 7 | Arda Tunç | 9-A | 71 | Arda Tunç | 9-A | 71 | |
| 8 | Naz Güler | 9-C | 95 | Kaan Polat | 9-C | 64 | |
| 9 | Ozan Doğan | 9-B | 59 | Ozan Doğan | 9-B | 59 |
Not SıralamaExcelDepo v1.0.0
4. FILTER ile koşullu liste
Stoğu asgari stok düzeyinin altına inen ürünleri ayrı bir listede göstereceksiniz. Hiçbir ürün koşulu sağlamazsa Excel bir ileti gösterecek.- Verileri A1:D9 aralığına yazın, F1:I1 hücrelerine sonuç başlıklarını girin.
- F2 hücresine FILTER formülünü yazın: ilk bağımsız değişken döndürülecek tablo, ikincisi koşul, üçüncüsü sonuç boşsa görünecek ileti.
- Enter'a basın; koşulu sağlayan satırlar F2:I5 aralığına taşar.
- C sütunundaki bir stok değerini asgari değerin üzerine çıkarın; ürünün listeden kendiliğinden çıktığını görün.
Dinamik Dizi
Formülünü incelemek için bir hücre seçin.| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Ürün | Kategori | Stok | Asgari Stok | Ürün | Kategori | Stok | Asgari Stok | |
| 2 | Kablo | Elektrik | 40 | 50 | Kablo | Elektrik | 40 | 50 | |
| 3 | Priz | Elektrik | 120 | 80 | Ampul | Aydınlatma | 35 | 60 | |
| 4 | Ampul | Aydınlatma | 35 | 60 | Led Şerit | Aydınlatma | 18 | 30 | |
| 5 | Pil | Elektrik | 200 | 150 | Sigorta | Elektrik | 55 | 70 | |
| 6 | Led Şerit | Aydınlatma | 18 | 30 | |||||
| 7 | Anahtar | Elektrik | 90 | 60 | |||||
| 8 | Duy | Aydınlatma | 25 | 25 | |||||
| 9 | Sigorta | Elektrik | 55 | 70 |
Kritik StokExcelDepo v1.0.0
5. UNIQUE ile tekil liste
Müşteri siparişlerinde hangi şehirlerden sipariş geldiğini, kaç farklı şehir olduğunu ve yalnızca bir kez geçen şehirleri bulacaksınız.- Verileri A1:C10 aralığına yazın; E1, G1 ve H1 hücrelerine başlıkları girin.
- E2 hücresine UNIQUE formülünü yazıp Enter'a basın; tekil şehirler alt alta taşar.
- G2 hücresine, taşma aralığındaki satırları sayan ikinci formülü yazın.
- H2 hücresine UNIQUE işlevinin üçüncü bağımsız değişkenini TRUE yaparak yalnızca bir kez geçenleri listeleyin.
G2 hücresine yazılacak formül:
H2 hücresine yazılacak formül:
Dinamik Dizi
Formülünü incelemek için bir hücre seçin.| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 1 | Müşteri | Şehir | Tutar | Tekil Şehirler | Şehir Sayısı | Yalnız Bir Kez Geçen | ||
| 2 | Arda Ticaret | İstanbul | 5.400,00 | İstanbul | 5 | Bursa | ||
| 3 | Boran Ltd. | Ankara | 3.200,00 | Ankara | Adana | |||
| 4 | Cem Market | İstanbul | 2.800,00 | İzmir | ||||
| 5 | Derya Gıda | İzmir | 4.100,00 | Bursa | ||||
| 6 | Ekin Tekstil | Bursa | 6.700,00 | Adana | ||||
| 7 | Fatih Mobilya | Ankara | 3.900,00 | |||||
| 8 | Gül Eczanesi | İstanbul | 1.500,00 | |||||
| 9 | Hakan Oto | Adana | 2.300,00 | |||||
| 10 | İpek Kırtasiye | İzmir | 1.900,00 |
Tekil ListeExcelDepo v1.0.0
6. SEQUENCE ile takvim ve matris
Aylık sabit giderlerden 12 aylık bir bütçe takvimi ve kümülatif gider sütunu üreteceksiniz. Ayrıca iki boyutlu bir sayı matrisi görmek için SEQUENCE işlevinin satır ve sütun bağımsız değişkenlerini kullanacaksınız.- Giderleri A1:B5 aralığına yazın; D1, E1 ve G1 hücrelerine başlıkları girin.
- D2 hücresine, 12 ayın ilk günlerini döndüren tarih formülünü yazın ve sonucu mmmm yyyy biçiminde gösterin.
- E2 hücresine, gider toplamını ay numarasıyla çarpan formülü yazın.
- G2 hücresine 3 satır, 4 sütunluk bir matris üreten formülü yazın.
D2 hücresi için:
E2 hücresi için:
G2 hücresi için:
=SEQUENCE(3,4,10,5)
Dinamik Dizi
Formülünü incelemek için bir hücre seçin.| A | B | C | D | E | F | G | H | I | J | |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Gider Kalemi | Aylık Tutar | Ay | Kümülatif Gider | Matris (3x4) | |||||
| 2 | Kira | 18.000,00 | Ocak 2025 | 20.600,00 | 10 | 15 | 20 | 25 | ||
| 3 | Elektrik | 1.250,00 | Şubat 2025 | 41.200,00 | 30 | 35 | 40 | 45 | ||
| 4 | İnternet | 450,00 | Mart 2025 | 61.800,00 | 50 | 55 | 60 | 65 | ||
| 5 | Aidat | 900,00 | Nisan 2025 | 82.400,00 | ||||||
| 6 | Mayıs 2025 | 103.000,00 | ||||||||
| 7 | Haziran 2025 | 123.600,00 | ||||||||
| 8 | Temmuz 2025 | 144.200,00 | ||||||||
| 9 | Ağustos 2025 | 164.800,00 | ||||||||
| 10 | Eylül 2025 | 185.400,00 | ||||||||
| 11 | Ekim 2025 | 206.000,00 | ||||||||
| 12 | Kasım 2025 | 226.600,00 | ||||||||
| 13 | Aralık 2025 | 247.200,00 |
Aylık TakvimExcelDepo v1.0.0
7. SORT ve FILTER birlikte
Personel tablosundan seçtiğiniz bir departmandaki çalışanları maaşa göre büyükten küçüğe listeleyeceksiniz. Departman adı D2 hücresinden okunacak; hücreyi değiştirince liste yenilenecek.- Verileri A1:C10 aralığına yazın; D1 hücresine Aranan Departman, D2 hücresine Satış yazın. F1:H1 hücrelerine sonuç başlıklarını girin.
- F2 hücresine SORT içinde FILTER kullanan formülü yazıp Enter'a basın.
- H2:H10 aralığına Binlik Ayracı biçimini uygulayın.
- D2 hücresine Muhasebe yazarak listenin değiştiğini görün.
Dinamik Dizi
Formülünü incelemek için bir hücre seçin.| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 1 | Ad | Departman | Maaş | Aranan Departman | Ad | Departman | Maaş | |
| 2 | Ali Kurt | Satış | 28.000,00 | Satış | Cenk Ay | Satış | 35.500,00 | |
| 3 | Banu Er | Muhasebe | 32.000,00 | Gökhan Dal | Satış | 31.000,00 | ||
| 4 | Cenk Ay | Satış | 35.500,00 | İlker Can | Satış | 29.500,00 | ||
| 5 | Derya Su | İnsan Kaynakları | 30.000,00 | Ali Kurt | Satış | 28.000,00 | ||
| 6 | Emre Tan | Satış | 26.500,00 | Emre Tan | Satış | 26.500,00 | ||
| 7 | Funda Ak | Muhasebe | 34.000,00 | |||||
| 8 | Gökhan Dal | Satış | 31.000,00 | |||||
| 9 | Hale Öz | BT | 41.000,00 | |||||
| 10 | İlker Can | Satış | 29.500,00 |
Birleşik ListeExcelDepo v1.0.0
8. UNIQUE ile dinamik özet
Özet tablo kurmadan, şehre göre satış toplamlarını ve payları dinamik dizilerle üreteceksiniz. Yeni bir şehir eklenirse kaynak aralığı genişlettiğinizde liste kendiliğinden büyür.- Verileri A1:C10 aralığına yazın; E1, F1 ve G1 hücrelerine Şehir, Toplam, Pay başlıklarını girin.
- E2 hücresine tekil şehirleri veren formülü yazın.
- F2 hücresine, E2# başvurusunu ölçüt olarak kullanan koşullu toplam formülünü yazın.
- G2 hücresine toplamın genel toplama oranını veren formülü yazıp sütunu yüzde biçimine çevirin.
F2 hücresine yazılacak formül:
G2 hücresine yazılacak formül:
Dinamik Dizi
Formülünü incelemek için bir hücre seçin.| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Satıcı | Şehir | Tutar | Şehir | Toplam | Pay | |
| 2 | Ahmet Yılmaz | İstanbul | 12.500,00 | İstanbul | 36.600,00 | 42% | |
| 3 | Ayşe Demir | Ankara | 9.800,00 | Ankara | 31.200,00 | 36% | |
| 4 | Mehmet Kaya | İzmir | 7.600,00 | İzmir | 13.400,00 | 15% | |
| 5 | Elif Çelik | İstanbul | 15.200,00 | Bursa | 6.400,00 | 7% | |
| 6 | Burak Şahin | Ankara | 11.300,00 | ||||
| 7 | Zeynep Arslan | Bursa | 6.400,00 | ||||
| 8 | Can Öztürk | İstanbul | 8.900,00 | ||||
| 9 | Selin Aydın | Ankara | 10.100,00 | ||||
| 10 | Deniz Aksu | İzmir | 5.800,00 |
Dinamik ÖzetExcelDepo v1.0.0
9. XLOOKUP ile çok sütunlu arama
Personelin adını girdiğinizde departmanını, şehrini ve maaşını tek formülle getireceksiniz. Dönüş aralığı üç sütun olduğu için sonuç yan yana taşar.- Verileri A1:D9 aralığına yazın; E1 hücresine Aranan Personel, E2 hücresine Elif Çelik yazın. G1:I1 hücrelerine sonuç başlıklarını girin.
- G2 hücresine XLOOKUP formülünü yazın: aranan değer, arama aralığı, dönüş aralığı (B2:D9) ve bulunamazsa iletisi.
- Enter'a basın; sonuç G2:I2 aralığına taşar.
- I2 hücresine Binlik Ayracı biçimini uygulayın ve E2'deki adı değiştirerek farklı bir kişiyi arayın.
Dinamik Dizi
Formülünü incelemek için bir hücre seçin.| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Ad | Departman | Şehir | Maaş | Aranan Personel | Departman | Şehir | Maaş | |
| 2 | Ali Kurt | Satış | İstanbul | 28.000,00 | Elif Çelik | İnsan Kaynakları | Bursa | 30.000,00 | |
| 3 | Banu Er | Muhasebe | Ankara | 32.000,00 | |||||
| 4 | Cenk Ay | Satış | İzmir | 35.500,00 | |||||
| 5 | Elif Çelik | İnsan Kaynakları | Bursa | 30.000,00 | |||||
| 6 | Emre Tan | Satış | Ankara | 26.500,00 | |||||
| 7 | Funda Ak | Muhasebe | İstanbul | 34.000,00 | |||||
| 8 | Gökhan Dal | BT | İzmir | 41.000,00 | |||||
| 9 | Hale Öz | Satış | Adana | 29.500,00 |
Çoklu AramaExcelDepo v1.0.0
10. SPILL hatası ve engel
Aynı formülü iki ayrı yere yazacaksınız: birinin taşma yolunda bir engel hücre olacak, diğeri engelsiz olacak. Böylece #SPILL! hatasının nedenini ve çözümünü göreceksiniz.- A1:A7 aralığına ürün adlarını yazın; C1 ve E1 hücrelerine başlıkları girin.
- C4 hücresine herhangi bir metin (örneğin Engel) yazın.
- C2 hücresine SORT formülünü yazıp Enter'a basın; taşma yolunda C4 dolu olduğundan #SPILL! hatası görünür.
- Aynı formülü E2 hücresine yazın; engel olmadığı için liste düzgün taşar.
- C2 hücresindeki uyarı simgesine tıklayıp Engelleyen Hücreleri Seç komutunu seçin ve C4 hücresini silin; liste taşar.
Dinamik Dizi
Formülünü incelemek için bir hücre seçin.| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Ürün | Engelli Formül | Engelsiz Formül | ||
| 2 | Kalem | #TAŞMA! | Boya Kalemi | ||
| 3 | Defter | Cetvel | |||
| 4 | Silgi | Engel | Defter | ||
| 5 | Cetvel | Kalem | |||
| 6 | Makas | Makas | |||
| 7 | Boya Kalemi | Silgi |
Taşma HatasıExcelDepo v1.0.0
Kullanırken dikkat edin
- Sürümünüzü kontrol edin: Dinamik dizi Microsoft 365, Excel 2021 ve sonrası, Excel Web ve Mac sürümlerinde çalışır. Excel 2016 ve 2019'da SORT, FILTER, UNIQUE gibi işlevler tanınmaz; bu dosyayı paylaşacağınız kişilerin sürümünü önceden öğrenin.
- Taşma yolu boş olmalı: Taşma aralığındaki hücrelerde veri, boşluk karakteri ya da formül varsa #SPILL! hatası oluşur. Hata simgesinden Engelleyen Hücreleri Seç komutuyla engelleri bulabilirsiniz; görünmeyen boşluk karakterlerini de denetleyin.
- Tabloda taşma yapmaz: Excel Tablosu (Ctrl+T) içine dinamik dizi formülü yazamazsınız. Formülü tablonun dışına koyun; tablodaki bir sütunu işleve vermek için yapılandırılmış başvuruyu (örneğin Satışlar[Tutar]) kullanın.
- # işlecini tercih edin: Sonuç aralığına E2:E20 gibi sabit adresle başvurmak, sonuç büyüdüğünde eksik hesaba yol açar. E2# yazmak, taşma aralığı ne kadar büyürse büyüsün başvurunun uyumlu kalmasını sağlar.
- Taşan hücreleri düzenleyemezsiniz: Taşma aralığındaki tek bir hücreyi silemez ya da yazamazsınız. Değişiklik için sol üst hücredeki formülü düzenleyin ya da tüm aralığı silmek için o hücreyi silin.
- VBA'da Formula2 kullanın: Dinamik dizi sonucu bekliyorsanız makroda Formula2 özelliğini kullanın. Formula ile yazılan formüle Excel @ ekler ve sonuç taşmaz. Taşma durumunu HasSpill ve SpillingToRange ile denetleyebilirsiniz.
- @ işaretini silmeyi unutmayın: Eski dosyalarda formülün önünde @ görünüyorsa Excel tek değer beklemektedir. Taşmasını istediğiniz formüllerde @ işaretini silip Enter'a basın.
- Tam sütun başvurusundan kaçının: Dizi aritmetiğinde A:A gibi tam sütun başvuruları yaklaşık bir milyon satırı hesaplatır ve çalışma kitabını yavaşlatır. Gerçek veri aralığını ya da bir Tablo sütununu kullanın; LET ile ara sonuçları bir kez hesaplayın.
- Eski dizi formüllerini dönüştürme: Ctrl+Shift+Enter ile girilmiş süslü parantezli formülleri dinamik biçime çevirmek için hücreyi seçin, F2 ve Enter'a basın. Sonuç boyutunun değişebileceğini ve altındaki hücrelerin boş olması gerektiğini unutmayın.
- Sonucu sabit değere çevirme: Taşma aralığını seçip kopyalayın, Giriş > Yapıştır > Değerleri Yapıştır (Home > Paste > Values) komutuyla aynı yere yapıştırın. Bu işlem formülü kaldırır ve değerleri sabitler; sonuç artık kaynak veriyle güncellenmez.
- Biçimlendirmeyi geniş tutun: Sayı biçimi ve koşullu biçim hücre bazlıdır; taşma aralığı büyürse yeni hücreler biçimi taşımaz. Sonucun büyüyebileceği sütunun tamamına biçim uygulayın.
- Veri > Sırala işe yaramaz: Taşma aralığına Veri > Sırala (Data > Sort) ya da Otomatik Filtre uygulayamazsınız; sıralama ve süzme için kaynak veriyi değiştirmeyin, formülde SORT ya da FILTER kullanın.
- Birleştirilmiş hücrelerden uzak durun: Taşma yolundaki birleştirilmiş hücreler #SPILL! hatasına neden olur. Raporunuzda başlık için birleştirme yerine Seçim Üzerinde Ortala (Center Across Selection) biçimini kullanın.
- Boş sonuç için ileti verin: FILTER hiç eşleşme bulamazsa #CALC! hatası verir. Üçüncü bağımsız değişkene Kayıt yok gibi bir ileti yazarak raporunuzun hata göstermesini önleyin.
- İlgili konular:
- İşlevler: SIRALA (SORT), FİLTRE (FILTER), BENZERSİZ (UNIQUE), SEQUENCE, ÇAPRAZARA (XLOOKUP), DÜŞEYARA, TRANSPOZE, TOPLA, ETOPLA, EĞER
- Özellikler: Dizi Formülü (Ctrl+Shift+Enter), Excel Tablosu, Veri Doğrulama, Özet Tablo, Ad Yöneticisi
- VBA öğeleri: Range.Formula2, Range.HasSpill, Range.SpillingToRange, Range.SpillParent