Note: The other languages of the website are Google-translated. Back to English
Увійти  \/ 
x
or
x
Реєстрація  \/ 
x

or

Як розділити довгий список на рівні групи в Excel?

doc розділити список на групи 4

Якщо у вас є довгий список даних, який потрібно розділити на кілька рівних груп, як показано на наступному знімку екрана, як би ви могли швидко та легко впоратися з цим завданням в Excel?

Розділіть довгий список на кілька рівних груп за допомогою коду VBA

Розділіть довгий список на кілька рівних груп за допомогою Kutools для Excel


За винятком копіювання та вставки даних по черзі, наступний код VBA також може зробити вам послугу, будь ласка, виконайте такі дії:

1. Утримуйте клавішу ALT + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.

2. Клацання Insert > Модуліта вставте наступний код у Модулі Вікно

Код VBA: Розбийте довгий список на кілька рівних груп

Sub SplitIntoCellsPerColumn()
'updateby Extendoffice
    Dim xRg As Range
    Dim xOutRg As Range
    Dim xCell As Range
    Dim xTxt As String
    Dim xOutArr As Variant
    Dim I As Long, K As Long
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
Sel:
    Set xRg = Nothing
    Set xRg = Application.InputBox("please select data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    If xRg.Areas.Count > 1 Then
        MsgBox "does not support multiple selections, please select again", vbInformation, "Kutools for Excel"
        GoTo Sel
    End If
    If xRg.Columns.Count > 1 Then
        MsgBox "does not support multiple columns,please select again", vbInformation, "Kutools for Excel"
        GoTo Sel
    End If
    Set xOutRg = Application.InputBox("please select a cell to put the result:", "Kutools for Excel", , , , , , 8)
    If xOutRg Is Nothing Then Exit Sub
    I = Application.InputBox("the number of cell per column:", "Kutools for Excel", , , , , , 1)
    If I < 1 Then
        MsgBox "incorrect enter", vbInformation, "Kutools for Excel"
        Exit Sub
    End If
    ReDim xOutArr(1 To I, 1 To Int(xRg.Rows.Count / I) + 1)
    For K = 0 To xRg.Rows.Count - 1
      xOutArr(1 + (K Mod I), 1 + Int(K / I)) = xRg.Cells(K + 1)
    Next
    xOutRg.Range("A1").Resize(I, UBound(xOutArr, 2)) = xOutArr
End Sub

3. Потім натисніть F5 клавішу для запуску цього коду, і у спливаючому вікні виберіть стовпець, який потрібно розділити на кілька груп, див. знімок екрана:

doc розділити список на групи 1

4, І натисніть OK , а потім виберіть клітинку, де ви хочете знайти результат, у наступному вікні запиту, див. знімок екрана:

doc розділити список на групи 2

5. Клацання OKі, будь ласка, введіть кількість клітинок, які ви хочете розділити на стовпець, у вікні запиту, див. знімок екрана:

doc розділити список на групи 3

6. Нарешті, клацніть OK щоб закінчити код, а вибрані дані списку були розділені на кілька рівних груп, як вам потрібно, див. знімок екрана:

doc розділити список на групи 4


Якщо ви встановили Kutools для Excel, З його Діапазон трансформації функцію, ви можете швидко розділити довгий список на кілька стовпців і рядків, крім того, ви також можете об'єднати кілька стовпців в один довгий список.

Kutools для Excel : з більш ніж 300 зручними надбудовами Excel, які можна спробувати без обмежень протягом 30 днів. 

після установки Kutools для Excel, будь ласка, виконайте наступне:

1. Виберіть довгий список, який потрібно розділити, а потім клацніть Кутулс > Діапазон > Діапазон трансформації, див. скріншот:

2, в Діапазон трансформації діалогове вікно, виберіть Один стовпець для діапазону під Тип перетворення розділ, а потім перевірте Фіксована вартість і вкажіть кількість клітинок на рядок у полі, див. знімок екрана:

doc розділити список на групи 7

3. Потім натисніть Okі виберіть клітинку, де ви хочете знайти результат, у вікні запиту, див. знімок екрана:

doc розділити список на групи 8

4. І клацніть OK Кнопка, дані в списку були розділені на кілька рівних груп, як вам потрібно.

Завантажте та безкоштовну пробну версію Kutools для Excel зараз!


Kutools для Excel: з більш ніж 300 зручними надбудовами Excel, спробуйте безкоштовно без обмежень протягом 30 днів. Завантажте та безкоштовно пробну версію зараз!

Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Say something here...
symbols left.
You are guest
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.
    tpdixon · 1 years ago
    the code works great for me. How do I change it from asking how many in each colum to how many columns needed? so that it equally divides the information into a set number of columns.
    • To post as a guest, your comment is unpublished.
      skyyang · 1 years ago
      Hello, trinetta,
      May be the following article can help you, in that article, there are some formulas may meet your need. Please check it:
      https://www.extendoffice.com/documents/excel/681-excel-change-columns-to-rows.html
      • To post as a guest, your comment is unpublished.
        Tpdixon · 1 years ago
        The link only tells me how to do the same thing. It doesnt tell me how to tell the code or formula how many columns i need...just how many in each column.
        • To post as a guest, your comment is unpublished.
          skyyang · 1 years ago
          Hi, Tpdixon,
          In that article, the formula: =OFFSET($A$1,COLUMNS($A1:A1)-1+(ROWS($1:1)-1)*5 can help you to split the list into mulitiple columns, you just need to change the number 5 to other number you need, it represents the column number.
          After entering this formula, you should drag the fill handle acrross to right with 5 cells.
          Please try, thank you!
  • To post as a guest, your comment is unpublished.
    Tdix1 · 1 years ago
    how can I change it from the number of cells per column to the number of columns needed. so that the data is split up evenly amongst a number of columns instead of picking how many to have in each column?
  • To post as a guest, your comment is unpublished.
    attom93 · 2 years ago
    I copied the code and Excel 365 says syntax error.
  • To post as a guest, your comment is unpublished.
    LM · 3 years ago
    This comes in very handy! One question: In the VBA code how can I transpose the output? So instead of xRg.Rows.Count / I = number of colums output, the output is generated as xRg.Rows.Count / I = number of rows output with I being the number of columns per row.