İçindekiler
Bu eğitimde Excel'de satırları sütunlara dönüştürmenin farklı yolları gösterilmektedir: formüller, VBA kodu ve özel bir araç.
Excel'de veri aktarmak birçok kullanıcının aşina olduğu bir görevdir. Çoğu zaman karmaşık bir tablo oluşturursunuz, ancak daha iyi analiz veya grafiklerde veri sunumu için tabloyu döndürmenin çok mantıklı olduğunu fark edersiniz.
Bu makalede, satırları sütunlara (veya sütunları satırlara) dönüştürmenin çeşitli yollarını bulacaksınız, hangisi derseniz deyin, aynı şey : ) Bu çözümler Excel 2010'dan Excel 365'e kadar tüm sürümlerde çalışır, birçok olası senaryoyu kapsar ve en tipik hataları açıklar.
Özel Yapıştır'ı kullanarak Excel'de satırları sütunlara dönüştürme
Aşağıdaki grafiklerin üst kısmında gördüğünüze benzer bir veri kümeniz olduğunu varsayalım. Ülke adları sütunlar halinde düzenlenmiştir, ancak ülkelerin listesi çok uzundur, bu nedenle tablonun ekrana sığması için sütunları satırlara dönüştürmemiz daha iyi olacaktır:
Satırları sütunlara geçirmek için aşağıdaki adımları uygulayın:
- Orijinal verileri seçin. Tüm tabloyu, yani bir elektronik tablodaki veri içeren tüm hücreleri hızlı bir şekilde seçmek için Ctrl + Home tuşlarına ve ardından Ctrl + Shift + End tuşlarına basın.
- Seçili hücreleri kopyalamak için seçime sağ tıklayın ve Anlaşıldı Bağlam menüsünden veya Ctrl + C tuşlarına basarak.
- Hedef aralığın ilk hücresini seçin.
Orijinal verilerinizi içeren aralığın dışında kalan bir hücre seçtiğinizden emin olun, böylece kopyalama alanları ve yapıştırma alanları çakışmaz. Örneğin, şu anda 4 sütun ve 10 satırınız varsa, dönüştürülen tabloda 10 sütun ve 4 satır olacaktır.
- Hedef hücreye sağ tıklayın ve Özel Yapıştır seçin, ardından içerik menüsünden Transpoze .
Daha fazla bilgi için lütfen Excel'de Özel Yapıştır'ı kullanma bölümüne bakın.
Not: Kaynak verileriniz formüller içeriyorsa, bunların ayarlanması veya belirli hücrelere kilitli kalması gerekip gerekmediğine bağlı olarak göreli ve mutlak referansları doğru şekilde kullandığınızdan emin olun.
Az önce gördüğünüz gibi, Özel Yapıştır özelliği satırdan sütuna (veya sütundan satıra) dönüşümleri kelimenin tam anlamıyla birkaç saniye içinde gerçekleştirmenizi sağlar. Bu yöntem aynı zamanda orijinal verilerinizin biçimlendirmesini de kopyalar, bu da lehine bir argüman daha ekler.
Bununla birlikte, bu yaklaşım iki dezavantaj Bu da Excel'de veri aktarımı için mükemmel bir çözüm olarak adlandırılmasını engeller:
- Tam işlevli Excel tablolarını döndürmek için pek uygun değildir. Tablonun tamamını kopyalarsanız ve ardından Özel Yapıştır iletişim kutusunda Transpoze Bu durumda, tabloyu sütun başlıkları olmadan kopyalamanız veya önce bir aralığa dönüştürmeniz gerekir.
- Özel Yapıştır > Transpoze yeni tabloyu orijinal verilerle ilişkilendirmez, bu nedenle yalnızca tek seferlik dönüştürmeler için uygundur. Kaynak veriler her değiştiğinde, işlemi tekrarlamanız ve tabloyu yeniden döndürmeniz gerekir. Kimse aynı satırları ve sütunları tekrar tekrar değiştirerek zamanını boşa harcamak istemez, değil mi?
Bir tablo nasıl aktarılır ve orijinal verilere nasıl bağlanır
Bildiğimiz yöntemi kullanarak satırları sütunlara nasıl değiştirebileceğinizi görelim Özel Yapıştır tekniğini kullanın, ancak ortaya çıkan tabloyu orijinal veri kümesine bağlayın. Bu yaklaşımla ilgili en iyi şey, kaynak tablodaki verileri her değiştirdiğinizde, çevrilmiş tablonun değişiklikleri yansıtması ve buna göre güncellenmesidir.
- Sütunlara dönüştürmek istediğiniz satırları (veya satırlara değiştirilecek sütunları) kopyalayın.
- Aynı veya başka bir çalışma sayfasında boş bir hücre seçin.
- Açın Özel Yapıştır iletişim kutusunu açın ve önceki örnekte açıklandığı gibi Bağlantı Yapıştır sol alt köşede:
Buna benzer bir sonuç elde edeceksiniz:
Bu, aşağıdaki ekran görüntüsünde gördüğünüz gibi tablonuzu biraz korkutucu bir şeye dönüştürecektir, ancak panik yapmayın, sadece 2 adım daha ve istediğiniz sonucu elde edeceksiniz.
Bu biraz uzun ama zarif bir çözüm, değil mi? Bu yaklaşımın tek dezavantajı, orijinal biçimlendirmenin işlem sırasında kaybolması ve manuel olarak geri yüklemeniz gerekmesidir (bu eğitimin ilerleyen bölümlerinde bunu yapmanın hızlı bir yolunu göstereceğim).
Formüller kullanarak Excel'de nasıl transpoze edilir
Excel'de sütunları satırlara dinamik olarak değiştirmenin daha hızlı bir yolu, TRANSPOSE veya INDEX/ADDRESS formülünü kullanmaktır. Önceki örnekte olduğu gibi, bu formüller de orijinal verilerle bağlantıları korur ancak biraz farklı çalışır.
TRANSPOSE işlevini kullanarak Excel'de satırları sütunlara dönüştürme
Adından da anlaşılacağı gibi, TRANSPOSE işlevi Excel'de verilerin aktarılması için özel olarak tasarlanmıştır:
=TRANSPOSE(dizi)Bu örnekte, ABD eyaletlerini nüfuslarına göre listeleyen başka bir tabloyu dönüştüreceğiz:
- Orijinal tablonuzdaki satır ve sütun sayısını sayın ve aynı sayıda boş hücre seçin, ancak diğer yönde.
Örneğin, örnek tablomuzda başlıklar dahil 7 sütun ve 6 satır vardır. TRANSPOSE işlevi sütunları satırlara dönüştüreceğinden, 6 sütun ve 7 satırdan oluşan bir aralık seçeriz.
- Boş hücreler seçiliyken, bu formülü yazın:
=TRANSPOSE(A1:G6)
- Formülümüzün birden çok hücreye uygulanması gerektiğinden, dizi formülü yapmak için Ctrl + Shift + Enter tuşlarına basın.
İşte, sütunlar tam istediğimiz gibi satırlara dönüştürüldü:
TRANSPOSE fonksiyonunun avantajları:
TRANSPOSE işlevini kullanmanın temel faydası, döndürülen tablonun kaynak tabloyla olan bağlantısını koruması ve kaynak verileri her değiştirdiğinizde, dönüştürülen tablonun da buna göre değişecek olmasıdır.
TRANSPOSE işlevinin zayıf yönleri:
- Yukarıdaki ekran görüntüsünde gördüğünüz gibi, orijinal tablo biçimlendirmesi dönüştürülen tabloya kaydedilmez.
- Orijinal tabloda herhangi bir boş hücre varsa, aktarılan hücreler bunun yerine 0 içerecektir. Bunu düzeltmek için, şu örnekte açıklandığı gibi IF işleviyle birlikte TRANSPOSE kullanın: Sıfır olmadan nasıl aktarılır.
- Döndürülmüş tablodaki herhangi bir hücreyi düzenleyemezsiniz çünkü kaynak verilere çok bağlıdır. Bazı hücre değerlerini değiştirmeye çalışırsanız, "Bir dizinin parçasını değiştiremezsiniz" hatasıyla karşılaşırsınız.
Özetle, TRANSPOSE işlevi ne kadar iyi ve kullanımı kolay olursa olsun, kesinlikle esneklikten yoksundur ve bu nedenle birçok durumda gidilecek en iyi yol olmayabilir.
Daha fazla bilgi için lütfen örneklerle birlikte Excel TRANSPOSE işlevine bakın.
INDIRECT ve ADDRESS fonksiyonları ile satırı sütuna dönüştürme
Bu örnekte, biraz zor olan iki işlevin bir kombinasyonunu kullanacağız. Bu nedenle, formüle daha iyi odaklanabilmek için daha küçük bir tabloyu döndürelim.
Diyelim ki, 4 sütunda (A - D) ve 5 satırda (1 - 5) verileriniz var:
Sütunları satırlara dönüştürmek için aşağıdakileri yapın:
- Aşağıdaki formülü hedef aralığın en sol hücresine, örneğin A7'ye girin ve Enter tuşuna basın:
=INDIRECT(ADRES(SÜTUN(A1),SATIR(A1))
- Seçili hücrelerin sağ alt köşesindeki küçük siyah çarpı işaretini sürükleyerek formülü sağa ve aşağı doğru istediğiniz kadar satır ve sütuna kopyalayın:
İşte bu! Yeni oluşturduğunuz tabloda tüm sütunlar satırlara dönüştürüldü.
Verileriniz 1'den başka bir satırda ve A'dan başka bir sütunda başlıyorsa, biraz daha karmaşık bir formül kullanmanız gerekecektir:
=INDIRECT(ADDRESS(COLUMN(A1) - COLUMN($A$1) + ROW($A$1), ROW(A1) - ROW($A$1) + COLUMN($A$1))
Burada A1, kaynak tablonuzun en sol üst hücresidir. Ayrıca, lütfen mutlak ve göreli hücre referanslarının kullanımına dikkat edin.
Ancak, aktarılan hücreler orijinal verilere kıyasla çok sade ve donuk görünmektedir:
Ancak hayal kırıklığına uğramayın, bu sorun kolayca çözülebilir. Orijinal biçimlendirmeyi geri yüklemek için yapmanız gerekenler şunlardır:
- Orijinal tabloyu kopyalayın.
- Ortaya çıkan tabloyu seçin.
- Ortaya çıkan tabloya sağ tıklayın ve Yapıştırma Seçenekleri > Biçimlendirme .
Avantajlar : Bu formül, Excel'de satırları sütunlara dönüştürmek için daha esnek bir yol sağlar. Bir dizi formülü değil, normal bir formül kullandığınız için, dönüştürülmüş tabloda herhangi bir değişiklik yapılmasına izin verir.
Eksiklikler : Sadece bir tane görebiliyorum - sıralı verilerin biçimlendirmesi kaybolmuş. Yine de, yukarıda gösterildiği gibi hızlı bir şekilde geri yükleyebilirsiniz.
Bu formül nasıl çalışır?
Artık DOLAYLI / ADRES kombinasyonunu nasıl kullanacağınızı bildiğinize göre, formülün gerçekte ne yaptığına dair fikir edinmek isteyebilirsiniz.
INDIRECT fonksiyonu, adından da anlaşılacağı gibi, bir hücreye dolaylı olarak referans vermek için kullanılır. Ancak INDIRECT'in gerçek gücü, diğer fonksiyonları ve diğer hücrelerin değerlerini kullanarak oluşturduğunuz bir dize de dahil olmak üzere herhangi bir dizeyi referansa dönüştürebilmesidir. Ve bu tam olarak yapacağımız şeydir. Bunu takip ediyorsanız, geri kalan her şeyi kolaylıkla anlayacaksınız : )
Hatırlayacağınız gibi, formülde 3 işlev daha kullandık - ADRES, SÜTUN ve SATIR.
ADDRESS işlevi, hücre adresini sırasıyla belirttiğiniz satır ve sütun numaralarına göre alır. Lütfen sırayı hatırlayın: ilk - satır, ikinci - sütun.
Formülümüzde, koordinatları ters sırada veriyoruz ve aslında işe yarayan da bu! Başka bir deyişle, ADDRESS(COLUMN(A1),ROW(A1)) formülünün bu kısmı satırları sütunlarla değiştirir, yani bir sütun numarası alır ve onu bir satır numarasına dönüştürür, ardından bir satır numarası alır ve onu bir sütun numarasına dönüştürür.
Son olarak, INDIRECT fonksiyonu döndürülmüş verinin çıktısını verir. Hiç de korkunç bir şey değil, değil mi?
VBA makrosu kullanarak Excel'de verileri aktarma
Excel'de satırların sütunlara dönüştürülmesini otomatikleştirmek için aşağıdaki makroyu kullanabilirsiniz:
Sub TransposeColumnsRows() Dim SourceRange As Range Dim DestRange As Range Set SourceRange = Application.InputBox(Prompt:= "Lütfen transpoze edilecek aralığı seçin" , Title:= "Satırları Sütunlara Transpoze Et" , Type :=8) Set DestRange = Application.InputBox(Prompt:= "Hedef aralığın sol üst hücresini seçin" , Title:= "Satırları Sütunlara Transpoze Et" , Type :=8) SourceRange.Copy DestRange. SelectSelection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= False , Transpose:= True Application.CutCopyMode = False End SubÇalışma sayfanıza bir makro eklemek için lütfen Excel'de VBA kodu ekleme ve çalıştırma bölümünde açıklanan yönergeleri izleyin.
Not: VBA ile transpoze işleminin 65536 eleman sınırlaması vardır. Dizinizin bu sınırı aşması durumunda, fazladan veriler sessizce atılacaktır.
Satırı sütuna dönüştürmek için makro nasıl kullanılır
Makro çalışma kitabınıza eklendiğinde, tablonuzu döndürmek için aşağıdaki adımları uygulayın:
- Hedef çalışma sayfasını açın, Alt + F8 tuşlarına basın ve TransposeColumnsRows makrosunu seçin ve Koşmak .
Sonucun tadını çıkarın :)
Transpoze aracıyla sütunları ve satırları değiştirme
Düzenli olarak satırdan sütuna dönüşümler yapmanız gerekiyorsa, aslında daha hızlı ve daha basit bir yol arıyor olabilirsiniz. Neyse ki, Excel'imde böyle bir yol var ve Ultimate Suite'imizin diğer kullanıcıları da öyle :)
Size Excel'de satır ve sütunları birkaç tıklamayla nasıl değiştireceğinizi göstereyim:
- Tablonuzdaki herhangi bir hücreyi seçin ve Ablebits tab> Dönüşüm grubunu seçin ve Transpoze Düğme.
Eğer isterseniz Yalnızca değerleri yapıştırın veya Kaynak verilere bağlantılar oluşturma döndürülmüş tablonun orijinal tabloda yaptığınız her değişiklikle otomatik olarak güncellenmesini zorlamak için ilgili seçeneği seçin.
Bitti! Tablo aktarıldı, biçimlendirme korundu, başka bir işleme gerek kalmadı:
Bunu ve Excel için 70'ten fazla profesyonel aracı denemek istiyorsanız, sizi Ultimate Suite'in deneme sürümünü indirmeye davet ediyorum. Okuduğunuz için teşekkür eder, gelecek hafta blogumuzda görüşmeyi umarım!