• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü Excel Dosya Boyutunun Aşırı Büyümesi ve Kasma / Yavaş Açılma Sorunu Nasıl Çözülür?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

crespo

Yeni Üye
Katılım
19 Ocak 2022
Mesajlar
2
Aldığı beğeni
0
Excel V
Office 2019 TR
Konu Sahibi
Windows 10 Google Chrome 152
Arkadaşlar merhaba, üzerinde çalıştığım ortak bir Excel raporu var. İçinde sadece 10-15 bin satır veri ve birkaç tane özet tablo (Pivot Table) olmasına rağmen dosya boyutu durup dururken 45 MB üzerine çıktı. Dosyayı açarken veya bir hücreye veri girerken Excel donuyor, kilitleniyor ve "Hesaplanıyor %40" uyarısında uzun süre bekletiyor. Gizli satırlar, boş hücrelerde kalmış biçimlendirmeler veya pivot önbelleği buna sebep oluyor olabilir mi? Bu dosya boyutunu düşürmek ve performansını artırmak için ne yapabilirim? Önerilerinizi bekliyorum.
 
Çözüm
Evet, saydığınız üç şey de buna yol açabilir; fakat 45 MB dosya + “Hesaplanıyor %40” birlikte görülüyorsa genellikle iki ayrı sorun vardır: dosyayı şişiren gereksiz hücre/Pivot önbelleği ve Excel’i bekleten ağır hesaplama zinciri.

Ekteki performans_ve_boyut_sorunu_taslak.xlsx dosyasını da kontrol ettim. Taslak yalnızca yaklaşık 7,6 KB, yani gerçek 45 MB’lık dosya değil; fakat önemli bir problemi çok güzel gösteriyor: sayfada asıl veri küçük olmasına rağmen Excel sayfayı A1:Z5000 aralığına kadar kullanılmış kabul ediyor. Ayrıca A10:N99 civarında çok sayıda boş fakat biçimlendirilmiş hücre kaydı var; Z100 ve A5000'de de içerik bulunuyor. Dolayısıyla sizin şüphelendiğiniz “boş/gereksiz hücrelerin used range'i büyütmesi” gerçek bir sorun...
Windows 10 Opera 135
Evet, saydığınız üç şey de buna yol açabilir; fakat 45 MB dosya + “Hesaplanıyor %40” birlikte görülüyorsa genellikle iki ayrı sorun vardır: dosyayı şişiren gereksiz hücre/Pivot önbelleği ve Excel’i bekleten ağır hesaplama zinciri.

Ekteki performans_ve_boyut_sorunu_taslak.xlsx dosyasını da kontrol ettim. Taslak yalnızca yaklaşık 7,6 KB, yani gerçek 45 MB’lık dosya değil; fakat önemli bir problemi çok güzel gösteriyor: sayfada asıl veri küçük olmasına rağmen Excel sayfayı A1:Z5000 aralığına kadar kullanılmış kabul ediyor. Ayrıca A10:N99 civarında çok sayıda boş fakat biçimlendirilmiş hücre kaydı var; Z100 ve A5000'de de içerik bulunuyor. Dolayısıyla sizin şüphelendiğiniz “boş/gereksiz hücrelerin used range'i büyütmesi” gerçek bir sorun.

Ben şu sırayla giderdim:

Önce Ctrl+End testi yapın. Her sayfada Ctrl+End basın. Gerçek veriniz örneğin A1:M15000'de bitiyorsa ama Excel sizi XFD500000 veya benzeri bir yere götürüyorsa dosyada ciddi bir “kullanılmış alan şişmesi” vardır. Gerçek verinin altındaki satırların tamamını, sağındaki sütunların tamamını seçip Sil komutuyla silin. Sadece Delete tuşuyla içeriği temizlemek yeterli değildir. Sonra dosyayı kaydedin, kapatın ve yeniden açın.
Boş hücrelerdeki biçimlendirmeleri temizleyin. Özellikle tüm sütuna verilmiş kenarlık, dolgu, özel sayı biçimi ve koşullu biçimlendirme çok yaygın bir sebeptir. Örneğin veri 15.000 satırsa biçimi A:XFD veya 1:1048576 seviyesinde uygulamayın. Koşullu Biçimlendirme → Kuralları Yönet bölümünde "Uygulandığı yer" alanlarını kontrol edin. $A:$A, $A:$Z veya yüz binlerce satıra uygulanmış onlarca aynı kural görürseniz daraltın.

“Hesaplanıyor %40” için formülleri ayrı inceleyin. Bu mesajın ana sebebi genellikle Pivot önbelleği değil, formüllerdir. Özellikle A:A, B:B gibi tam sütun referanslarıyla çalışan ETOPLA/ÇOKETOPLA, DÜŞEYARA/XLOOKUP, TOPLA.ÇARPIM, dizi formülleri çok pahalı olabilir. Örneğin =ÇOKETOPLA(H:H;A:A;K2...) yerine gerçek veri 15.000 satırsa H2:H15000, A2:A15000 gibi sınırlı aralıklar çok daha hızlıdır. DOLAYLI (INDIRECT), KAYDIR (OFFSET), ŞİMDİ, BUGÜN, RASTGELE gibi yeniden hesaplanan fonksiyonlar da kontrol edilmeli.
Hızlı teşhis için Hesaplama Modunu geçici olarak Manuel yapın. Formüller → Hesaplama Seçenekleri → El ile/Manuel yapıp bir hücreye veri girin. Donma büyük ölçüde ortadan kalkıyorsa sorunun kaynağı neredeyse kesin olarak hesaplama zinciridir. Bu sadece teşhis içindir; sonrasında formülleri optimize edip otomatik hesaplamaya dönmek daha doğru olur.

Pivot önbelleğini kontrol edin. Birkaç Pivot aynı 10–15 bin satırı ayrı ayrı önbelleğe alıyorsa dosya gereksiz büyüyebilir. PivotTable Seçenekleri → Veri bölümündeki “Kaynak verileri dosyayla birlikte kaydet” seçeneğini, çalışma şekliniz uygunsa kapatmak dosya boyutunu ciddi azaltabilir. Ayrıca eski öğelerin Pivot önbelleğinde tutulmaması ve dosya açılırken gereksiz otomatik yenileme yapılmaması faydalıdır. Aynı veri kaynağından oluşturulan Pivotların mümkün olduğunca aynı önbelleği paylaşması da önemlidir.

Excel Tablosu kullanıyorsanız aralığı kontrol edin. Bazen tablo gerçekte 15.000 satır veri içerirken yanlışlıkla yüz binlerce boş satırı kapsar. Tablo Tasarımı → Tabloyu Yeniden Boyutlandır bölümünden gerçek veri sınırına çekmek gerekir.

Ad Yöneticisini kontrol edin. Formüller → Ad Yöneticisi içinde #BAŞV!, çok büyük aralıklar, bütün sütunlara işaret eden eski tanımlar veya silinmiş sayfalara giden isimler varsa temizlenmeli. Özellikle yıllardır kopyalanarak kullanılan ortak Excel raporlarında burada ciddi kalıntı oluşabiliyor.

Biçim/stil patlamasını kontrol edin. Başka Excel dosyalarından sürekli kopyala-yapıştır yapılmış raporlarda aynı görünen ama teknik olarak farklı binlerce hücre stili oluşabilir. Bu hem styles.xml bölümünü şişirir hem Excel arayüzünü ağırlaştırabilir. Ortak raporlarda şaşırtıcı derecede sık rastlanıyor.

Son test olarak XLSB deneyebilirsiniz. Dosyayı .xlsb olarak kaydetmek özellikle büyük tablo/formül dosyalarında boyutu ve açılış süresini azaltabilir. Fakat bunu önceki sorunları temizlemeden “tedavi” olarak görmemek gerekir; gereksiz 500.000 satır biçimlendirme varsa XLSB yalnızca semptomu küçültür.

Sizin taslak dosyanızdaki durum

Taslakta mantıken şöyle bir yapı var:

Gerçek ana veri
A1:B3

ama Excel'in gördüğü alan:

A1:Z5000

ve bunun içinde çok sayıda boş fakat kayıt altına alınmış/biçimlendirilmiş hücre mevcut. Yani gerçek 45 MB'lık raporunuzda aynı şey 5.000 değil örneğin 500.000–1.048.576 satıra kadar uzanıyorsa yalnız bu bile ciddi bir şişme yaratabilir.

Fakat önemli ayrım şu: Dosyanın 45 MB olması ile “Hesaplanıyor %40” aynı sebep olmak zorunda değil. Büyük ihtimalle gerçek dosyada:

Boyut problemi → Used Range + biçimlendirme + Pivot Cache
Donma problemi → Formüller + tam sütun referansları + koşullu biçimlendirme

şeklinde iki sorun üst üste geliyor.

Ben olsam gerçek dosyada önce hiçbir şeyi değiştirmeden teknik tarama yapardım: her sayfanın gerçek son veri hücresi / Excel'in gördüğü son hücre, formül sayısı, tam sütun referansları, koşullu biçimlendirme alanları, Pivot sayısı ve cache sayısı, isimlendirilmiş aralıklar ve XLSX içindeki hangi bölümün kaç MB tuttuğunu çıkarırdım. Böylece “45 MB'ın 32 MB'ı Pivot Cache'ten geliyor” veya “Sheet3.xml tek başına 28 MB çünkü 800 bin boş biçimlendirilmiş satır var” diye doğrudan kaynağı bulabiliriz.
 
Çözüm
Konu Sahibi
Windows 10 Google Chrome 152
arzuhalci hocam, öncelikle bu kadar detaylı, açıklayıcı ve emek verilmiş cevabınız için çok teşekkür ederim. Elinize, emeğinize sağlık.
Söylediğiniz adımları tek tek not aldım. İlk olarak Ctrl+End testini denedim ve gerçekten de verilerimin bittiği yerin çok daha altında, Excel'in boş hücreleri hafızasında tuttuğunu fark ettim. Dediğiniz gibi satırları komple seçip "Sil" komutuyla temizledim.
Ayrıca formüllerde yaptığım tam sütun referanslarını (A:A, B:B gibi) sizin önerinizle belirli satır aralıklarına kısıtladım. Şu an dosya boyutunda ciddi bir düşüş oldu ve hücreye veri girerken o sinir bozucu "Hesaplanıyor %40" uyarısı neredeyse tamamen ortadan kalktı.
Teşekkürler.
 
Windows 10 Opera 135
Bulduğunuz sonuç sorunun ana kaynağını büyük ölçüde doğruluyor: şişmiş kullanılan alan (Used Range) ve tam sütun referansları dosyanızda hem boyutu hem hesaplama süresini gereksiz artırıyormuş.

Şimdi dosya belirgin şekilde rahatladıysa, bundan sonraki aşamada agresif değişiklik yapmadan şu üç noktayı kontrol etmek yeterli olur:

Pivot önbelleği: Aynı kaynaktan beslenen Pivot tabloların gereksiz ayrı önbellek oluşturup oluşturmadığına bakın.
Koşullu biçimlendirme: Kuralların A:A, 1:1048576 gibi gereğinden büyük alanlara uygulanmadığından emin olun.
Formül yapısı: Yeni formüllerde de mümkünse tam sütun yerine sınırlı aralık veya daha iyisi Excel Tablosu yapılandırılmış başvuruları kullanın. Örneğin A2:A15000 yerine tablo kullanıyorsanız Tablo1[Müşteri] gibi.

Bir de temizlikten sonra dosyayı farklı adla kaydedip kapatıp yeniden açmanız önemli. Excel bazı gereksiz hücre kayıtlarını ancak kaydetme-kapama sonrasında gerçekten bırakıyor.

Şu an "Hesaplanıyor %40" neredeyse kaybolduysa, ben Pivot ayarlarını gereksiz yere kurcalamadan önce dosyayı bu haliyle bir süre kullanırdım. Çünkü performans probleminin asıl ağır kısmını zaten çözmüş görünüyorsunuz.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst