Note: The other languages of the website are Google-translated. Back to English

Birden çok sütunu Excel'de bir sütuna hızlı bir şekilde nasıl yığabilirim?

Excel'de, Metinden sütunlara işlevi, bir hücreyi sınırlayıcıya göre birden çok sütuna bölebilir, ancak aşağıda gösterilen ekran görüntüsü gibi birden çok sütunu tek bir sütuna yığmanın herhangi bir yolu varsa? Bu yazıda, bu görevi hızlı bir şekilde çözmek için bazı püf noktaları tanıtacağım.
doc yığını sütunlarından birine 1

Formülle birden çok sütunu tek bir sütun halinde yığınlayın

VBA ile birden çok sütunu tek bir sütun halinde yığınlayın

Dönüşüm Aralığı ile birden çok sütunu tek bir sütun halinde yığınlayın iyi fikir3


Formülle birden çok sütunu tek bir sütun halinde yığınlayın

1. Yığınlamak istediğiniz aralığı seçin ve isim Kutusu bu aralığa bir ad vermek için ve Keşfet anahtar. Ekran görüntüsüne bakın:
doc yığını sütunlarından birine 2

2. Ardından sonuçları yerleştirmek istediğiniz boş bir hücre seçin, bu formülü girin =INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1), basın Enter tuşuna basın ve bir hata görüntülenene kadar dolgu tutamacını aşağı sürükleyin. Ekran görüntüsüne bakın:
doc yığını sütunlarından birine 3

Formülde, Verim, 1. adımda belirttiğiniz aralık adıdır.

VBA ile birden çok sütunu tek bir sütun halinde yığınlayın

İşte size yardımcı olabilecek bir VBA kodu.

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

2. tık Ekle > modül, aşağıdaki kodu şuraya yapıştırın: modül.

VBA: Sütunları tek bir yığın

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

doc yığını sütunlarından birine 4

3. Basın F5 kodu çalıştırmak için anahtar, kaynak verileri seçmek için bir iletişim kutusu açılır ve OK, sonuçları yerleştirmek üzere bir hücre seçmek için. Ekran görüntüsüne bakın:
doc yığını sütunlarından birine 5

4. tık OK. Şimdi sütunlar tek bir sütunda istiflendi.
doc yığını sütunlarından birine 6


Dönüşüm Aralığı ile birden çok sütunu tek bir sütun halinde yığınlayın

Uygulamak Kutools for Excel'S Aralığı Dönüştür yardımcı program da bu sorunu hızla çözmenize yardımcı olabilir.

Kutools for Excel, ile daha fazla 300 kullanışlı fonksiyonlar, işlerinizi daha kolay hale getirir. 

Sonra ücretsiz kurulum Kutools for Excel, lütfen aşağıdaki işlemleri yapın:

1. Kullandığınız sütun verilerini seçin ve tıklayın Kutools > Aralık > Aralığı Dönüştür. Ekran görüntüsüne bakın:
doc yığını sütunlarından birine 8

2. içinde Aralığı Dönüştür iletişim, kontrol et Tek sütun aralığı seçeneğini işaretleyin ve tıklayın. Ok, ardından sonuçları yerleştirmek için bir hücre seçin. Ekran görüntüsüne bakın:
doc yığını sütunlarından birine 9

3. tık OK. Şimdi sütunlar tek bir sütun halinde istiflendi.
doc yığını sütunlarından birine 1


En İyi Ofis Üretkenliği Araçları

Kutools for Excel Sorunlarınızın Çoğunu Çözer ve Verimliliğinizi% 80 Artırır

  • Yeniden: Hızlıca yerleştirin karmaşık formüller, grafikler ve daha önce kullandığınız her şey; Hücreleri Şifrele şifre ile; Posta Listesi Oluşturun ve e-posta gönder ...
  • Süper Formül Çubuğu (birden çok metin ve formül satırını kolayca düzenleyin); Okuma Düzeni (çok sayıda hücreyi kolayca okuyun ve düzenleyin); Filtrelenmiş Aralığa Yapıştır...
  • Hücreleri / Satırları / Sütunları Birleştirme Veri kaybetmeden; Bölünmüş Hücre İçeriği; Yinelenen Satırları / Sütunları Birleştirme... Yinelenen Hücreleri Önleyin; Aralıkları Karşılaştır...
  • Yinelenen veya Benzersiz'i seçin Satırlar; Boş Satırları Seçin (tüm hücreler boştur); Süper Bul ve Bulanık Bul Birçok Çalışma Kitabında; Rastgele Seçim ...
  • Tam kopya Formül referansını değiştirmeden Birden Çok Hücre; Otomatik Referans Oluştur Birden Çok Sayfaya; Madde İşaretleri Ekle, Onay Kutuları ve daha fazlası ...
  • Metni Çıkar, Metin Ekle, Konuma Göre Kaldır, Alanı Kaldır; Sayfalama Alt Toplamları Oluşturma ve Yazdırma; Hücre İçeriği ve Yorumları Arasında Dönüştür...
  • Süper Filtre (filtre şemalarını kaydedin ve diğer sayfalara uygulayın); Gelişmiş Sıralama ay / hafta / gün, sıklık ve daha fazlasına göre; Özel Filtre kalın, italik ...
  • Çalışma Kitaplarını ve Çalışma Sayfalarını Birleştirin; Tabloları anahtar sütunlara göre birleştirin; Verileri Birden Çok Sayfaya Bölme; Toplu dönüştürme xls, xlsx ve PDF...
  • 300'den fazla güçlü özellik. Office / Excel 2007-2021 ve 365'i destekler. Tüm dilleri destekler. Kuruluşunuzda veya kuruluşunuzda kolay devreye alma. Tam özellikler 30 günlük ücretsiz deneme. 60 günlük para iade garantisi.
kte sekmesi 201905

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!
ofis tabanı
Yorumları sıralama ölçütü
Yorumlar (25)
Henüz derecelendirme yok. İlk değerlendiren siz olun!
Bu yorum sitedeki moderatör tarafından en aza indirildi
birden çok satırı tek bir sütuna yığıyorsunuz, birden çok sütuna değil ... aradığım şey değil.
Bu yorum sitedeki moderatör tarafından en aza indirildi
6 satırlık bloklar halindeki AP sütunlarını istiflemek için bu formülleri R1 hücresine koyun ve doldurun

=OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1)
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu mükemmel çalışıyor, teşekkürler
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu çözümü gönderdiğiniz için teşekkür ederiz! Herhangi birinin her bloğun sonunda/sonunda boşluğa ihtiyacı olması durumunda, satırlara ek bir sayı eklemeniz yeterlidir, bu nedenle yukarıdaki örneğe göre $A$6 yerine $A$7 yazın. Satıra sıfır '0' girer, ancak bunları düzenlemek için Sublime'da kolayca 'Bul için seçimi kullan' seçeneğini kullanabilirsiniz. Sıfır eklemeyen çözümü biliyorsanız, lütfen gönderin!?
Bu yorum sitedeki moderatör tarafından en aza indirildi
0 yerine boş bir hücre çıktısı almak için bir EĞER işlevi yapın>0, DOĞRU-->orijinal hücre içeriğinin çıktısını alın, YANLIŞ-->çıktı ""

=if(OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1)>0,OFFSET($A$1,MOD(ROW()-ROW($R$1),ROWS($A$1:$A$6)),TRUNC((ROW()-ROW($R$1))/ROWS($A$1:$A$6)),1,1),"")
Bu yorum sitedeki moderatör tarafından en aza indirildi
Lanet olsun, şimdi çalışmıyor! Yeni bir sekmede denendi, ancak şimdi orijinal satır içeriği yerine sütun içeriklerini bir arada istiflemeye geri döndü.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Sonuncusunu iptal edin, kesme adımını kaçırdınız.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu soruyu çok uzun zaman önce yanıtladığınızı biliyorum, ancak lütfen bu işlevin her bir bölümünün tam olarak ne yaptığını açıklayabilir misiniz?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Belki bu eğitim size yardımcı olabilir.https://www.extendoffice.com/documents/excel/3327-excel-convert-multiple-rows-to-columns.html
Bu yorum sitedeki moderatör tarafından en aza indirildi
bu sadece ödeme yapan bir yazılım indirmeniz için bir tıklama tuzağıdır
Bu yorum sitedeki moderatör tarafından en aza indirildi
İlk indirme 60 gün içinde ücretsiz olacak, bundan sonra kullanım için ödeme yapıp yapmamaya karar verebilirsiniz.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, yukarıdaki verileri aşağıdaki forma dönüştürmek için herhangi bir şey var mı?
1
A
Lilly
2
B
Judy
...
Bu yorum sitedeki moderatör tarafından en aza indirildi
Ayrılan mesajınız için teşekkürler, bu eğitici https://www.extendoffice.com/documents/excel/5401-excel-stack-columns-into-one-column.html
Bu sorunun nasıl çözüleceğinden bahsediyor, görüntülemeye gidebilirsiniz.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Aynı satırda sona eren verilerim var, ancak bunların B sütunu verilerinin A sütunu verilerinin altına gideceği bir sırada yığılmalarını istediğim birden çok sütun var, burada verilerin A sütunu ve C sütunu verilerinin A sütunu verilerinin altına girmesi için bitiyor B sütunundaki verilerin bittiği yer vb. Bu şekilde, bir sütuna sığdırmak için birden çok sütundan veri alacağım. Bunu nasıl yapabilirim?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, formülün verilerinizin içerebileceği boş hücreleri yok saymasını sağlamanın bir yolu var mı?


=INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1),


Bir veri doğrulama açılır listesi için bitişik bir liste oluşturmak üzere bir yardımcı sayfa kullanıyorum. Şimdiden teşekkürler.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Üzgünüm, formülde iyi değilim, belki de Kutools for Excel'in Boş olmayan hücreleri seç yardımcı programını kullanmayı deneyebilir ve önce boş hücreleri seçip kopyalayıp başka bir yere yapıştırabilir, ardından yukarıdaki yöntemleri kullanabilirsiniz.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, bununla bir adım daha ileri gitmek istiyorum. VBA, kod ile Birden Çok Sütunu Bir Arada Yığın kullandım ve bu işe yarıyor. Bu kodla kaynak olarak Tabloları kullandım ve listeyi alıyorum. Makroyu çalıştırmayı otomatikleştirmenin bir yolu var mı? Böylece tabloya yeni bir girdi eklediğimde Makro otomatik olarak çalışır ve çıkan listeyi güncel tutar mı?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, Chris Blackburn, üzgünüm, bir kod bulamıyorum, sonucu güncellemek için otomatik olarak çalışabilir, belki başka biri yapabilir.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bunu çok büyük bir tablo üzerinde yapmaya çalışıyorum (hepsi formüllere bağlı 100'lerce sütun ve satır. Excel'im yüklenmeye devam edecek ve sonunda yanıt vermiyor. Bunu aşmanın bir yolu var mı? Teşekkürler.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Tom, uyguladığın yöntem işe yaramıyor mu? Üçüncü yöntem, dönüşüm aralığı aracının çalışması gerekir.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Çoklu Sütunları Formülle Bir Araya Yığınla yöntemini kullanıyorum ve mükemmel çalıştı, ancak biçimlendirmeyi korumasını istiyorum, yani bazı sütunlar kalındı ​​ve 1'i köprülerdi. Bunun gerçekleşmesi için formüle eklenebilecek bir şey var mı?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Susan Milard, formülleri ihtiyacınızı karşılayabilir, VBA veya Transpose Range aracını kullanabilirsiniz, ikisi de sizi tatmin edebilir.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Çok teşekkür ederim, formül seçeneği çok iyi çalıştı.. çok zamanımı kurtardın.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Formül ve VBA için teşekkürler, ancak hiçbiri yazının başlığının söylediğini yapmıyor. Sütunları yığmalarını bekliyordum, ama bunun yerine her satırı bir sütuna aktarıyorlar ve bunları yığıyorlar... Bazı durumlar için hala çok yararlı, ancak sütunları gerçekten istiflemek için formülü ve/veya VBA'yı nasıl değiştireceğini bilen var mı? Sanırım tüm giriş aralığını transpoze edip sonra bunları kullanabilirim ...
Bu yorum sitedeki moderatör tarafından en aza indirildi
Sütunları tek bir sütunda değil, tek bir sütunda yığmak isteyenler için, gerçekten ne yapmak istediğinize dair net bir resme sahip olmanız gerekir. Diyelim ki 3x3'lük bir diziniz var, index() işlevinizin girişler şeklinde girişler almasını istiyorsunuz. (satır,sütun) için (1,1), (2,1), (3,1), sonra (1,2), (2,2), (3,2), sonra böyle devam edin. yapılması gereken, index()'in tüm satır numaralarını (1;2;3;1;2;3;1;2;3) ve tüm sütun numaralarını (1;1) içeren tek bir sütunu içeren tek bir sütuna atıfta bulunmasıdır. ;1;2;2;2;3;3;3). (1;2;3;1;2;3;1;2;3) almak için yaygın bir programlama yaklaşımı 1+mod(some_counter) kullanmaktır. -1,3) burada mod() işlevi 0,1,2,0,1,2,... artıkları verir.
(1;1;1;2;2;2;3;3;3) almak için 1+int((some_counter-1)/3) kullanılır, burada 1+0, 1+0, 1+0 verir , 1+1, 1+1, 1+1, 1+2, 1+2, 1+2
Bu nedenle, 3x3'lük bir diziyi tek bir dizide toplamak için şu formülü kullanırsınız (Ctrl +Shft + Enter tuşlarına basın):=index( $A$1:$C$3, 1+mod(row(A1)-1,3), 1 +int((row(A1)-1)/3)))burada satır(A1), formülünüzü aşağıya doğru doldururken sayaç görevi görür
Bunu tersinden koyarsanız (sıradan sütuna, sütundan satıra), satırları tek bir sütunda toplarsınız=INDEX( $A$1:$C$3, 1+INT((ROW(A1)-1)/ 3),1+MOD(ROW(A1)-1,3)) bu makaledeki formülün esasen yaptığı şeydir

Özetle, bir dizideki sütunları tek bir sütunda yığmak için kullanılan formül şöyle olacaktır:=index( your_array_cells , 1+mod(row(A1)-1, number_of_rows_of_your_array ), 1+int((row(A1)-1) )/ number_of_columns_of_your_array)))
Buraya henüz hiç yorum yapılmamış
Lütfen yorum yazın
Misafir olarak yayınlama
×
Bu gönderiyi değerlendirin:
0   Karakterler
Önerilen Konumlar

Bizi takip et

Telif Hakkı © 2009 - www.extendoffice.com. | Tüm hakları Saklıdır. Tarafından desteklenmektedir ExtendOffice. | | | Site Haritası
Microsoft ve Office logosu, Microsoft Corporation'ın Amerika Birleşik Devletleri ve / veya diğer ülkelerdeki ticari markaları veya tescilli ticari markalarıdır.
Sectigo SSL ile korunmaktadır