Excel'de 1 milyon satırı aşabilir miyiz?

Katılım
14 Şubat 2019
Mesajlar
4
Excel Vers. ve Dili
excel 2010
Merhaba arkadaşlar,

Elimden yüzlerce txt dosyası var. Bunlarda değişik isimler (instagram kullanıcı adları) yazıyor. Bunların hepsini 1 excelde listemek istiyorum. Ancak satırları topladığımda 4-5 milyon civarı oluyor. Excel ise 1 milyon satır kabul ediyor.

Benim bunları excele listememin isteği ise aynı instagram kullanıcı adları bir çok kez bulunabiliyor. Hepsini tek sayfada listeleyip yineleyeneleri temizle diyip, her isimden 1 tane olacak şekilde örneğin 3 milyonluk listeyi elimde bulundurmak derdindeyim.

Excel dışında da başka bir yerde de yineleyenleri temizleme işlemi yapabiliyorsak onu da belirtebilirsiniz.

Teşekkürler.
 

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,513
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
Hepsini tek sayfada listeleyip 3 milyon, 5 milyon yada daha fazla benzersiz kaydı aynı excel sayfasında barındırabilirsiniz diye düşünüyorum.
Bunun için kayıtlarınızı yan yana sütunlara dağıtabilirsiniz.
Örneğin A sütununda 1 milyon kayıt var. Sonra B sütununda yine 1 milyon kayıt var. böyle böyle benzersiz kayıtlarınız sütunlarda yan yana aktarılabilir diye düşünüyorum.
Örnek txt dosyalarınızdan görebilseydik excelde benzersiz kayıt ekleme programı yazabilirdik..
 
Katılım
14 Şubat 2019
Mesajlar
4
Excel Vers. ve Dili
excel 2010
Cevap için teşekkürler, tamamdır farklı sütunlara kullanıcı isimlerini ekledim diyelim, dediğiniz gibi A stununda 1 milyon, B sütununda 1 milyon, C sutununda 1 milyon... peki bunlarda bulunan aynı kullanıcı isimlerini nasıl tespit edeceğim. Exceldeki yinelenenleri kaldır işlevi sadece 1 sutun için işliyor.
 

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,513
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
Excelde Makro ile program yazacağız. Siz Ekledikçe benzersiz olarak aktaracak. Bu konu sorun değil. programı yazıp size yollayınca sizin ek birşey yapmanıza gerek kalmadan programı devamlı kullanabileceksiniz.

Excelde program yazmak güzel. Aslında Faydalı olmak güzel ...
 

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,513
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
Dosyanıza ulaştım.
Boş kaldıkça üzerinde çalışacağım.

Selamlar...
 
Son düzenleme:
Katılım
21 Ekim 2008
Mesajlar
2,323
Excel Vers. ve Dili
Office 2013 - Eng
Merhaba,

Ben bu tarz bir islem icin Power Query Eklentisini yuklemenizi oneririm.

1550156855173.png

Ornek olarak 10'ar satirlik verinin cevrimini yukarida gorebilirsin, parametre ayarini kendiniz duzenleyerek istedigini kadar satiri diger sutune tasiyabilirsiniz, ben ornek olarak parametre ayarini 500.000 satir olarak degistirdim.

Kod:
let
    Source = Table.FromColumns({Lines.FromBinary(File.Contents("C:\DosyaYolunuz\1 bucuk mly.txt"), null, null, 1252)}),
    #"Added Index" = Table.AddIndexColumn(Source, "Index", 0, 1),
    #"Inserted Modulo" = Table.AddColumn(#"Added Index", "Modulo", each Number.Mod([Index], ColumnRowCount), type number),
    #"Integer-Divided Column" = Table.TransformColumns(#"Inserted Modulo", {{"Index", each Number.IntegerDivide(_, ColumnRowCount), Int64.Type}}),
    #"Pivoted Column" = Table.Pivot(Table.TransformColumnTypes(#"Integer-Divided Column", {{"Index", type text}}, "en-US"), List.Distinct(Table.TransformColumnTypes(#"Integer-Divided Column", {{"Index", type text}}, "en-US")[Index]), "Index", "Column1"),
    #"Removed Columns" = Table.RemoveColumns(#"Pivoted Column",{"Modulo"})
in
    #"Removed Columns"
Koddaki "ColumnRowCount" degeri parametrenin verildigi degerdir.
 

Ekli dosyalar

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
.

Verileri Access alıp, SQL sorgu ile teke düşürülebilir...

Kod:
SELECT DISTINCT text.[Alan1] FROM [text]
.
 
Katılım
24 Nisan 2005
Mesajlar
3,672
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Bana göre excel yavaş kalabilir. Alternatif olarak, Derlenmiş bu program ile hızlı bir şekilde olmaya kelimeleri ekleyebilirsiniz.
Düzeltme: Hızlı bir şekilde kısmından biraz şüpeliyim :) , ilk eşitleme sonrasında yeni veriler geldiğinde daha hızlı olacaktır.
Kurgu doğru ama uygulaması yanlış oldu. Beklediğim performansı vermedi. Kodlarda düzenleme yapılarak tekrar yüklenecek.


eskiveriler.txt dosyası oluşturun. Bu dosyaya bir satır kayıt girin.
yeniveriler.txt dosyanıza tüm kayıtlarınızı ekleyin.
Program ile aynı klasörde olsunlar. Programı çalıştırdığınızda yeniveriler.txt dosyasındaki kayıtları tekil olarak eskiveriler.txt dosyasına aktardıktan sonra eskiveriler.txt dosyasının içini boşaltacaktır.
Dosyalarınızın yedeğini alarak çalışınız.

1,5 milyonluk eskiveriler.txt dosyasına, yeniveriler.txt dosyasındaki 11 kayıttan 10 yeni veriyi 45 sn aktardı.
Not: Süre bilgisayar performansına göre değişiklik gösterebilir.
 
Son düzenleme:

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
Söz konusu örnek Text dosyanızda 1.577.230 adet veri var.

Asri beyin dediği gibi Excel'de çalışırken biraz performans sıkıntısı olabilir ama, söz konusu verileri benzersiz olarak Excel'de listelemek için ekli dosyayı açıp butona tıklayarak makroyu çalıştırabilirsiniz.

Kodun çalışması birkaç dakika sürer...

.
 

Ekli dosyalar

Son düzenleme:
Üst