Ana içeriğe atla

Excel'de matris stili tablosunu üç sütuna nasıl dönüştürebilirim?

Sütun başlıkları ve satır başlıkları içeren matris tarzı bir tablonuz olduğunu varsayarsak ve şimdi bu stil tablosunu üç sütunlu tabloya dönüştürmek istiyorsanız, aşağıdaki ekran görüntüsü gibi liste tablosu olarak da adlandırılır, bunu çözmek için herhangi bir iyi yolunuz var mı? Excel'de sorun mu var?

PivotTable ile matris stil tablosunu listeye dönüştürün

VBA kodu ile matris stil tablosunu listeye dönüştürün

Kutools for Excel ile matris stil tablosunu listeye dönüştürün

doc matrisi liste 1'e dönüştür


Excel'de, matris stili tablosunu üç sütunlu tabloya dönüştürmemiz için doğrudan bir özellik yoktur, ancak PivotTable'a aşina iseniz, bu size bir iyilik yapabilir. Lütfen aşağıdaki adımları uygulayın:

1. Kullanmak istediğiniz çalışma sayfanızı etkinleştirin ve ardından Alt + Dtuşuna basın ve ardından tuşuna basın. P klavyede, dışarı çıkmış olarak PivotTable ve PivotChart Sihirbazı iletişim kutusunu seçin Çoklu konsolidasyon aralıkları altında Analiz etmek istediğiniz veriler nerede bölümünü seçin ve ardından Pivot tablo altında Ne tür bir rapor oluşturmak istiyorsunuz bölümü, ekran görüntüsüne bakın:

doc matrisi liste 2'e dönüştür

2. Sonra tıklayın Sonraki düğmesi Adım 2a / 3 sihirbaz, seçin Sayfa alanlarını oluşturacağım seçenek, ekran görüntüsüne bakın:

doc matrisi liste 3'e dönüştür

3. Tıklamaya git Sonraki düğmesi Adım 2b / 3 sihirbaz, tıklayın doc matrisi liste 5'e dönüştür dönüştürmek istediğiniz veri aralığını seçmek için düğmesine ve ardından Ekle veri aralığını eklemek için düğme Tüm aralıklar liste kutusu, ekran görüntüsüne bakın:

doc matrisi liste 4'e dönüştür

4. Ve tıklayın Sonraki düğme, içinde 3 adım 3 sihirbaz, pivot tablo için istediğiniz gibi bir konum seçin.

doc matrisi liste 6'e dönüştür

5. Sonra tıklayın Bitiş düğmesi, aynı anda bir pivot tablo oluşturuldu, ekran görüntüsüne bakın:

doc matrisi liste 7'e dönüştür

6. Pivot tabloda, Genel Toplamın kesişen hücresine çift tıklayın, bu durumda F22 hücresine çift tıklayacağım ve aşağıdaki ekran görüntüsü gibi üç sütunlu bir tablo oluşturacak:

doc matrisi liste 8'e dönüştür

7. Son olarak, tabloyu seçip ardından tabloyu seçerek tablo formatını normal aralığa dönüştürebilirsiniz. tablo > Aralığa Dönüştür bağlam menüsünden, ekran görüntüsüne bakın:

doc matrisi liste 9'e dönüştür


İlk yöntemi beğenmezseniz, aşağıdaki VBA kodu da size yardımcı olabilir.

1. Basın Alt + F11 görüntülemek için Uygulamalar için Microsoft Visual Basic pencere.

2. Pencerede tıklayın Ekle > modül yeni bir modül penceresi göstermek için, ardından aşağıdaki VBA kodunu modül penceresine kopyalayıp yapıştırın.

VBA kodu: Matris stili tablosunu listeye dönüştürün

Sub ConvertTable()
'Update 20150512
Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
xTitleId = "KutoolsforExcel"
Set cRng = Application.InputBox("Select your Column labels", xTitleId, Type:=8)
Set rRng = Application.InputBox("Select Your Row Labels", xTitleId, Type:=8)
Set Rng = Application.InputBox("Select your data", xTitleId, Type:=8)
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
    For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
        outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
        outRng.Cells(k, 2) = xWs.Cells(xRow, j)
        outRng.Cells(k, 3) = xWs.Cells(i, j)
        k = k + 1
    Next j
Next i
End Sub

3. Daha sonra tuşuna basın. F5 Bu kodu çalıştırmak için anahtar ve verilerin sütun etiketlerini seçmenize izin veren bir istem kutusu açılır, ekran görüntüsüne bakın:

doc matrisi liste 10'e dönüştür

4. Ve sonra tıklayın OK düğmesi, sonraki istem kutusunda satır etiketlerini seçin, ekran görüntüsüne bakın:

doc matrisi liste 11'e dönüştür

5. Tıklamaya git OK, ardından komut kutusundaki sütun ve satır başlıkları hariç veri aralığını seçin, ekran görüntüsüne bakın:

doc matrisi liste 12'e dönüştür

6. Ve sonra tıklayın OK, bu iletişim kutusunda, lütfen sonucu bulmak istediğiniz hücreyi seçin. Ekran görüntüsüne bakın:

doc matrisi liste 13'e dönüştür

7. Sonunda, tıklayın OKve aynı anda üç sütunlu bir tablo alacaksınız.


Yukarıdaki yöntemlerin her ikisi de biraz zahmetli, burada size kolay bir yol sunacağım - Kutools for Excel, Onun ile Tablo Boyutlarını Değiştirme özelliği, bir hücre matrisi ve bir liste tablosu arasında hızlı bir şekilde dönüştürebilirsiniz.

Kutools for Excel : 300'den fazla kullanışlı Excel eklentisi ile 30 günde sınırlama olmaksızın ücretsiz deneyin

Kurduktan sonra Kutools for Excellütfen aşağıdaki adımları uygulayın:

1. tıklayın Kutools > Aralık > Tablo Boyutlarını Değiştirme, ekran görüntüsüne bakın:

2. In Tablo Boyutlarını Değiştirme iletişim kutusu:

(1.) Seçin Listeye çapraz tablo altında seçenek Transpoze türü.

(2.) Ve sonra tıklayın doc matrisi liste 5'e dönüştür altındaki düğme Kaynak aralığı dönüştürmek istediğiniz veri aralığını seçmek için.

(3.) Ardından tıklayın doc matrisi liste 5'e dönüştür altındaki düğme Sonuçlar aralığı sonucu koymak istediğiniz hücreyi seçmek için.

doc matrisi liste 15'e dönüştür

3. Ve sonra tıklayın OK düğmesini tıklarsanız, orijinal hücre biçimlendirmesini içeren aşağıdaki sonucu alırsınız:

doc matrisi liste 16'e dönüştür

Bu yardımcı programla, siz de düz liste tablosunu 2 boyutlu çapraz tabloya dönüştür.

Bu Transpoze Tablo Boyutları özelliği hakkında daha fazla bilgi edinmek için.

Kutools for Excel'i şimdi indirin ve ücretsiz deneyin!


Kutools for Excel: 300'den fazla kullanışlı Excel eklentisi ile 30 günde sınırlama olmaksızın ücretsiz deneyin. Hemen indirin ve ücretsiz deneme!

En İyi Ofis Üretkenlik Araçları

🤖 Kutools AI Yardımcısı: Aşağıdakilere dayalı olarak veri analizinde devrim yaratın: Akıllı Yürütme   |  Kodunu oluşturun  |  Özel Formüller Oluşturun  |  Verileri Analiz Edin ve Grafikler Oluşturun  |  Kutools İşlevlerini Çağır...
Popüler Özellikler: Yinelenenleri Bul, Vurgula veya Tanımla   |  Boş Satırları Sil   |  Veri Kaybı Olmadan Sütunları veya Hücreleri Birleştirin   |   Formülsüz Tur ...
Süper Arama: Çoklu Ölçütlü VLookup    Çoklu Değer VLookup  |   Birden Çok Sayfada VLookup   |   Bulanık Arama ....
Gelişmiş Açılır Liste: Hızla Açılır Liste Oluşturun   |  Bağımlı Açılır Liste   |  Çoklu Seçim Açılır Liste ....
Sütun Yöneticisi: Belirli Sayıda Sütun Ekleme  |  Sütunları Taşı  |  Gizli Sütunların Görünürlük Durumunu Değiştir  |  Aralıkları ve Sütunları Karşılaştırın ...
Öne Çıkan Özellikler: Izgara Odağı   |  Tasarım görünümü   |   Büyük Formül Çubuğu    Çalışma Kitabı ve Sayfa Yöneticisi   |  Kaynak Kütüphanesi (Otomatik metin)   |  Tarih Seçici   |  Çalışma Sayfalarını Birleştirin   |  Hücreleri Şifrele/Şifresini Çöz    E-postaları Listeye Göre Gönder   |  Süper Filtre   |   Özel Filtre (kalın/italik/üstü çizili filtre...) ...
En İyi 15 Araç Seti12 Metin Tools (Metin ekle, Karakterleri Kaldır, ...)   |   50+ Grafik Türleri (Gantt şeması, ...)   |   40+ Pratik Formüller (Yaşı doğum gününe göre hesapla, ...)   |   19 sokma Tools (QR Kodunu Girin, Yoldan Resim Ekle, ...)   |   12 Dönüştürme Tools (Sayılardan Kelimelere, Para Birimi Dönüştürme, ...)   |   7 Birleştir ve Böl Tools (Gelişmiş Kombine Satırları, Bölünmüş hücreler, ...)   |   ... ve dahası

Kutools for Excel ile Excel Becerilerinizi Güçlendirin ve Daha Önce Hiç Olmadığı Gibi Verimliliği Deneyimleyin. Kutools for Excel, Üretkenliği Artırmak ve Zamandan Tasarruf Etmek için 300'den Fazla Gelişmiş Özellik Sunar.  En Çok İhtiyacınız Olan Özelliği Almak İçin Buraya Tıklayın...

Açıklama


Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir

  • Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
  • Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!
Comments (10)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thanks for the tips. It's greatly saved my time and manual efforts.
This comment was minimized by the moderator on the site
Anybody know how to do this in a mac?
This comment was minimized by the moderator on the site
Sub ConvertTable_UseThis()

Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
Dim xRng As Range, cRow As Integer, cCol As Integer


xTitleId = "Convert Table"
Set xRng = Application.Selection
Set xRng = Application.InputBox("Please select range:", "Number Range", Selection.Address, , , , , 8)
cRow = xRng.Rows.Count
cCol = xRng.Columns.Count


Set cRng = Range(xRng.Cells(1, 2), xRng.Cells(1, cCol))
Set rRng = Range(xRng.Cells(2, 1), xRng.Cells(cRow, 1))
Set Rng = Range(xRng.Cells(2, 2), xRng.Cells(cRow, cCol))
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
outRng.Cells(k, 2) = xWs.Cells(xRow, j)
outRng.Cells(k, 3) = xWs.Cells(i, j)
k = k + 1
Next j
Next i
End Sub
This comment was minimized by the moderator on the site
For the VBA Code, one seems to really need this:xColumns = cRng.Column
xRow = rRng.Row
This comment was minimized by the moderator on the site
do you have a code with a tweak where the leftmost column of a selection is column labels and the topmost row of a selection is row labels?

Thanks in advance,
This comment was minimized by the moderator on the site
Sub ConvertTable_UseThis()

Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
Dim xRng As Range, cRow As Integer, cCol As Integer


xTitleId = "Convert Table"
Set xRng = Application.Selection
Set xRng = Application.InputBox("Please select range:", "Number Range", Selection.Address, , , , , 8)
cRow = xRng.Rows.Count
cCol = xRng.Columns.Count


Set cRng = Range(xRng.Cells(1, 2), xRng.Cells(1, cCol))
Set rRng = Range(xRng.Cells(2, 1), xRng.Cells(cRow, 1))
Set Rng = Range(xRng.Cells(2, 2), xRng.Cells(cRow, cCol))
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
outRng.Cells(k, 2) = xWs.Cells(xRow, j)
outRng.Cells(k, 3) = xWs.Cells(i, j)
k = k + 1
Next j
Next i
End Sub
This comment was minimized by the moderator on the site
Thanks a Ton, really appreciate the way you have explained. very useful
This comment was minimized by the moderator on the site
Thanks alot for this useful tool
This comment was minimized by the moderator on the site
Thanks, this was exactly what I was looking for. Awesome:)
This comment was minimized by the moderator on the site
what if i have 4 or more column?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations