Petua: Bahasa lain diterjemahkan Google. Anda boleh melawat English versi pautan ini.
Log masuk
x
or
x
x
Daftar Sekarang
x

or

Bagaimana dengan cepat menumpuk beberapa lajur ke dalam satu lajur dalam Excel?

dalam Excel, fungsi Teks ke lajur boleh membahagikan sel ke beberapa lajur berdasarkan pembatas, tetapi jika terdapat sebarang cara untuk menyusun berbilang lajur ke dalam satu lajur seperti di bawah tangkapan skrin yang ditunjukkan? Dalam artikel ini, saya akan memperkenalkan beberapa cara untuk menyelesaikan tugas ini dengan cepat.
lajur stack doc ke satu 1

Tumpukan beberapa lajur ke dalam satu dengan formula

Tumpukan beberapa lajur ke dalam satu dengan VBA

Tumpukan beberapa lajur ke dalam satu dengan Range Transform idea yang baik3


Tumpukan beberapa lajur ke dalam satu dengan formula


1. Pilih julat yang anda hendak tumpukan, dan pergi ke Kotak Nama untuk memberikan nama ini, dan tekan Masukkan kunci. Lihat tangkapan skrin:
lajur stack doc ke satu 2

2. Kemudian pilih sel kosong yang anda mahu letakkan hasilnya, masukkan formula ini =INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1), tekan itikr kunci dan seret mengisi pemegang sehingga ralat dipaparkan. Lihat tangkapan skrin:
lajur stack doc ke satu 3

Dalam formula, MyData adalah nama pelbagai yang telah anda tentukan dalam langkah 1.

Tumpukan beberapa lajur ke dalam satu dengan VBA

Berikut adalah kod VBA yang boleh membantu anda juga.

1. Akhbar Alt + F11 kunci untuk dipaparkan Microsoft Visual Basic untuk Aplikasi tingkap.

2. klik Memasukkan > Modul, tampal di bawah kod ke Modul.

VBA: Lajur lajur ke satu

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

lajur stack doc ke satu 4

3. Akhbar F5 kunci untuk menjalankan kod, muncul dialog untuk memilih data sumber, dan klik OK, untuk memilih sel untuk meletakkan hasilnya. Lihat tangkapan skrin:
lajur stack doc ke satu 5

4. klik OK. Sekarang lajur telah disusun dalam satu lajur.
lajur stack doc ke satu 6


Tumpukan beberapa lajur ke dalam satu dengan Range Transform

Untuk memohon Kutools untuk Excel'S Julat Transform Utiliti juga dapat membantu anda dengan cepat menyelesaikan masalah ini.

Kutools untuk Excel, dengan lebih daripada 300 fungsi yang berguna, menjadikan pekerjaan anda lebih mudah.

Selepas memasang Kutools untuk Excel, sila lakukan seperti di bawah:(Muat turun Percuma Kutools untuk Excel Sekarang!)

Selepas memasang Kutools untuk Excel, sila lakukan seperti di bawah :(Muat turun Percuma Kutools untuk Excel Sekarang!)

1. Pilih data lajur yang anda gunakan, dan klik Kutools > Pertengahan > Julat Transform. Lihat tangkapan skrin:
lajur stack doc ke satu 8

2. Di dalam Julat Transform dialog, periksa Julat kepada lajur tunggal pilihan, dan klik Ok, kemudian pilih sel untuk meletakkan hasil. Lihat tangkapan skrin:
lajur stack doc ke satu 9

3. klik OK. Sekarang lajur telah disusun dalam satu lajur tunggal.
lajur stack doc ke satu 1



Cadangan Alat Produktiviti untuk Excel

Kutools untuk Excel Membantu Anda Selalu Menyelesaikan Kerja di Hadapan Masa, dan Berdiri Daripada Orang

  • Lebih daripada ciri-ciri canggih 300 yang canggih, yang direka untuk senario kerja 1500, meningkatkan produktiviti oleh 70%, memberi anda lebih banyak masa untuk menjaga keluarga dan menikmati kehidupan.
  • Tidak perlu lagi menghafal formula dan kod VBA, berikan rehat dari otak anda sekarang.
  • Menjadi pakar Excel dalam minit 3, Operasi yang rumit dan berulang boleh dilakukan dalam beberapa saat,
  • Mengurangkan beribu-ribu operasi papan kekunci & tetikus setiap hari, mengucapkan selamat tinggal kepada penyakit pekerjaan sekarang.
  • 110,000 orang yang sangat berkesan dan pilihan syarikat 300 + yang terkenal di dunia.
  • Ciri-ciri penuh 60-hari adalah percubaan percuma. Jaminan wang balik 60 hari. Tahun 2 peningkatan dan sokongan percuma.

Membawa Browsing Tab dan Editing ke Microsoft Office, Jauh Lebih Berkuasa Daripada Tab Penyemak Imbas

  • Tab Pejabat direka untuk Aplikasi Pejabat Word, Excel, PowerPoint dan Lain-lain: Penerbit, Akses, Visio dan Projek.
  • Buka dan buat beberapa dokumen dalam tab baharu pada tetingkap yang sama, dan bukannya dalam tetingkap baru.
  • Meningkatkan produktiviti anda oleh 50%, dan mengurangkan beratus-ratus klik tetikus untuk anda setiap hari!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    badusha · 1 years ago
    Hello , is there any to convert above data to following form ??
    1
    A
    Lilly
    2
    B
    Judy
    ...
  • To post as a guest, your comment is unpublished.
    John Smith · 1 years ago
    this is just a clickbait to have you download a paying software
    • To post as a guest, your comment is unpublished.
      Sunny · 10 months ago
      The first download will be free to use in 60 days, after that, you can decide to pay for use or not.
  • To post as a guest, your comment is unpublished.
    Jon · 1 years ago
    you are stacking multiple rows into one column, not multiple columns... not what I was looking for.
    • To post as a guest, your comment is unpublished.
    • To post as a guest, your comment is unpublished.
      Phil · 1 years ago
      To stack columns A-P that are in blocks of 6 rows put this formulae in cell R1 and fill down

      =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)
      • To post as a guest, your comment is unpublished.
        Miguel · 11 months ago
        Cancel that last one, missed the truncate step.
      • To post as a guest, your comment is unpublished.
        Miguel · 11 months ago
        Dang, now it doesn’t work! Tried on a new tab but it’s now back to stacking column contents in one in stead of originally row content.
      • To post as a guest, your comment is unpublished.
        Miguel · 11 months ago
        Thank you for posting this solution! In case anyone needs a space after/at the end of each block, just add an additional count to the rows, so going by the example above, instead of $A$6, write $A$7. It inputs a zero ‘0’ to the row but you can easily ‘Use selection for Find’ in Sublime to edit them out. If you know the solution which doesn’t add a zero, please post!?
        • To post as a guest, your comment is unpublished.
          Timkil · 7 months ago
          to output a blank cell instead of 0, do an IF function>0, TRUE-->output the original cell content, FALSE-->output ""

          =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),"")
      • To post as a guest, your comment is unpublished.
        Fish · 1 years ago
        This works perfect, thanks
G|translate Your license is inactive or expired, please subscribe again!