Farklı Excel çalışma kitaplarından verileri tek bir tabloda birleştirme
Birden fazla Excel dosyasını tek bir dosyada birleştirmenin üç yolu vardır: basit kopyalama (2–3 dosya için), yerleşik Power Query aracıyla (düzenli raporlar için) veya VBA makrosu kullanarak (tam otomasyon için). Çok sayıda dosya için en güvenilir ve hızlı yöntem Power Query kullanmaktır, çünkü yeni kaynak dosyalar eklendiğinde özet tabloyu tek bir düğmeyle güncellemeye olanak tanır.
Aşağıda her bir yöntem için ayrıntılı talimatlar verilmiştir.
Tüm açıklanan yöntemler, Windows (2016, 2019, 2021, 365) ve macOS için güncel Excel sürümlerinde çalışır. Arayüz küçük farklılıklar gösterebilir, ancak işlem mantığı aynı kalır.
Yöntem 1: Manuel kopyalama (tek seferlik görevler için)
Bu yöntem, 2–3 küçük tabloyu hızlıca birleştirmeniz gerektiğinde ve bu işlemi düzenli olarak tekrarlamayı planlamadığınızda uygundur.
Adım adım algoritma:
- Birleştirilecek tüm dosyaları açın.
- Yeni bir çalışma kitabı oluşturun ("Ozet_Tablo.xlsx").
- İlk dosyada veri alanını seçin (ortak başlıklar olacaksa başlıklar olmadan veya ilk dosya için başlıklarla birlikte).
Ctrl + Ctuşlarına basın. - Yeni çalışma kitabına geçin,
A1hücresini seçin veCtrl + Vtuşlarına basın. - Sonraki dosyalar için:
- Verileri seçin (sadece değerler, tablo başlığı olmadan).
- Bunları yeni çalışma kitabında önceki verilerin hemen altına yapıştırın.
- Sonucu kaydedin.
Manuel kopyalama sırasında satırları atlamak veya başlıkları iki kez yapıştırmak gibi hatalar yapmak kolaydır. Verilerin ortasında yinelenen başlıklar olup olmadığını kontrol etmek için nihai tabloyu her zaman kontrol edin.
Yöntem 2: Power Query ile otomatik birleştirme (önerilen)
Power Query, belirtilen bir klasördeki tüm dosyalardan veri alıp bunları tek bir tabloda toplayabilen Excel içindeki güçlü bir araçtır. Dosyaların yapısı aynıysa (sütun adları aynıysa) bu en iyi seçimdir.
Kurulum talimatları:
- Hazırlık: Bilgisayarınızda ayrı bir klasör oluşturun ve birleştirilecek tüm Excel dosyalarını buraya yerleştirin. Başka dosya olmadığından emin olun.
- Başlatma: Boş bir Excel dosyası açın. Veri (Data) sekmesine gidin.
- İçe aktarma: Veri Al → Dosyadan → Klasörden seçeneğine tıklayın.
- Yol seçimi: Dosyaların bulunduğu klasörün yolunu belirtin ve "Aç" düğmesine tıklayın.
- Birleştirme: Görünen önizleme penceresinde Birleştir (Combine) → Birleştir ve Dönüştür düğmesine tıklayın.
- Not: Sistem sizden örnek bir dosya seçmenizi isterse, listeden herhangi birini seçin.
- Düzenleyici: Power Query düzenleyicisi penceresi açılacaktır. Burada gereksiz sütunları silebilir veya verileri filtreleyebilirsiniz. Genellikle varsayılan ayarlar yeterlidir.
- Yükleme: Sol üst köşedeki Kapat ve Yükle (Close & Load) düğmesine tıklayın.
Artık dosyanızda tüm verileri içeren yeni bir tablo görünecektir.
Veriler nasıl güncellenir? Gelecek ay için yeni dosyalar ortaya çıktığında, bunları aynı klasöre koymanız yeterlidir. Ardından özet dosyanızı açın, tabloya sağ tıklayın ve Yenile seçeneğini belirleyin. Veriler otomatik olarak çekilecektir.
Yöntem 3: VBA makrosu ile tam otomasyon
Dosyaları karmaşık bir şekilde birleştirmeniz gerekiyorsa veya "Her şeyi saniyeler içinde yap" düğmesi oluşturmak istiyorsanız, makro kullanın. Bu yöntem, dosyanın .xlsm formatında kaydedilmesini gerektirir.
Hazır çözümü nasıl çalıştırılır:
- Yeni bir çalışma kitabı oluşturun,
Alt + F11tuşlarına basın (VBA düzenleyicisi açılacaktır). - Menüde Insert → Module seçeneğini belirleyin.
- Kodu (aşağıdaki örneğe bakın) yapıştırın ve dosyayı Makro Etkin Çalışma Kitabı (.xlsm) olarak kaydedin.
Alt + F8tuşlarına basarak prosedür adını seçip makroyu çalıştırın.
Sayfaları birleştirmek için basit kod örneği: Bu betik, seçilen klasördeki tüm dosyaları alır ve içeriklerini tek bir sayfaya kopyalar.
Sub MergeFiles()
Dim FolderPath As String, FileName As String
Dim ws As Worksheet, wsMaster As Worksheet
Dim wbSource As Workbook, wbMaster As Workbook
Dim LastRow As Long, NextRow As Long
' Ana sayfa ayarı
Set wbMaster = ThisWorkbook
Set wsMaster = wbMaster.Sheets(1)
wsMaster.Name = "Ozet"
' Klasör seçimi
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Dosyaların olduğu klasörü seçin"
If .Show = 0 Then Exit Sub
FolderPath = .SelectedItems(1) & "\"
End With
FileName = Dir(FolderPath & "*.xlsx")
NextRow = 1 ' Yapıştırma satırı (başlıklar sadece bir kez kopyalanır)
Application.ScreenUpdating = False
Do While FileName <> ""
If FileName <> wbMaster.Name Then
Set wbSource = Workbooks.Open(FolderPath & FileName)
Set ws = wbSource.Sheets(1) ' İlk sayfayı al
' Sadece ilk dosya için başlıkları kopyala
If NextRow = 1 Then
ws.Rows(1).Copy Destination:=wsMaster.Rows(1)
NextRow = 2
End If
' Başlıksız verileri kopyala
LastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
If LastRow > 1 Then
ws.Range("A2", ws.Cells(LastRow, ws.Columns.Count).End(xlToLeft)).Copy _
Destination:=wsMaster.Cells(NextRow, 1)
NextRow = wsMaster.Cells(wsMaster.Rows.Count, 1).End(xlUp).Row + 1
End If
wbSource.Close SaveChanges:=False
End If
FileName = Dir()
Loop
Application.ScreenUpdating = True
MsgBox "Tamamlandı! Dosyalar birleştirildi."
End Sub
Yöntemlerin karşılaştırılması
| Yöntem | Zorluk | Ne zaman kullanılmalı | Veri güncelleme |
|---|---|---|---|
| Manuel kopyalama | Düşük | 2–3 dosya, tek seferlik görev | Manuel |
| Power Query | Orta | Onlarca dosya, düzenli raporlar | Tek "Yenile" düğmesi |
| VBA Makrosu | Yüksek | Karmaşık mantık, kendi araçlarınızı oluşturma | Çalıştırıldığında otomatik |
Birleştirme sırasında yapılan yaygın hatalar
- Farklı sütun yapıları. Bir dosyada sütun adı "Tarih", diğerinde "Tarihler" ise, Power Query iki farklı sütun oluşturur. Birleştirmeden önce başlıkları tek bir biçime getirin.
- Kaynaklardaki gereksiz satırlar. Dosyalarda genellikle toplam tutarların bulunduğu "alt bilgiler" bulunur. Birleştirme sırasında bunlar genel tablonun ortasına düşer ve formülleri bozar. Bunları kaynak dosyalarda silin veya Power Query'de filtreleyin.
- Hücre biçimi. Bazen bir dosyadaki tarihler metin, diğerindeki sayısal olabilir. Birleştirmeden sonra sütun biçimini kontrol edin.
SSS
Dosyalar farklı klasörlerdeyse birleştirilebilir mi? Evet, ancak bunun için Power Query'de her klasör için ayrı sorgular oluşturmanız ve ardından sonuçları "Sorguları Ekle" (Append Queries) işleviyle birleştirmeniz gerekir. En kolayı tüm dosyaları tek bir dizinde toplamaktır.
Çok fazla dosya varsa (yüzlerce) ne yapılmalı? Excel yavaşlamaya başlayabilir. Bu durumda, verileri bir sayfaya yüklemek yerine Veri Modeli'ne yüklemek daha iyidir (Power Query'den yüklerken "Yalnızca bağlantı oluştur" seçeneğini seçin ve "Veri modeline ekle" kutusunu işaretleyin). Bu, takılmadan milyonlarca satırı özet tablolar aracılığıyla analiz etmenize olanak tanır.
Bu Excel'in çevrimiçi sürümünde çalışır mı? Hayır. Power Query ve VBA makroları yalnızca PC ve Mac için masaüstü uygulama sürümlerinde mevcuttur. Web sürümünde yalnızca manuel kopyalama kullanılabilir.