Yüksek Boyutlu Excel'de Sorun

Katılım
10 Eylül 2018
Mesajlar
12
Excel Vers. ve Dili
Office 365 ve İngilizce
Merhaba arkadaşlar,

Bir proje üzerinde çalışıyorum ve bu projede yer alan Excel'de işlemler yapmam gerekiyor. Sırf bu işlemler için tüm sistemimi yenileyerek 9. nesil işlemci aldım. Gel gelelim ki aşağıdaki işlemleri yapmayı denediğimde hem çok uzun sürüyor hem de CPU sıcaklığını ister istemez maksimuma çıkartıyor.

1-) 600.000 - 1.000.000 satırlı bir dosyada A sütununda yer alan ve yinelenmeyen değerleri çıkartıp, dosyadan silmeye çalışıyorum. Bunu yaparken önce:

- EĞERSAY formülü ile yinelenmeyenleri hesaplayıp, ardından silmeyi denedim. Burada işlem çok uzun ve yavaş sürdüğü için pek efektif olmadı. Ayrıca, CPU'da yarattığı yüksek ısı nedeniyle de farklı alternatifler aradım.

- Koşullu biçimlendirme ile yinelenmeyenleri renklendirdim. Bir filtre ekleyip, renklendirilmiş olanları seç yapmayı denediğimde ise Excel otomatik olarak kilitleniyor.

Sizce daha hızlı nasıl bir işlem yapabilirim?

Not: Dosya boyutları 150 - 250 MB arasında değişiklik göstermektedir.

Teşekkürler.

Üzerinde çalıştığım dosya örneği aşağıdaki gibidir.

A

Ahmet
Mehmet
Veli
Murat

B

Hasan
Hüseyin
Ali
Mert

C

12.12.2019 16:00
12.12.2019 16:00
12.12.2019 16:00
12.12.2019 16:00

D

12.12.2019 16:00
12.12.2019 16:00
12.12.2019 16:00
12.12.2019 16:00

E

13
14
15
12

F

100
250
300
400

G

500
400
300
500

H

A123vsda asd123 fasd23SDasd
A123vsda asd123 fasd23SDasd
A123vsda asd123 fasd23SDasd
A123vsda asd123 fasd23SDasd
 
Katılım
10 Eylül 2018
Mesajlar
12
Excel Vers. ve Dili
Office 365 ve İngilizce
İkili Çalışma Kitabı olarak kaydettim ama yine aynı durum devam etmekte.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Dosya boyutunun 150 - 250 MB olması hiç mantıklı gelmedi..... Gerçekten bu boyuttaysa, içerisinde çok fazla veri vardır ve Excel'in çakılması dahil her türlü olumsuzluk beklenir.

1) Önerim; eğer 32 Bit Excel kullanıyorsanız, imkanınız varsa 64 Bit'e geçin,

2) Formülden ziyade, VBA ile çözüm bulmaya çalışın,

3) Eğer şu anda dosyayı açabiliyorsanız, dosyayı *.xlsb uzantılı olarak kaydedin, kapatın, sonra tekrar açın.... Dosya boyutuna tekrar bakın. Daha sonra, verilerin olduğu sayfayı yeni bir Excel dosyasına taşıyın, orada çalışın. Bu yeni Excel dosyasını da *.xlsb olarak kaydedin.

.
 
Katılım
10 Eylül 2018
Mesajlar
12
Excel Vers. ve Dili
Office 365 ve İngilizce
Dosya boyutunun 150 - 250 MB olması hiç mantıklı gelmedi..... Gerçekten bu boyuttaysa, içerisinde çok fazla veri vardır ve Excel'in çakılması dahil her türlü olumsuzluk beklenir.

1) Önerim; eğer 32 Bit Excel kullanıyorsanız, imkanınız varsa 64 Bit'e geçin,

2) Formülden ziyade, VBA ile çözüm bulmaya çalışın,

3) Eğer şu anda dosyayı açabiliyorsanız, dosyayı *.xlsb uzantılı olarak kaydedin, kapatın, sonra tekrar açın.... Dosya boyutuna tekrar bakın. Daha sonra, verilerin olduğu sayfayı yeni bir Excel dosyasına taşıyın, orada çalışın. Bu yeni Excel dosyasını da *.xlsb olarak kaydedin.

.
Önerileriniz için teşekkür ederim Haluk Bey. Evet, dosya boyutu dediğim gibi 150 - 250 MB arasında. Bu yüzden her türlü formülde ve sıralama gibi fonksiyonlarda sorun yaşıyorum.

1-) 64 Bit kullanmaktayım.
2-) VBA bilgim olmadığı için tam olarak ne yapmam gerektiği konusunda emin değilim.
3-) .xlsb olarak kaydettim ama durum yine aynı gözüküyor.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Dosyanızı Google Drive gibi bir yere yükleyip, link verin ..... bir bakalım.

.
 

owenefe

Altın Üye
Katılım
13 Nisan 2012
Mesajlar
36
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
23-01-2026
Merhaba arkadaşlar,

Bir proje üzerinde çalışıyorum ve bu projede yer alan Excel'de işlemler yapmam gerekiyor. Sırf bu işlemler için tüm sistemimi yenileyerek 9. nesil işlemci aldım. Gel gelelim ki aşağıdaki işlemleri yapmayı denediğimde hem çok uzun sürüyor hem de CPU sıcaklığını ister istemez maksimuma çıkartıyor.

1-) 600.000 - 1.000.000 satırlı bir dosyada A sütununda yer alan ve yinelenmeyen değerleri çıkartıp, dosyadan silmeye çalışıyorum. Bunu yaparken önce:

- EĞERSAY formülü ile yinelenmeyenleri hesaplayıp, ardından silmeyi denedim. Burada işlem çok uzun ve yavaş sürdüğü için pek efektif olmadı. Ayrıca, CPU'da yarattığı yüksek ısı nedeniyle de farklı alternatifler aradım.

- Koşullu biçimlendirme ile yinelenmeyenleri renklendirdim. Bir filtre ekleyip, renklendirilmiş olanları seç yapmayı denediğimde ise Excel otomatik olarak kilitleniyor.

Sizce daha hızlı nasıl bir işlem yapabilirim?

Not: Dosya boyutları 150 - 250 MB arasında değişiklik göstermektedir.

Teşekkürler.

Üzerinde çalıştığım dosya örneği aşağıdaki gibidir.

A

Ahmet
Mehmet
Veli
Murat

B

Hasan
Hüseyin
Ali
Mert

C

12.12.2019 16:00
12.12.2019 16:00
12.12.2019 16:00
12.12.2019 16:00

D

12.12.2019 16:00
12.12.2019 16:00
12.12.2019 16:00
12.12.2019 16:00

E

13
14
15
12

F

100
250
300
400

G

500
400
300
500

H

A123vsda asd123 fasd23SDasd
A123vsda asd123 fasd23SDasd
A123vsda asd123 fasd23SDasd
A123vsda asd123 fasd23SDasd
hocam dosyada fotoğraf olmadığı halde boyutun bu seviyelerde olması garip. Excel varsa gizli sayfalarınız vs hepsini açıp tümünü seçip taşı ile yeni excel üzerine taşımayı deneyin. Ayrıca isterseniz excel dosyanızı yükleyin bakalım
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,276
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

@Haluk beyin dediği gibi bir paylaşım sitesine 100 satırlık veri içeren örnek dosyanızı yükleyip linkini burada paylaşırsanız makro ile daha hızlı çözümler önerebiliriz.

Not : Bu kadar büyük verilerde microsoft bile formül kullanmayın şeklinde öneride bulunuyor.
 
Katılım
10 Eylül 2018
Mesajlar
12
Excel Vers. ve Dili
Office 365 ve İngilizce
Merhabalar,

Yardımlarınız için teşekkürler. Dediğiniz dosyayı gibi şablon olarak yükledim. Evet, sadece veri olduğu için işlemler çok uzun sürüyor formül ile denediğimde. Sanırım dediğiniz gibi makro ile bu sorun giderilebilir.

 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,276
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Eklediğiniz dosyada görmek istediğiniz sonucuda belirtirseniz daha çabuk çözüme ulaşabilirsiniz.
 
Katılım
10 Eylül 2018
Mesajlar
12
Excel Vers. ve Dili
Office 365 ve İngilizce
Eklediğiniz dosyada görmek istediğiniz sonucuda belirtirseniz daha çabuk çözüme ulaşabilirsiniz.
Merhaba Korhan Bey,

A sütununda yer alan ve yinelenmeyen değerleri çıkartıp, dosyadan silmeye çalışıyorum. Haliyle 900.000’lik bir dosyada bu pek mümkün olmuyor.
 

systran

Destek Ekibi
Destek Ekibi
Katılım
15 Aralık 2007
Mesajlar
1,573
Excel Vers. ve Dili
2007 [TR], 2013 [TR]
şu kodu dener misiniz? Kodu çalıştırmadan önce, 2. sayfayı eklemeyi unutmayın. Sayfa2 olduğunu varsaydım.
Kod:
Sub Aktar()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

ss = Sayfa1.Range("A1048576").End(xlUp).Row
Sayfa1.Range("A1").Select
Selection.AutoFilter
Sayfa1.Range("A1:H" & ss).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sayfa2.Range("A1:H1"), Unique:=True

Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True

End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,276
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sonuç olarak "A" sütununda mükerrer olmayan satırları mı silmek istiyorsunuz?
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,354
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
@sadep12, #9 nolu mesajdaki örneğe göre B sütunu tekil değerler içerdiğinden benzersiz listeye dönüşemez. Eğer amaç yalnız A sütundaki benzersiz değerleri almaksa o başka... Ancak öyle değilse daha mantıklı bir örneğe ihtiyaç var.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,276
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Verdiğimiz cevapları beğenmeniz sorunu çözmüyor.

Örnek dosyanızda; ham veri bu, görmek istediğim sonuç bu şeklinde örneklendirirseniz kafalardaki soru işaretini kaldırmış olursunuz.
 
Katılım
10 Eylül 2018
Mesajlar
12
Excel Vers. ve Dili
Office 365 ve İngilizce
Yardımlarınız için çok teşekkür ederim. Sanırım bu datayı SQL öğrenmeden yapamayacağım. Verilen makroyu denediğimde de Excel kilitlendi ve öylece kaldı.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
@Korhan Ayhan 'ın mesajında belirttiği gibi, olması gereken sonuçlara ait bir örnek dosya vermezseniz muhtemelen kimse size yardım edemeyecek....

.
 
Katılım
10 Eylül 2018
Mesajlar
12
Excel Vers. ve Dili
Office 365 ve İngilizce
@Korhan Ayhan 'ın mesajında belirttiği gibi, olması gereken sonuçlara ait bir örnek dosya vermezseniz muhtemelen kimse size yardım edemeyecek....

.
Olması gereken https://drive.google.com/file/d/1o84xaITLXGGtdh93UGBDuZVwYuSwqWGv/view bu dosyada yer alan A sütununda yer alan verilerdeki benzersiz olanları silmekti. Aslında yukarıda verilen makrodaki durum ile aynı diyebilirim. Orada 2. sayfaya taşıyor, benim tam olarak yapmak istediğim ise tamamiyle silmekti. Fakat çok fazla veri içerdiğinden tüm işlemler donarak ilerliyor ya da uzun sürüyordu.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Farklı bir çözüm olarak makroyu örneğin 10 bin satır aralıklarla çalıştıracak şekilde yapabilirsiniz. Örneğin aşağıdaki makro sondan başa doğru 10 bin satırı kontrol eder, tekil satır varsa siler. Eğer hiç tekil yoksa "tekil satır yoktur" diye uyarı verir. Makronun çalışabilme durumuna göre 10 bin kısmını değiştirebilirsiniz:

PHP:
Sub tekli_sil()
    tekil = "yok"
    son = Cells(Rows.Count, "A").End(3).Row
    For i = son To WorksheetFunction.Max(2, son - 10000) Step -1
        If WorksheetFunction.CountIf(Range("A1:A" & son), Cells(i, "A")) = 1 Then
            tekil = "var"
            Rows(i).Delete
        End If
    Next
    If tekil = "yok" Then
        MsgBox "A sütununda tekil kayıt bulunmamaktadır!", vbInformation
    End If
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,276
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bazen üyelerimizi anlamakta zorlanıyorum.

Yine bir önceki örnek dosyanızı yüklemişsiniz.

Örnek 100 satırlık veriden ne üretmek istediğinizi de örnek dosyanıza ekleyin dedik ama sanırım anlaşılamadık.

1-Örneğin son yüklediğiniz dosyada AHMET ismi 9 kez tekrarlıyor. Bunların tümü silinecek mi? Yoksa bir adedi kalacak mı?
2-Örneğin AYŞE ve sonrasındaki isimler sadece 1 kez tekrarlıyor. Yoksa siz sadece 1 kez tekrar edenlerin yani AYŞE ve sonraki satırların tamamını mı silmek istiyor sunuz?
3-İstediğiniz farklı birşey mi?
 
Üst