Excel'de birden fazla sütunu hızlıca tek bir sütuna nasıl yığabilirsiniz?
Excel'de, Metni Sütunlara Ayır özelliği, belirli bir sınırlayıcı kullanarak tek bir sütundaki verileri birden fazla sütuna bölmek için tasarlanmıştır. Ancak, aşağıdaki örnekte gösterildiği gibi, tam tersini yapmanız—birden fazla sütundaki değerleri tek bir sütunda birleştirmeniz veya yığmanız—gerekiyorsa ne yaparsınız? Bu senaryo, veri setlerini birleştirme, analiz için bilgi hazırlama veya ileri işleme için raporları biçimlendirme durumlarında sıkça ortaya çıkar. Ne yazık ki, Excel'de doğrudan sütunları dikey olarak yığan yerleşik bir işlev bulunmamaktadır, ancak bu görevi etkin bir şekilde gerçekleştirebileceğiniz birkaç pratik çözüm bulunmaktadır.
Formül ile birden fazla sütunu birine yığma
VBA ile birden fazla sütunu birine yığma
Transform Range ile birden fazla sütunu birine yığma
Power Query ile birden fazla sütunu birine yığma
Formül ile birden fazla sütunu birine yığma
Eğer makrolar veya eklentiler kullanmak istemiyorsanız, INDEX fonksiyonunu içeren bir dizi formülü kullanarak birden fazla sütunu tek bir sütuna yığabilirsiniz. Bu yaklaşım, dinamik veri setleri veya manuel işlemlerden kaçınmak istediğiniz durumlar için uygundur. Bir avantajı, kaynak verileriniz değişirse formülün sonuçları otomatik olarak güncellemesidir, ancak aralık adlarınızla hassas olmanız ve başvurulan aralık içinde hücre eklememeye veya silmemeye dikkat etmeniz gerekir.
1. Yığmak istediğiniz veri aralığını seçin (örneğin, A1:C4), ardından Ad Kutusu (formül çubuğunun solunda bulunan) tıklayın, anlamlı bir ad yazın, örneğin MyData, ve Entertuşuna basın. Bu, kolayca başvurulabilmesi için aralığınızı isimlendirir.
2. Tek bir yığılmış sütunun başlamasını istediğiniz boş bir hücreye tıklayın—genellikle verilerinizin altında veya başka bir sayfada. Seçili hücreye şu formülü yapıştırın:
=INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1)
3. Tuşa basın Enter doğrulamak için, ardından tüm veriler listelenene kadar doldurma tutamacını aşağı doğru sürükleyin ve bir #BAŞV! veya benzer bir hata görürseniz, bu tüm verilerin listelendiğini gösterir. Gerekiyorsa hata hücresini silin.
Bu formülde MyData, adım 1'de tanımladığınız aralığı ifade eder. COLUMNS(MyData) verilerinizdeki sütun sayısına otomatik olarak uyum sağlar. Formülü girdikten sonra MyData içinde sütun eklemeyin veya silmeyin, çünkü bu sonuçları etkileyebilir. Verilerinizde boş hücreler varsa, bu boşluklar da yığılacaktır—gerekirse daha sonra bunları filtreleyebilirsiniz. Büyük aralıklar için, doldurma tutamacını sürüklemek zaman alabilir; soldaki sütunun aşağıya kadar veri içeriyorsa, doldurma tutamacına çift tıklayabilirsiniz.
Excel sürümünüz dinamik dizileri destekliyorsa (Excel365 veya Excel2021 ve sonrası), şunu deneyebilirsiniz:
=TOCOL(MyData,1)
Bu formül yalnızca daha yeni Excel sürümlerinde mevcuttur ve sütunları tek bir sütunda anında yığar.
VBA ile birden fazla sütunu birine yığma
Sütunları sık sık yığmanız gerekiyorsa veya daha fazla kontrol istiyorsanız, bir VBA makrosuyla bu işlemi birkaç tıklamayla otomatikleştirebilirsiniz. VBA, büyük veri setleri veya tekrarlayan görevlerle uğraşan gelişmiş kullanıcılar için idealdir. Ancak, makronun kaynağınızdan emin değilseniz, makroları etkinleştirmek güvenlik riski oluşturabilir. Her zaman dosyanızı önceden kaydedin ve tanımadığınız kodları çalıştırırken dikkatli olun.
1. Microsoft Visual Basic for Applications penceresini açmak için Alt + F11 tuşlarına basın.
2. VBA penceresinde, Ekle > Modül'e tıklayın. Aşağıdaki kodu yeni modüle kopyalayıp yapıştırın:
VBA: Sütunları birine yığma
Sub ConvertRangeToColumn()
'UpdatebyExtendoffice
Dim Range1 As Range, Range2 As Range, Rng As Range
Dim rowIndex As Integer
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
rowIndex = 0
Application.ScreenUpdating = False
For Each Rng In Range1.Rows
Rng.Copy
Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
rowIndex = rowIndex + Rng.Columns.Count
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
3. Makroyu çalıştırmak için F5 tuşuna basın veya Çalıştır düğmesine tıklayın. Çalıştırdıktan sonra bir istem belirecek—yığmak istediğiniz veri aralığını seçin ve Tamam'a tıklayın.
4. Sonuç için bir hedef hücre seçmeniz istenecek. Tıklayın Tamam tekrar. Sütunlar, hedef hücreden başlayarak tek bir sütunda yığılacaktır.
Bir hata ile karşılaşırsanız, seçilen aralığı iki kez kontrol edin ve korumalı sayfalar veya birleştirilmiş hücreler olmadığından emin olun. Boşlukları atlamak veya yalnızca belirli sütunları yığmak gibi daha gelişmiş özelleştirmeler için kod daha da değiştirilebilir. VBA kodunu çalıştırmadan önce işinizi kaydederek istenmeyen veri kaybını önlemeyi unutmayın.
Transform Range ile birden fazla sütunu birine yığma
Formül yazmak veya kod yazmak zorunda kalmadan hızlı ve kullanıcı dostu bir çözüm tercih ediyorsanız, Kutools for Excel'in Transform Range özelliğini kullanabilirsiniz. Bu araç, özellikle verileri sezgisel bir arayüz aracılığıyla hızlı bir şekilde işlemek isteyen kullanıcılar için, ofis yöneticileri veya rutin olarak çok boyutlu veri işleyenler için faydalıdır. Kutools kullanımı, formül hatalarının riskini azaltır ve önemli ölçüde zaman kazandırır, ancak eklentinin yüklenmesini gerektirir.
Kutools for Excel'i ücretsiz olarak yükledikten sonra, aşağıdaki adımları izleyin:
1. Tek bir sütuna yığmak istediğiniz sütunları veya veri aralığını seçin. Ardından tıklayın Kutools > Aralık > Transform Range diyalog kutusunu açmak için.
2. Transform Range diyalog kutusunda, Aralığı tek sütuna dönüştür seçeneğini seçin ve Tamam'a tıklayın. Ardından, sonucun görünmesini istediğiniz hücreyi seçin.
3. Son olarak, Tamam'a tıklayın. Seçilen sütunlar, seçtiğiniz konumda hemen tek bir sütunda yığılacaktır.
Bu yöntem basit ve hatasızdır. Eğer bir şey doğru görünmüyorsa, değişikliği kolayca geri alabilirsiniz (Ctrl + Z) veya farklı veri setleri için Transform Range özelliğini gerektiği gibi yeniden çalıştırabilirsiniz. Verilerinizde birleştirilmiş hücreler varsa, bu özelliği kullanmadan önce onları ayırmanız en iyisidir, böylece beklenmedik sonuçlarla karşılaşmazsınız.
Power Query ile birden fazla sütunu birine yığma
Power Query (bazı Excel sürümlerinde Get & Transform olarak da adlandırılır), özellikle büyük miktarda veriyle uğraşan veya tekrarlayan veri dönüşüm görevlerini otomatikleştirmeniz gereken kullanıcılar için birden fazla sütunu tek bir sütuna yığmanın başka bir pratik yoludur. Power Query, Excel 2016 ve sonrası sürümlerde yerleşik olarak gelir ve Excel 2010 ve 2013 için ücretsiz bir eklenti olarak mevcuttur. İleri düzeyde veri hazırlama için en kullanışlı olanıdır ve karmaşık yeniden şekillendirme işlemlerini basit bir kullanıcı arayüzüyle kolayca işleyebilir. Ancak, ilk kez kullananlar için kısa bir öğrenme eğrisi vardır.
Kaynak tablonuzu Power Query'ye yükleyin. Excel'deki verilerinizi seçin. Veri > Tablodan/Aralıktan'a giderek Power Query Düzenleyici'yi açın.
2. Sorgu önizleme bölümündeki tüm sütunları seçin. Transform sekmesine gidin, Tablo grubunu bulun ve Transpoze'ye tıklayın. Bu işlem satırları ve sütunları yer değiştirir.
3. Yine, transpoze edilmiş tüm sütunları seçin. Transform sekmesinde, Herhangi Bir Sütun grubu altında, Sütunları Çöz'ü tıklayın.
4. "Özellik" sütunu gerekmiyorsa, kaldırın. "Özellik" sütun başlığına sağ tıklayın > Kaldır'ı seçin.
5. Sonucu yeni bir çalışma sayfası veya tablo olarak Excel'e göndermek için Kapat ve Yükle'ye tıklayın. Kaynak verileriniz değişirse, dönüşümü herhangi bir zamanda yenileyebilir veya yeniden uygulayabilirsiniz.
Power Query, bu yığılma işlemini yeniden kullanılabilir bir sorgu olarak kaydetmenize ve gelecekte verileriniz değişirse sonuçları hızlıca güncellemenize olanak tanır.
Not: Bu yaklaşım, kaynak verilerden orijinal sütun başlığı bilgilerini korumayabilir.
Özetle, bu yöntemlerin her birinin güçlü yönleri vardır: formüller dinamik olarak güncellenen veriler için uygundur, VBA tekrarlayan görevleri otomatikleştirmek için mükemmeldir, Kutools for Excel teknik bilgi gerektirmeden tıklama işlemleri yapmanızı sağlar ve Power Query ileri düzeyde veya tekrarlayan dönüşümler için idealdir. Her zaman işlemden sonra yığılmış verilerinizi kalan boşluklar, birleştirilmiş hücreler veya biçimlendirme hataları için gözden geçirin. Hatalar veya beklenmedik sonuçlar ortaya çıkarsa, tanımlanan aralıklarınızı veya adım seçimlerinizi iki kez kontrol edin. Bu yöntemlerin bir kombinasyonunu kullanmak, raporlama ve analiz ihtiyaçlarınız için Excel verilerinizi etkili bir şekilde yönetmenize ve dönüştürmenize yardımcı olacaktır.
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi güçlendirin ve benzersiz bir verimlilik deneyimi yaşayın. Kutools for Excel, üretkenliği artırmak ve zamandan tasarruf etmek için300'den fazla Gelişmiş Özellik sunuyor. İhtiyacınız olan özelliği almak için buraya tıklayın...
Office Tab, Ofis uygulamalarına sekmeli arayüz kazandırır ve işinizi çok daha kolaylaştırır.
- Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma işlevini etkinleştirin.
- Yeni pencereler yerine aynı pencerede yeni sekmelerde birden fazla belge açıp oluşturun.
- Verimliliğinizi %50 artırır ve her gün yüzlerce mouse tıklaması azaltır!
Tüm Kutools eklentileri. Tek kurulum
Kutools for Office paketi, Excel, Word, Outlook & PowerPoint için eklentileri ve Office Tab Pro'yu bir araya getirir; Office uygulamalarında çalışan ekipler için ideal bir çözümdür.





- Hepsi bir arada paket — Excel, Word, Outlook & PowerPoint eklentileri + Office Tab Pro
- Tek kurulum, tek lisans — dakikalar içinde kurulun (MSI hazır)
- Birlikte daha verimli — Ofis uygulamalarında hızlı üretkenlik
- 30 günlük tam özellikli deneme — kayıt yok, kredi kartı yok
- En iyi değer — tek tek eklenti almak yerine tasarruf edin