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