Як перенести рядки в стовпці на основі критеріїв в Excel (2 способи)

  • Поділитися Цим
Hugh West

Загалом, на сьогоднішній день в Україні діє ТРАНСПОРТ часто використовується для перетворення рядків у стовпці. При цьому результати, що залежать від певних критеріїв, наприклад, унікальних значень, повертатися не будуть. У цьому уроці ми покажемо вам, як переносити рядки в стовпці на основі критеріїв в Excel.

Завантажити Практичний посібник

Завантажте цей практичний посібник, щоб потренуватися, поки ви читаєте цю статтю.

Перенесення рядків у стовпці з критеріями.xlsm

2 зручних підходи до перенесення рядків у стовпці на основі критеріїв в Excel

Ми включили набір даних про декілька продуктів та їх кількість на рисунку нижче. Після цього рядки будуть переставлені в стовпці. Ми будемо перенести рядки в стовпці на основі критеріїв унікальних значень, тому що в окремій комірці є деякі записи, що повторюються. Спочатку ми використаємо функцію ІНДЕКС , МАТЧ , COUNTIF , ЯКЩО і ПОМИЛКА функції для створення формул. Ми також виконаємо VBA код для досягнення тієї ж мети.

1. застосування формули з функціями ІНДЕКС, СРЗНАЧ, СЧЕТЕСЛИ для перенесення рядків у стовпці на основі критеріїв в Excel

На початку застосуємо формули ІНДЕКС , МАТЧ , COUNTIF , ЯКЩО і ПОМИЛКА функції з масивами.

Крок 1: Вставте функції INDEX, MATCH і COUNTIF

  • У камері E5 введіть наступну формулу, щоб отримати унікальні продукти.
=INDEX($B$5:$B$12, MATCH(0, COUNTIF($E$4:$E4, $B$5:$B$12), 0))

Крок 2: Застосування масиву

  • Щоб застосувати формулу з масивом, натисніть Ctrl + Зміна + Увійдіть

  • Тому ви отримаєте перший унікальний результат.

Крок 3: Автоматичне заповнення комірок

  • Щоб отримати всі унікальні значення, використовуйте Автозаповнення Обробити інструмент для автоматичного заповнення стовпця.

Крок 4: Введення функцій IFERROR

  • Для того, щоб перенести значення рядків величин у стовпці, запишіть наступну формулу.
=IFERROR(INDEX($C$5:$C$12, MATCH(0, COUNTIF($E5:E5, $C$5:$C$12) + IF($B$5:$B$12$E5,1,0),0)),0)

Крок 5: Застосування масиву

  • Щоб вставити масив, натисніть Ctrl + Зміна + Увійдіть .

  • Як наслідок, клітина F5 покаже перше транспоноване значення, як на зображенні нижче.

  • Перетягніть вниз за допомогою Інструмент з ручкою для автоматичного заповнення для автозаповнення стовпчика.

  • Нарешті, автоматично заповніть рядки за допомогою Інструмент з ручкою для автоматичного заповнення .
  • Таким чином, всі перенесені рядки перетворяться на стовпчики, як на зображенні нижче.

Читати далі: Перенесення декількох рядків у групі в стовпці в Excel

Схожі читання

  • Як перенести дублікати рядків у стовпці в Excel (4 способи)
  • Excel VBA: Перенесення декількох рядків у групі в стовпці
  • Перенесення декількох стовпців в один стовпець в Excel (3 зручних способи)
  • Як зробити зворотне перенесення в Excel (3 простих способи)

2. Виконання коду VBA для перенесення рядків у стовпці на основі критеріїв в Excel

Крок 1: Створення модуля

  • По-перше, натисніть Alt + F11 для початку Макрос VBA .
  • Натисніть на Вставка .
  • Для створення Модуль виберіть пункт Модуль варіант.

Крок 2: Введіть коди VBA

  • Вставте наступне VBA
 Sub TransposeRows() 'Визначити змінні Dim RowsNumber As Long Dim p As Long Dim xColCr As String Dim xColumn As New Collection Dim InputRng As Range Dim OutputRng As Range Dim RngText As String Dim CountRow As Long Dim xRowRg As Range On Error Resume Next 'Встановити значення та поле вводу для діапазону вводу RngText = ActiveWindow.RangeSelection.Address Set InputRng = Application.InputBox("Select Your InputДіапазон для 2 стовпців:", "ExcelWIKI", RngText, , , , , 8) Set InputRng = Application.Intersect(InputRng, InputRng.Worksheet.UsedRange) 'Застосувати умову для підрахунку тільки 2 стовпців і вивести msgBox для оповіщення про вибір тільки двох стовпців If InputRng Is Nothing Then Exit Sub If (InputRng.Columns.Count 2) Or _ (InputRng.Areas.Count> 1) Then MsgBox "У вказаному діапазоні знаходиться тільки область для 2 стовпців ",, "ExcelWIKI" Exit Sub End If 'Встановити значення та поле введення для діапазону введення Set OutputRng = Application.InputBox("Виберіть діапазон введення (одна комірка):", "ExcelWIKI", RngText, , , , , 8) If OutputRng Is Nothing Then Exit Sub Set OutputRng = OutputRng.Range(1) 'Підрахунок рядків RowsNumber = InputRng.Rows.Count 'Застосувати цикл For For p = 2 To RowsNumber xColumn.Add InputRng.Cells(p, 1).Value, InputRng.Cells(p,1).Value Next Application.ScreenUpdating = False For p = 1 To xColumn.Count xColCr = xColumn.Item(p) OutputRng.Offset(p, 0) = xColCr InputRng.AutoFilter Field:=1, Criteria1:=xColCr Set xRowRg = InputRng.Range("B2:B" & RowsNumber).SpecialCells(xlCellTypeVisible) If xRowRg.Count> CountRow Then CountRow = xRowRg.Count 'Копіювати та вставити з транспонуванням InputRng.Range("B2:B" &RowsNumber).SpecialCells(xlCellTypeVisible).Copy OutputRng.Offset(p, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True Application.CutCopyMode = False Next OutputRng = InputRng.Cells(1, 1) OutputRng.Offset(0, 1).Resize(1, CountRow) = InputRng.Cells(1, 2) InputRng.Rows(1).Copy OutputRng.Resize(1, CountRow + 1).PasteSpecialPaste:=xlPasteFormatsInputRng.AutoFilter Application.ScreenUpdating = True End Sub 

Крок 3: Запустіть програму

  • По-перше, заощаджувати і натисніть F5 для запуску програми.
  • Виберіть свій набір даних із заголовком.
  • Натисніть на ГАРАЗД. .

  • Виберіть комірку, щоб отримати вихід
  • Потім натисніть на кнопку ГАРАЗД. .

  • В результаті Ви отримаєте результати, які будуть переставлені рядками в стовпці, як показано на малюнку нижче.

Читати далі: Як перенести рядки в стовпці за допомогою Excel VBA (4 ідеальних приклади)

Висновок

Я сподіваюся, що ця стаття дала вам навчальний посібник про те, як переносити рядки в стовпці на основі критеріїв в Excel Всі ці процедури слід вивчити і застосувати до вашого набору даних. Погляньте на практичний посібник і перевірте ці навички на практиці. Ми мотивовані продовжувати створювати подібні посібники завдяки вашій цінній підтримці.

Якщо у Вас виникли питання - не соромтеся задавати їх нам. Також не соромтеся залишати коментарі в розділі нижче.

Ми, представники Ексельдемія Team, завжди оперативно реагують на ваші запити.

Залишайтеся з нами і продовжуйте вчитися.

Г’ю Вест — досвідчений тренер і аналітик Excel із понад 10-річним досвідом роботи в галузі. Він має ступінь бакалавра з бухгалтерського обліку та фінансів і ступінь магістра з ділового адміністрування. Г’ю має пристрасть до викладання та розробив унікальний підхід до викладання, який легко зрозуміти та дотримуватися. Його експертне знання Excel допомогло тисячам студентів і професіоналів у всьому світі вдосконалити свої навички та досягти успіху в кар’єрі. У своєму блозі Г’ю ділиться своїми знаннями зі світом, пропонуючи безкоштовні навчальні посібники з Excel та онлайн-навчання, щоб допомогти окремим особам і компаніям повністю розкрити свій потенціал.